Uploaded image for project: 'JBoss Marshalling'
  1. JBoss Marshalling
  2. JBMAR-223

Subtle changes in river marshaller from 1.4.12 to 2.0.x cause NPEs with Jenkins Pipeline

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • 2.0.0.Final, 2.0.1.Final, 2.0.2.Final, 2.0.3.Final, 2.0.4.Final, 2.0.5.Final, 2.0.6.Final
    • River
    • None
    • Hide

      1. Download commit here: https://github.com/svanoort/workflow-support-plugin/commit/60dff8f944407a46e70f1fcfc3843cf7da29d974#diff-5592588df61e52ede2b60dbc65f7009bR56
      2. Run 'mvn clean test -Dtest=SerializationSecurityTest' - behold a NullPointerException due to a null Binding in the SerializableScript
      3. See attached thread dumps (old is using 1.4.12-jenkins-3, new is 2.0.5.Final in this case).

      Show
      1. Download commit here: https://github.com/svanoort/workflow-support-plugin/commit/60dff8f944407a46e70f1fcfc3843cf7da29d974#diff-5592588df61e52ede2b60dbc65f7009bR56 2. Run 'mvn clean test -Dtest=SerializationSecurityTest' - behold a NullPointerException due to a null Binding in the SerializableScript 3. See attached thread dumps (old is using 1.4.12-jenkins-3, new is 2.0.5.Final in this case).

      We've been using the JBoss River Marshaller as a high-performance marshaller for the Jenkins project, within its Pipeline plugin suite. In a recent effort to complete support for modern JVM versions, we upgraded from the river marshaller to the 2.0.x line, which includes a multi-release JAR and resolves some issues with later Java versions.

      Our previous version was based on 1.4.11 plus a couple changes that hadn't yet been merged. These changes are now all included in the 2.0.x line.

      This upgrade appears to introduce a new NullPointerException as a result of unexpected null fields when reading and writing some our objects. We've bisected and confirmed that this issue began with 2.0.0. release, and is reproducible with 2.0.1, 2.0.2, etc through 2.0.6.Final.

      Jenkins-side, we're tracking our efforts to resolve this here: https://issues.jenkins-ci.org/browse/JENKINS-55174

      After digging into the source changes between these versions of the River marshaller, stepping through with a debugger, etc, we cannot determine what has caused this behavior, and are reaching out for assistance here. We've done our best to do due-diligence investigation and troubleshooting but are not familiar enough with the internals of the JBoss River Marshaller to determine why this has happened (or if we can do anything to resolve it).

              dlloyd@redhat.com David Lloyd
              svanoort_jira Sam Van Oort (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: