Clear cache on jnlp slaves? Failed to load winp - blue screens

689 views
Skip to first unread message

JuBo

unread,
Jul 6, 2015, 10:44:39 AM7/6/15
to jenkins...@googlegroups.com
In the end I hope to find some help in analyzing blue screen situations, but here I have a detailed question:

Is it necessary to remove the .jenkins/cache files sometimes? Manually?

The reason for my question is, that our 6 slaves with win7 crash every now and then. The master is a debian machine.
I saw issues like JENKINS-20913 and JENKINS-24453 and decided a month ago to upgrade to Jenkins 1.596.3.
The BlueScreens still occur.

The machines are VMware images. Clones that run without Jenkins connection do not crash.
We start the jnlp connection with "java -jar slave.jar ..." in a cygwin bash.
Although I saw also issues with this (search for Killer plugin that I do not use), I do not believe that cygwin is the problem here.

Now I recognized in my slave logs Warnings like this:

Jul 04, 2015 7:29:37 AM hudson.util.ProcessTree get
WARNING: Failed to load winp. Reverting to the default
java.lang.UnsatisfiedLinkError: Native Library C:\Users\Administrator\.jenkins\cache\jars\4A\winp.x64.22D9AB310A3FA2D96B6E03A836A47724.dll already loaded in another classloader
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at org.jvnet.winp.Native.loadDll(Native.java:190)
    at org.jvnet.winp.Native.load(Native.java:122)
    at org.jvnet.winp.Native.<clinit>(Native.java:56)
    at org.jvnet.winp.WinProcess.enableDebugPrivilege(WinProcess.java:212)
    at hudson.util.ProcessTree$Windows.<clinit>(ProcessTree.java:468)
    at hudson.util.ProcessTree.get(ProcessTree.java:327)
    at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:953)
    at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:944)
    at hudson.remoting.UserRequest.perform(UserRequest.java:121)
    at hudson.remoting.UserRequest.perform(UserRequest.java:49)
    at hudson.remoting.Request$2.run(Request.java:324)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at hudson.remoting.Engine$1$1.run(Engine.java:63)
    at java.lang.Thread.run(Unknown Source)

I seems that this happens after connection termination and reconnection between slave and master.
Further investigating, I found out that there are different cached winp DLLs!
For example, I have
.jenkins/cache/12 with jar and extracted DLL dated from 2014-06-11
and
.jenkins/cache/A4 with jar and extracted DLL from 2014-09-22

To say the truth: both variants are older then I expected, because the latest fixes in winp are dated from december 2014.

So: what can I expect when I remove the cache folders?
Is it usual to do this by hand after upgrading Jenkins on the master?
Which dll should I find from Jenkins 1.596.3?

Any help is very appreciated.

Best regards,
 Jürgen
Reply all
Reply to author
Forward
0 new messages