ExportXMLWordPrintable

    • Type: Bug
    • Resolution: Won't Do
    • Priority: Blocker
    • Environment:

      Steps to recreate

      Below details a few scenarios that demonstrate the recent broken behaviour of cloudbees-bitbucket-branch-source since updating the plugin and my jenkins to 2.559 recently. 

      Create Multibranch pipeline

      • In jenkins, Add New Item -> Multibranch pipeline, then in the multibranch project configuration page, under Branch Sources+Add Source -> Bitbucket
        • Immediately, an error shows up under the Server field as "Unregistered Server" 
      • Next, add relevant Bitbucket credentials (in my case provided as a Bitbucket app password) and enter project owner (in this case, the name of my organisation)
        • Expected behaviour: The repository Name drop down menu should be populated with a list of all repositories owned by the specified user/team
        • Actual behaviour: Drop down menu remains blank

      Scan Multibranch pipeline

      • If manually scanning multibranch pipeline, on the main multibranch project, select Scan Multibranch Pipeline Now (The following also occurs with other triggers)
        • Expected behaviour: jenkins will scan the repository and discover branches and populate branch list on multibranch project page with the scan reporting as SUCCESSFUL
        • Actual behaviour: jenkins will fail to scan the repository and will be logged as NOT_BUILT
      Started by user User
      [Thu Apr 16 11:06:24 EEST 2026] Starting branch indexing...
      [Thu Apr 16 11:06:25 EEST 2026] Finished branch indexing. Indexing took 0.3 sec
      Finished: NOT_BUILT 

      Additionally, the jenkins system log will report on this like so:

      Executor threw an exceptionjava.lang.ExceptionInInitializerError: Exception java.lang.LinkageError: loader constraint violation: when resolving method 'com.fasterxml.jackson.databind.cfg.MapperBuilder com.fasterxml.jackson.databind.json.JsonMapper$Builder.serializationInclusion(com.fasterxml.jackson.annotation.JsonInclude$Include)' the class loader 'PluginClassLoader for cloudbees-bitbucket-branch-source' @217cb773 of the current class, com/cloudbees/jenkins/plugins/bitbucket/impl/util/JsonParser, and the class loader 'PluginClassLoader for jackson2-api' @180c4639 for the method's defining class, com/fasterxml/jackson/databind/cfg/MapperBuilder, have different Class objects for the type com/fasterxml/jackson/annotation/JsonInclude$Include used in the signature (com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser is in unnamed module of loader 'PluginClassLoader for cloudbees-bitbucket-branch-source' @217cb773, parent loader 'dependency ClassLoader for /var/jenkins_home/plugins/cloudbees-bitbucket-branch-source.jpi' @36242f8e; com.fasterxml.jackson.databind.cfg.MapperBuilder is in unnamed module of loader 'PluginClassLoader for jackson2-api' @180c4639, parent loader 'dependency ClassLoader for /var/jenkins_home/plugins/jackson2-api.jpi' @3d52b440) [in thread "Executor #-1 for Built-In Node : executing BranchIndexing[XXXXXXXXXXXXXXXXX]"]	at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser.createMapper(JsonParser.java:77)	at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser.<clinit>(JsonParser.java:47)Caused: java.lang.NoClassDefFoundError: Could not initialize class com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser	at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.getRequestAs(BitbucketCloudApiClient.java:817)	at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.getRepository(BitbucketCloudApiClient.java:273)	at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource.gatherPrimaryCloneLinks(BitbucketSCMSource.java:333)	at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource.retrieveActions(BitbucketSCMSource.java:818)	at PluginClassLoader for scm-api//jenkins.scm.api.SCMSource.fetchActions(SCMSource.java:843)	at PluginClassLoader for branch-api//jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:650)	at PluginClassLoader for cloudbees-folder//com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:272)	at PluginClassLoader for cloudbees-folder//com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:170)	at PluginClassLoader for branch-api//jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:1096)	at hudson.model.ResourceController.execute(ResourceController.java:97)	at hudson.model.Executor.run(Executor.java:456) 

      Triggering a branch build on a multibranch project

      • If manually triggering a build, navigate to branch in multibranch pipeline and click Build Now/Build With Parameters (The following also occurs with other triggers)
        • Expected behaviour: the build will proceed to checkout the configured repository and run the build
        • Actual behaviour: The build will almost instantly fail with the following console log
          00:00:01  Started by user User 00:00:03  java.lang.ExceptionInInitializerError: Exception java.lang.LinkageError: loader constraint violation: when resolving method 'com.fasterxml.jackson.databind.cfg.MapperBuilder com.fasterxml.jackson.databind.json.JsonMapper$Builder.serializationInclusion(com.fasterxml.jackson.annotation.JsonInclude$Include)' the class loader 'PluginClassLoader for cloudbees-bitbucket-branch-source' @217cb773 of the current class, com/cloudbees/jenkins/plugins/bitbucket/impl/util/JsonParser, and the class loader 'PluginClassLoader for jackson2-api' @180c4639 for the method's defining class, com/fasterxml/jackson/databind/cfg/MapperBuilder, have different Class objects for the type com/fasterxml/jackson/annotation/JsonInclude$Include used in the signature (com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser is in unnamed module of loader 'PluginClassLoader for cloudbees-bitbucket-branch-source' @217cb773, parent loader 'dependency ClassLoader for /var/jenkins_home/plugins/cloudbees-bitbucket-branch-source.jpi' @36242f8e; com.fasterxml.jackson.databind.cfg.MapperBuilder is in unnamed module of loader 'PluginClassLoader for jackson2-api' @180c4639, parent loader 'dependency ClassLoader for /var/jenkins_home/plugins/jackson2-api.jpi' @3d52b440) [in thread "Executor #-1 for Built-In Node : executing BranchIndexing[XXXXXXXXXXXX]"] 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser.createMapper(JsonParser.java:77) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser.<clinit>(JsonParser.java:47) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.getRequestAs(BitbucketCloudApiClient.java:817) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.getRepository(BitbucketCloudApiClient.java:273) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource.gatherPrimaryCloneLinks(BitbucketSCMSource.java:333) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource.retrieveActions(BitbucketSCMSource.java:818) 00:00:03      at PluginClassLoader for scm-api//jenkins.scm.api.SCMSource.fetchActions(SCMSource.java:843) 00:00:03      at PluginClassLoader for branch-api//jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:650) 00:00:03      at PluginClassLoader for cloudbees-folder//com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:272) 00:00:03      at PluginClassLoader for cloudbees-folder//com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:170) 00:00:03      at PluginClassLoader for branch-api//jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:1096) 00:00:03  Caused: java.lang.NoClassDefFoundError: Could not initialize class com.cloudbees.jenkins.plugins.bitbucket.impl.util.JsonParser 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.getRequestAs(BitbucketCloudApiClient.java:817) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.getBranch(BitbucketCloudApiClient.java:381) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.getBranch(BitbucketCloudApiClient.java:92) 00:00:03      at PluginClassLoader for cloudbees-bitbucket-branch-source//com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource.retrieve(BitbucketSCMSource.java:639) 00:00:03      at PluginClassLoader for scm-api//jenkins.scm.api.SCMSource.fetch(SCMSource.java:577) 00:00:03      at PluginClassLoader for workflow-multibranch//org.jenkinsci.plugins.workflow.multibranch.SCMBinder.create(SCMBinder.java:104) 00:00:03      at PluginClassLoader for workflow-job//org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:317) 00:00:03      at hudson.model.ResourceController.execute(ResourceController.java:97) 00:00:03      at hudson.model.Executor.run(Executor.java:456) 00:00:03  [Bitbucket] Notification is disabled by configuration 00:00:03  [withMaven] downstreamPipelineTriggerRunListener - Failure to introspect build steps: java.io.IOException: XXXXXXXXXX #XX did not yet start 00:00:03  [withMaven] downstreamPipelineTriggerRunListener - Failure to introspect build steps: java.io.IOException: XXXXXXXXXX #XX did not yet start 00:00:03  Finished: FAILURE 

      Attempted solutions

      • Made a combination of rollbacks to various previous versions of different plugins, including cloudbees-bitbucket-branch-source, jackson2-api and jackson3-api, but these would cause breakages in other dependencies (which either wouldn't successfully build the jenkins image or wouldn't properly load upon deployment)
      • Stopped jenkins and wiped plugin directory before restarting 
      • There are suggestions that this could be related to a classloader clash between jackson2-api and jackson3-api dependencies, but my knowledge is quite limited in this area to know exactly the nature of what is going on

        1. image-2026-04-16-11-53-56-894.png
          174 kB
          Christopher
        2. Screenshot 2026-04-16 at 11.36.42.png
          221 kB
          Christopher

            Assignee:
            Nikolas Falco
            Reporter:
            Christopher
            Votes:
            3 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: