-
Bug
-
Resolution: Fixed
-
Critical
-
workflow-cps-plugin 2.41-SNAPSHOT, jenkins-test-harness 2.27, JDK 1.8.0_131
When moving to plugin parent 2.35, I discovered that CpsFlowExecutionTest#loaderReleased hangs - it loops forever with the following in the console:
Skipped analysing class java.lang.reflect.Proxy because of java.lang.AssertionError [...] Skipped analysing class java.lang.reflect.Proxy because of java.lang.AssertionError Skipped analysing class hudson.model.Descriptor$PropertyType because of java.lang.AssertionError [...] Skipped analysing class hudson.model.Descriptor$PropertyType because of java.lang.AssertionError Failed analysing class org.kohsuke.stapler.JRebelFacet$ReloaderHook because of java.lang.NoClassDefFoundError: org/zeroturnaround/javarebel/ClassEventListener Failed to read field static final sun.awt.datatransfer.ToolkitThreadBlockedHandler sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.handler because of java.lang.NoClassDefFoundError: Could not initialize class sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher Failed to read field public static final hudson.util.jna.GNUCLibrary hudson.util.jna.GNUCLibrary.LIBC because of java.lang.NoClassDefFoundError: Could not initialize class hudson.util.jna.GNUCLibrary Failed analysing class org.kohsuke.stapler.JRebelFacet$ReloaderHook because of java.lang.NoClassDefFoundError: org/zeroturnaround/javarebel/ClassEventListener Failed to read field private static final org.jvnet.solaris.libzfs.LibZFS hudson.os.solaris.ZFSProvisioner.libzfs because of java.lang.NoClassDefFoundError: Could not initialize class hudson.os.solaris.ZFSProvisioner Failed to read field public static final org.jvnet.solaris.libzfs.jna.libzfs org.jvnet.solaris.libzfs.jna.libzfs.LIBZFS because of java.lang.NoClassDefFoundError: Could not initialize class org.jvnet.solaris.libzfs.jna.libzfs Failed to read field public static final java.lang.String org.jvnet.solaris.libzfs.jna.libzfs.ZFS_MOUNTPOINT_NONE because of java.lang.NoClassDefFoundError: Could not initialize class org.jvnet.solaris.libzfs.jna.libzfs Failed to read field public static final java.lang.String org.jvnet.solaris.libzfs.jna.libzfs.ZFS_MOUNTPOINT_LEGACY because of java.lang.NoClassDefFoundError: Could not initialize class org.jvnet.solaris.libzfs.jna.libzfs GC after allocation of size 2249 Failed analysing class org.kohsuke.stapler.JRebelFacet$ReloaderHook because of java.lang.NoClassDefFoundError: org/zeroturnaround/javarebel/ClassEventListener Failed to read field static final sun.awt.datatransfer.ToolkitThreadBlockedHandler sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.handler because of java.lang.NoClassDefFoundError: Could not initialize class sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher Failed to read field public static final hudson.util.jna.GNUCLibrary hudson.util.jna.GNUCLibrary.LIBC because of java.lang.NoClassDefFoundError: Could not initialize class hudson.util.jna.GNUCLibrary Failed analysing class org.kohsuke.stapler.JRebelFacet$ReloaderHook because of java.lang.NoClassDefFoundError: org/zeroturnaround/javarebel/ClassEventListener Failed to read field private static final org.jvnet.solaris.libzfs.LibZFS hudson.os.solaris.ZFSProvisioner.libzfs because of java.lang.NoClassDefFoundError: Could not initialize class hudson.os.solaris.ZFSProvisioner Failed to read field public static final org.jvnet.solaris.libzfs.jna.libzfs org.jvnet.solaris.libzfs.jna.libzfs.LIBZFS because of java.lang.NoClassDefFoundError: Could not initialize class org.jvnet.solaris.libzfs.jna.libzfs Failed to read field public static final java.lang.String org.jvnet.solaris.libzfs.jna.libzfs.ZFS_MOUNTPOINT_NONE because of java.lang.NoClassDefFoundError: Could not initialize class org.jvnet.solaris.libzfs.jna.libzfs Failed to read field public static final java.lang.String org.jvnet.solaris.libzfs.jna.libzfs.ZFS_MOUNTPOINT_LEGACY because of java.lang.NoClassDefFoundError: Could not initialize class org.jvnet.solaris.libzfs.jna.libzfs
So this bugger is a bit of a heisenbug. All these tests are coming from the command line, and with groovy-cps 1.19 (rather than the newest 1.20, since testing that is where I encountered this for the first time when I also bumped the plugin parent) fwiw. If you start from scratch, it consistently spits out that noise (and takes up to 75 seconds, vs the normal 10 or less seconds) with plugin parent 2.35 and jenkins-test-harness 2.27. If I run it with plugin parent 2.35/jenkins-test-harness 2.27 and then change jenkins-test-harness to 2.26, it spits out the output/takes longer again...on the first run. On the second run, or subsequent runs with that combination, it's fine. And what's more, changing jenkins-test-harness back to 2.27 after that, the first run is fine. Sometimes the second run is fine too! But eventually it goes back to noise/longer as well.
With plugin parent 2.33, the behavior is similar, but the test actually ends up failing as well with jenkins-test-harness 2.27, with:
...except it passes right away when I switch to jenkins-test-harness 2.26. So...yeah. No idea.
EDIT: And now it started failing for me with plugin parent 2.33 and jenkins-test-harness 2.26 for no obvious reason.
EDIT 2: And now it's failing with vanilla plugin parent 2.33 (i.e., with jenkins-test-harness 2.23)! What the hell...