Jenkins Failed Inspecting Plugin during development

140 views
Skip to first unread message

Eric B

unread,
Apr 25, 2016, 1:19:19 PM4/25/16
to Jenkins Developers
Hi,

I'm trying to develop a new Jenkins plugin that has a dependency on an existing jar from my repo.  In my pom file, I have specified my dependency properly, and my build is successful (no errors).

However, when i try to run the hpi plugin `hpi:run` to debug my plugin in my IDE, I get the following error message:

Apr 25, 2016 11:04:37 AM jenkins.InitReactorRunner$1 onTaskFailed
SEVERE: Failed Inspecting plugin C:\dev\Eclipse\vsync\work\plugins\vsync.hpl
java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:230)
        at java.util.zip.ZipFile.<init>(ZipFile.java:160)
        at java.util.jar.JarFile.<init>(JarFile.java:168)
        at java.util.jar.JarFile.<init>(JarFile.java:132)
        at jenkins.util.AntClassLoader.addPathFile(AntClassLoader.java:502)
        at hudson.ClassicPluginStrategy$AntClassLoader2.addPathFiles(ClassicPluginStrategy.java:768)
        at hudson.ClassicPluginStrategy.createClassLoader(ClassicPluginStrategy.java:278)
        at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:253)
        at hudson.PluginManager$1$3$1.run(PluginManager.java:254)
        at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
        at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
        at jenkins.model.Jenkins$7.runTask(Jenkins.java:905)
        at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
        at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1176)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:795)

I've checked my vsync.hpl file and see that it was properly generated, and everything looks correct.  The Libraries list is quite long due to all the dependencies that my jar has pulled in with it.

I suspect that Jenkins is failing trying to access/open one of those dependencies, but I have no idea which one it is. Is there a way to get additional debug information out, to know which jar/zip file is failing?  Or baring that, is there a way I can put Jenkins itself (ie the Jetty container) in a debug mode and attach a debugger to that so I can step through the plugin load process and see what is failing?

I've taken a quick look at the ClassicPluginStrategy.java class and don't see any loggers, so I suspect my only way would be to attach a debugger to Jenkins itself.

But how can I instruct the hpi plugin to launch the Jenkins/Jetty server in a debug mode so I can attach a debugger?  I cannot seem to find any configuration in the maven-hpi-plugin:run settings that control the way jetty is launched.

Am I stuck?

Thanks,

Eric 

Eric B

unread,
Apr 25, 2016, 2:11:35 PM4/25/16
to Jenkins Developers
Aha!

I've done some digging away, and noticed that my Libraries: entry in my hpl file includes a pom entry. 

Ex:

Libraries: C:\dev\Eclipse\veracode\vsync\src\main\resources,C:\dev\Ecl
 ipse\veracode\vsync\target\classes,C:\Users\c45841a6\.m2\repository\c
 om\fw\maven\rtc-api-pom\4.0.3\rtc-api-pom-4.0.3.pom

(I've done some editing to reduce the amount of lines pasted)

So something is generating my hpl file incorrectly.  Is this a problem with the plugin, or my dependency structure?  The jar file that I am including as a dependency does have a pom listed in its dependency list in order to load a large number of 3rd party dependencies.

Thanks,

Eric
Reply all
Reply to author
Forward
0 new messages