-
Notifications
You must be signed in to change notification settings - Fork 653
CFGBuilderException when assigning a long value in a constructor and running groovy 2.5.13 #1386
Copy link
Copy link
Closed
Description
When running groovy 2.5.13, I receive the following exception when running spotbugsMain on a Class which assigns a long value in its constructor:
Detector edu.umd.cs.findbugs.detect.FindUnrelatedTypesInGenericContainer caught exception while analyzing TestClass.<init> : (J)V
edu.umd.cs.findbugs.ba.CFGBuilderException: Invalid stack at 27: lload[22](2) 5 when checking 32: putfield[181](3) 32
At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.isPEI(BetterCFGBuilder2.java:1032)
At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:914)
At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:777)
At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:94)
At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:65)
At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.analyzeMethod(AnalysisCache.java:368)
At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getMethodAnalysis(AnalysisCache.java:321)
At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysis(ClassContext.java:995)
At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysisNoDataflowAnalysisException(ClassContext.java:980)
At edu.umd.cs.findbugs.ba.ClassContext.getCFG(ClassContext.java:299)
At edu.umd.cs.findbugs.detect.FindUseOfNonSerializableValue.analyzeMethod(FindUseOfNonSerializableValue.java:143)
At edu.umd.cs.findbugs.detect.FindUseOfNonSerializableValue.visitClassContext(FindUseOfNonSerializableValue.java:95)
At edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:76)
At edu.umd.cs.findbugs.FindBugs2.lambda$null$1(FindBugs2.java:1108)
At java.util.concurrent.FutureTask.run(FutureTask.java:266)
At edu.umd.cs.findbugs.CurrentThreadExecutorService.execute(CurrentThreadExecutorService.java:86)
At java.util.concurrent.AbstractExecutorService.invokeAll(AbstractExecutorService.java:238)
At edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1118)
At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:309)
At com.github.spotbugs.snom.internal.SpotBugsRunnerForWorker$SpotBugsExecutor.execute(SpotBugsRunnerForWorker.java:97)
At org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
At org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:49)
At org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:43)
At org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
At org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:43)
At org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:49)
At org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:30)
At org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:85)
At org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:55)
At org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:138)
At org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
At org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:135)
At sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
At sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
At sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
At java.lang.reflect.Method.invoke(Method.java:498)
At org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
At org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
At org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
At org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
At org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
At org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
At org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
At java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
At java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
At org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
At java.lang.Thread.run(Thread.java:748)
The class in question:
class TestClass {
private final long foo
TestClass(long foo) {
this.foo = foo
}
}
To reproduce:
- Download the enclosed project: spotbugs-bug.zip
- Unzip
- Run
./execute-bug.sh
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels