Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

StdDateFormat error in Trigger step #57

SameOldSong ·

Hello. We have this failure in the step that triggers build on another QB server (we trigger builds on another server quite often, and it usually works without problems). We just can't figure out where to look for the cause. The error seems to point to post-execute action, but there is no post-execute action configured in the step. And no date related variables.

Thanks you in advance

09:53:19,571 INFO  - Step execute condition satisfied, executing...
09:53:19,747 INFO  - Executing pre-execute action...
09:53:19,747 INFO  - main
09:53:19,747 INFO  - v13.xx
09:53:19,747 INFO  - Running step...
09:53:20,253 INFO  - Executing post-execute action...
09:53:20,254 ERROR - Step 'master>Forward trigger>Boost>Boost V13.XX(main)>Common_version_check_Boost>HomeDesignBend_CommitBuild_srv01build3_flex' is failed.
    java.lang.RuntimeException: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.util.StdDateFormat.withColonInTimeZone(Z)Lcom/fasterxml/jackson/databind/util/StdDateFormat;
        at com.pmease.quickbuild.bootstrap.BootstrapUtils.wrapAsUnchecked(
        at com.pmease.quickbuild.util.ExceptionUtils.wrapAsUnchecked(
        at com.pmease.quickbuild.stepsupport.Step.doExecute(
        at com.pmease.quickbuild.stepsupport.Step.execute(
        at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(
        at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(
        at com.pmease.quickbuild.BuildAwareJob.execute(
        at java.util.concurrent.Executors$ Source)
        at Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$ Source)
        at Source)
    Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.util.StdDateFormat.withColonInTimeZone(Z)Lcom/fasterxml/jackson/databind/util/StdDateFormat;
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at com.sun.jersey.core.spi.component.ComponentConstructor._getInstance(
        at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(
        at com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(
        at com.sun.jersey.core.spi.component.ProviderFactory._getComponentProvider(
        at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(
        at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(
        at com.sun.jersey.core.spi.component.ProviderServices.getComponent(
        at com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices(
        at com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(
        at com.sun.jersey.core.spi.factory.MessageBodyFactory.init(
        at com.sun.jersey.api.client.Client.<init>(
        at com.sun.jersey.api.client.Client.<init>(
        at com.sun.jersey.api.client.Client.create(
        at com.pmease.quickbuild.plugin.basis.TriggerBuildStep$$EnhancerByCGLIB$$432f3539.CGLIB$run$0(<generated>)
        at com.pmease.quickbuild.plugin.basis.TriggerBuildStep$$EnhancerByCGLIB$$432f3539$$FastClassByCGLIB$$71df76b.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(
        at com.pmease.quickbuild.plugin.basis.TriggerBuildStep$$EnhancerByCGLIB$$<generated>)
        at com.pmease.quickbuild.stepsupport.Step.doExecute(
        ... 10 more
  • replies 9
  • views 1787
  • stars 0
robinshen ADMIN ·

Are you able to reproduce this with an example configuration? Also please let me know QB versions of both server.

SameOldSong ·

I wasn't able to reproduce it locally, but I've searched a bit more on the exception itself.

java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.util.StdDateFormat.withColonInTimeZone

has often to do with incompatibility of certain jackson libraries.

In our case, the error occurs surprisingly not every time the step runs, but rather sporadically. I checked the installation of our QB server and found multiple .jars of the same jackson libraries but with different versions. They must have remained in the directory after we updated QB to 10.0.25. Can this somehow cause the exception (if, say, sometimes the incompatible version is used)?

robinshen ADMIN ·

Where are you finding these jackson jars? The 2.8.9 version no longer exists in QuickBuild 10.0.25.

SameOldSong ·


SameOldSong ·

will it suffice to just remove the older jars? or do we also need to restart the server?

robinshen ADMIN ·

Please restart the server and then check if these old jars are still there. QB should clean old files upon restart.

SameOldSong ·

I've tried restarting the server and the older version jars remain in the folder, they are not deleted.
Then I stopped the server again, removed some of the older version jars manually and started the server again. The deleted jars were automatically re-loaded into the folder while the server was starting.

So at the moment, there seems to be no way to get rid of the old jars.

robinshen ADMIN ·

QB 10.0.25 does not use these jars. Do you have custom plugin using these jars? Or you may run QB 10.0.25 from a new folder and check if these files are there.

SameOldSong ·

thank you for the tip. I've searched through all our custom plugins and finally found the culprit, an old plugin that we need to update