Cpptest Plugin failed to link to job source code

51 views
Skip to first unread message

于兴红

unread,
May 5, 2014, 10:08:06 PM5/5/14
to jenkins...@googlegroups.com
hello,
I'm setting up a job to inspect our code using cpptest plugin, and seems depending on static code analysis plugin.
the parasoft's cpptest in the build environment works well, and Cpptest warnings are well collected too. but when we look into the warning details reported by plugins, which is a hyperlink to actual source code file. it shows:
01 Copying the source file '/ac_realinfo_srvd/ac_realinfo_srvd/ac_realinfo_data_proc.c' from the workspace to the build folder 'C:\.jenkins\jobs\wacap1.8_inspection\builds\2014-05-05_20-44-43\workspace-files\ef148ebb.tmp' on the Jenkins master failed.
02 Is the file '/ac_realinfo_srvd/ac_realinfo_srvd/ac_realinfo_data_proc.c' a valid filename?
03 If you are building on a slave: please check if the file is accessible under '$JENKINS_HOME/[job-name]//ac_realinfo_srvd/ac_realinfo_srvd/ac_realinfo_data_proc.c'
04 If you are building on the master: please check if the file is accessible under '$JENKINS_HOME/[job-name]/workspace//ac_realinfo_srvd/ac_realinfo_srvd/ac_realinfo_data_proc.c'
05 java.io.IOException: remote file operation failed: /ac_realinfo_srvd/ac_realinfo_srvd/ac_realinfo_data_proc.c at hudson.remoting.Channel@f9f7bc:compiler_1.75
06   at hudson.FilePath.act(FilePath.java:916)
07   at hudson.FilePath.act(FilePath.java:893)
08   at hudson.FilePath.copyTo(FilePath.java:1821)
09   at hudson.plugins.analysis.core.HealthAwareRecorder.copyFilesWithAnnotationsToBuildFolder(HealthAwareRecorder.java:398)
10   at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:165)
11   at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:333)
12   at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32)
13   at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:745)
14   at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:709)
15   at hudson.model.Build$BuildExecution.post2(Build.java:182)
16   at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:658)
17   at hudson.model.Run.execute(Run.java:1734)
18   at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
19   at hudson.model.ResourceController.execute(ResourceController.java:88)
20   at hudson.model.Executor.run(Executor.java:231)
21 Caused by: java.io.FileNotFoundException: /ac_realinfo_srvd/ac_realinfo_srvd/ac_realinfo_data_proc.c (没有那个文件或目录)
22   at java.io.FileInputStream.open(Native Method)
23   at java.io.FileInputStream.<init>(FileInputStream.java:138)
24   at hudson.FilePath$37.invoke(FilePath.java:1826)
25   at hudson.FilePath$37.invoke(FilePath.java:1821)
26   at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2474)
27   at hudson.remoting.UserRequest.perform(UserRequest.java:118)
28   at hudson.remoting.UserRequest.perform(UserRequest.java:48)
29   at hudson.remoting.Request$2.run(Request.java:328)
30   at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
31   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
32   at java.util.concurrent.FutureTask.run(FutureTask.java:166)
33   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
34   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
35   at java.lang.Thread.run(Thread.java:722)

here are my job configure details:
1. i'm using jenkins svn plugin checkout all my source code to home/wns/source in the job's workspace, using this specific directory is because i need to chroot to this workspace to build the job.
2. my jenkins master is a windows server, and this job is built on a linux node as jenkins slave.
3. as my job contains many source directories. so i scaned some part of the directories, and save the cpptest reports to home/cpptest/report/*/report.xml in the job's workspace, and the * indecates the module name i scaned.
4. according to the error message reported, I copied code like ac_realinfo_srvd/ac_realinfo_srvd/ac_realinfo_data_proc.c to my job's workspace on the slave node, at the end of the building script. still not work.

so, how to make the plugins can find my source code, am i miss something?

looking forward for any help
thank you. :-)

Federico Pellegrin

unread,
Dec 11, 2014, 7:17:00 AM12/11/14
to jenkins...@googlegroups.com

Hi,
If it may be still of use for someone: I had the same error case and at the end the problem lied in the fact that in the CPPTest report the files had an absolute path (ie. tested="/dir1/dir2/dir3/file" when the file was physically in $WORKSPACE/dir1/dir2/dir3/file) and this lead to troubles in the file search routine of the Jenkins slave. Removing the leading slash (for example via sed) would solve the problem and all the files would be directly reachable from Jenkins as expected.

Regards,
F.

Reply all
Reply to author
Forward
0 new messages