Trouble running Findbugs

367 views
Skip to first unread message

Nig

unread,
Jun 29, 2011, 7:39:54 AM6/29/11
to Jenkins Users
Hi,

I'm running findbugs on Linux using the following:
HOME=/a/path/to/findbugs-1.3.9
$HOME/bin/findbugs -textui -home $HOME -effort:max -sourcepath
$directory -xml -output $directory/findbugs.xml $directory
Where, $directory contains an absolute path.

Some errors are logged during the run. For example:
The following errors occurred during analysis:
Invalid class resource COM/ibm/db2os390/sqlj/custom/
DB2SQLJCustomizer.class in /tmp/findbugs9057142813947684417.zip:COM/
ibm/db2os390/sqlj/custom/DB2SQLJCustomizer.class
edu.umd.cs.findbugs.classfile.InvalidClassFileFormatException:
Classfile header isn't 0xCAFEBABE in /tmp/
findbugs9057142813947684417.zip:COM/ibm/db2os390/sqlj/custom/
DB2SQLJCustomizer.class
At
edu.umd.cs.findbugs.classfile.engine.ClassParser.parse(ClassParser.java:
89)
At
edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.parseClassName(ClassPathBuilder.java:
669)
At
edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.scanCodebase(ClassPathBuilder.java:
632)
At
edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.processWorkList(ClassPathBuilder.java:
576)
At
edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.build(ClassPathBuilder.java:
195)
At edu.umd.cs.findbugs.FindBugs2.buildClassPath(FindBugs2.java:
584)
At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:181)
At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:348)
At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1057)

Also, I get a error using the plugin when drilling down on a file:
01 Copying the source file 'COM/ibm/db2/app/DB2Struct.java' from the
workspace to the build folder '/root/.hudson/jobs/iface static
analysis/builds/2011-06-29_11-45-10/workspace-files/3047fc19.tmp' on
the Hudson master failed.
02 Seems that the path is relative, however an absolute path is
required when copying the sources.
03 Is the file 'DB2Struct.java' contained more than once in your
workspace?
04 Is the file 'COM/ibm/db2/app/DB2Struct.java' a valid filename?
05 If you are building on a slave: please check if the file is
accessible under '$HUDSON_HOME/[job-name]/COM/ibm/db2/app/
DB2Struct.java'
06 If you are building on the master: please check if the file is
accessible under '$HUDSON_HOME/[job-name]/workspace/COM/ibm/db2/app/
DB2Struct.java'
07 hudson.util.IOException2: remote file operation failed: COM/ibm/db2/
app/DB2Struct.java at hudson.remoting.Channel@18b0fd:lnxtst97
08 at hudson.FilePath.act(FilePath.java:754)
09 at hudson.FilePath.act(FilePath.java:740)
10 at hudson.FilePath.copyTo(FilePath.java:1409)
11 at
hudson.plugins.analysis.core.HealthAwarePublisher.copyFilesWithAnnotationsToBuildFolder(HealthAwarePublisher.java:
354)
12 at
hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:
316)
13 at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:
27)
14 at hudson.model.AbstractBuild
$AbstractRunner.perform(AbstractBuild.java:662)
15 at hudson.model.AbstractBuild
$AbstractRunner.performAllBuildSteps(AbstractBuild.java:638)
16 at hudson.model.AbstractBuild
$AbstractRunner.performAllBuildSteps(AbstractBuild.java:616)
17 at hudson.model.Build$RunnerImpl.post2(Build.java:161)
18 at hudson.model.AbstractBuild
$AbstractRunner.post(AbstractBuild.java:585)
19 at hudson.model.Run.run(Run.java:1398)
20 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
21 at
hudson.model.ResourceController.execute(ResourceController.java:88)
22 at hudson.model.Executor.run(Executor.java:145)
23 Caused by: java.io.FileNotFoundException: COM/ibm/db2/app/
DB2Struct.java (No such file or directory)
24 at java.io.FileInputStream.open(Native Method)
25 at java.io.FileInputStream.<init>(Unknown Source)
26 at hudson.FilePath$30.invoke(FilePath.java:1413)
27 at hudson.FilePath$30.invoke(FilePath.java:1409)
28 at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1979)
29 at hudson.remoting.UserRequest.perform(UserRequest.java:118)
30 at hudson.remoting.UserRequest.perform(UserRequest.java:48)
31 at hudson.remoting.Request$2.run(Request.java:270)
32 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown
Source)
33 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
34 at java.util.concurrent.FutureTask.run(Unknown Source)
35 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
36 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
37 at hudson.remoting.Engine$1$1.run(Engine.java:60)
38 at java.lang.Thread.run(Unknown Source)

I'm not familiar with DB2SQLJCustomizer.class or DB2Struct.java and
can't find them on disk.

Not sure if it's something I'm doing wrong ?

Thanks !

Ullrich Hafner

unread,
Jun 29, 2011, 7:47:25 AM6/29/11
to jenkins...@googlegroups.com
Seems that you are also checking some IBM classes contained in a zip
file. These classes do not have sources so my plug-in does not find them.

The best way would be to add a findbugs filter to ignore those classes,
see: http://findbugs.sourceforge.net/manual/filter.html

Ulli

Nig

unread,
Jun 30, 2011, 9:38:16 AM6/30/11
to Jenkins Users
I couldn't find any zip files with IBM classes but I added the
filtering and it now works fine.

Many thanks Ulli !
> > edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.parseClassName(ClassPat­hBuilder.java:
> > 669)
> >        At
> > edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.scanCodebase(ClassPathB­uilder.java:
> > 632)
> >        At
> > edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.processWorkList(ClassPa­thBuilder.java:
> > 576)
> >        At
> > edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.build(ClassPathBuilder.­java:
> > hudson.plugins.analysis.core.HealthAwarePublisher.copyFilesWithAnnotationsT­oBuildFolder(HealthAwarePublisher.java:
> > 354)
> > 12   at
> > hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublis­her.java:
> > Thanks !- Hide quoted text -
>
> - Show quoted text -
Reply all
Reply to author
Forward
0 new messages