JQF icon indicating copy to clipboard operation
JQF copied to clipboard

Maven plugin gets stack overflow error

Open reftel opened this issue 4 weeks ago • 3 comments

I´m writing a simple fuzz runner. To isolate the interesting parts of the application, the test uses some Mockito mocks. Starting the runner via maven using "jqf:fuzz" fails with the following stack trace (abbreviated):

Exception in thread "Logging-Cleaner" java.lang.StackOverflowError
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.remove(DoublyLinkedList.java:140)
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.synchronizedRemove(DoublyLinkedList.java:220)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:52)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:48)
	at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195)
	at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop.METHOD_BEGIN(SingleSnoop.java:1002)
	at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.isMock(MockMethodAdvice.java)
	at java.base/java.lang.Object.equals(Object.java:163)
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.remove(DoublyLinkedList.java:140)
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.synchronizedRemove(DoublyLinkedList.java:220)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:52)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:48)
	at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195)
	at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop.METHOD_BEGIN(SingleSnoop.java:1002)
	at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.isMock(MockMethodAdvice.java)

...

	at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.isMock(MockMethodAdvice.java)
	at java.base/java.lang.Object.equals(Object.java:163)
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.remove(DoublyLinkedList.java:140)
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.synchronizedRemove(DoublyLinkedList.java:220)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:52)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:48)
	at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195)
	at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop.METHOD_BEGIN(SingleSnoop.java:1002)
	at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.isMock(MockMethodAdvice.java)
	at java.base/java.lang.Object.equals(Object.java:163)
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.remove(DoublyLinkedList.java:140)
	at edu.berkeley.cs.jqf.instrument.util.DoublyLinkedList.synchronizedRemove(DoublyLinkedList.java:220)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:52)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop$1.initialValue(SingleSnoop.java:48)
	at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195)
	at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172)
	at edu.berkeley.cs.jqf.instrument.tracing.SingleSnoop.METHOD_BEGIN(SingleSnoop.java:1002)

reftel avatar Jun 18 '24 19:06 reftel