Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configurable suppression of stack trace #266

Closed
chriswhite199 opened this issue May 20, 2020 · 4 comments
Closed

Configurable suppression of stack trace #266

chriswhite199 opened this issue May 20, 2020 · 4 comments

Comments

@chriswhite199
Copy link
Contributor

When ignoreFailues = true, you still get a full stack trace in the gradle output, care of these lines in https://github.com/spotbugs/spotbugs-gradle-plugin/blob/4.2.1/src/main/groovy/com/github/spotbugs/snom/internal/SpotBugsRunnerForWorker.java#L107

        if (params.getIgnoreFailures().getOrElse(Boolean.FALSE).booleanValue()) {
          log.warn("SpotBugs reported failures", e);
        } else {
          throw e;
        }

Would it be possible for the stacktrace to be omitted via another option, say stackTraces = false

chriswhite199 added a commit to chriswhite199/spotbugs-gradle-plugin that referenced this issue May 28, 2020
chriswhite199 added a commit to chriswhite199/spotbugs-gradle-plugin that referenced this issue May 28, 2020
chriswhite199 added a commit to chriswhite199/spotbugs-gradle-plugin that referenced this issue May 28, 2020
@mduft
Copy link

mduft commented Jun 3, 2020

Yes please :D The stacktraces are gobbling our output since we last updated the plugin. First I actually tried to fix the problems, but came to the point where only issues in compiler generated bytecode were left (bug in spotbugs itself, it seems), and those stacktraces are really ugly...

KengoTODA pushed a commit that referenced this issue Jun 18, 2020
* feat: allow stack trace suppression (#266)

* feat: addressed review comments
@KengoTODA
Copy link
Member

closed by #275

@ctmay4
Copy link

ctmay4 commented Jun 22, 2020

I was so excited when I saw this but it doesn't help the issue I'm having. Only in parallel builds, but these errors are happening a ton in my builds. Should this have been suppressed also?

Settings:

    spotbugs {
        ignoreFailures = true
        showStackTraces = false
        excludeFilter = rootProject.file("config/spotbugs/spotbugs-exclude.xml")
    }

Log:

 The following errors occurred during analysis:
   Error processing2 < Z, signed_byte, true, return value from java.lang.Boolean.booleanValue()Z, r3 >iand< Z, return value from com.imsweb.seerdms.app.autobuild.AutoBuildUtils.compareFieldValues(Ljava/lang/Object;Ljava/lang/Object;)Z > @ 55 in com.imsweb.seerdms.app.autobuild.AutoBuildUtils.compareTxs : (Lcom.imsweb.seerdms.shared.entity.TreatmentProcedure;Lcom.imsweb.seerdms.shared.entity.TreatmentProcedure;)Z
     java.lang.IllegalArgumentException: true
       At edu.umd.cs.findbugs.OpcodeStack.constantToInt(OpcodeStack.java:2197)
       At edu.umd.cs.findbugs.OpcodeStack.pushByIntMath(OpcodeStack.java:3315)
       At edu.umd.cs.findbugs.OpcodeStack.sawOpcode(OpcodeStack.java:1873)
       At edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory$JumpStackComputation.sawOpcode(OpcodeStack.java:2898)
       At edu.umd.cs.findbugs.visitclass.DismantleBytecode.visit(DismantleBytecode.java:878)
       At edu.umd.cs.findbugs.visitclass.BetterVisitor.visitCode(BetterVisitor.java:218)
       At edu.umd.cs.findbugs.visitclass.PreorderVisitor.visitCode(PreorderVisitor.java:243)
       At edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory$JumpStackComputation.visitCode(OpcodeStack.java:2884)
       At org.apache.bcel.classfile.Code.accept(Code.java:131)
       At edu.umd.cs.findbugs.visitclass.PreorderVisitor.doVisitMethod(PreorderVisitor.java:315)
       At edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory.computeJumpInfo(OpcodeStack.java:2928)
       At edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory.analyze(OpcodeStack.java:2857)
       At edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory.analyze(OpcodeStack.java:2840)
       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.OpcodeStack.getJumpInfo(OpcodeStack.java:3057)
       At edu.umd.cs.findbugs.OpcodeStack.resetForMethodEntry(OpcodeStack.java:3028)
       At edu.umd.cs.findbugs.bcel.OpcodeStackDetector.visitCode(OpcodeStackDetector.java:64)
       At org.apache.bcel.classfile.Code.accept(Code.java:131)
       At edu.umd.cs.findbugs.visitclass.PreorderVisitor.doVisitMethod(PreorderVisitor.java:315)
       At edu.umd.cs.findbugs.visitclass.PreorderVisitor.visitJavaClass(PreorderVisitor.java:397)
       At org.apache.bcel.classfile.JavaClass.accept(JavaClass.java:213)
       At edu.umd.cs.findbugs.BytecodeScanningDetector.visitClassContext(BytecodeScanningDetector.java:38)
       At edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:76)
       At edu.umd.cs.findbugs.FindBugs2.lambda$null$1(FindBugs2.java:1108)
       At java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
       At edu.umd.cs.findbugs.CurrentThreadExecutorService.execute(CurrentThreadExecutorService.java:86)
       At java.base/java.util.concurrent.AbstractExecutorService.invokeAll(AbstractExecutorService.java:242)
       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:96)
       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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       At java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       At java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       At java.base/java.lang.reflect.Method.invoke(Method.java:566)
       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.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
       At java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
       At org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
       At java.base/java.lang.Thread.run(Thread.java:834)

@jscancella
Copy link
Contributor

jscancella commented Jun 22, 2020

@ctmay4 please open a new issue and include which version of the plugin you are using

@spotbugs spotbugs locked as resolved and limited conversation to collaborators Jun 22, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants