Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-26378

Simple Theme Plugin causes Jenkins to hang on Configure screen in "LOADING" state

      When the Simple Theme Plugin is installed, configure pages for both jobs and Jenkins itself hang at the "LOADING" overlay (as seen in https://issues.jenkins-ci.org/browse/JENKINS-16165). Furthermore, configurations cannot be saved, as hitting the "save" button with the plugin installed will result in a "HTTP ERROR 400" page (see second attachment).

        1. bug.png
          bug.png
          129 kB
        2. bug2.png
          bug2.png
          20 kB

          [JENKINS-26378] Simple Theme Plugin causes Jenkins to hang on Configure screen in "LOADING" state

          Nick Hovaker created issue -
          Nick Hovaker made changes -
          Environment Original: Jenkins
          =======

          Version details
          ---------------

            * Version: `1.596`
            * Mode: WAR
            * Servlet container
                - Specification: 3.0
                - Name: `jetty/winstone-2.8`
            * Java
                - Home: `/usr/lib/jvm/java-7-openjdk-amd64/jre`
                - Vendor: Oracle Corporation
                - Version: 1.7.0_65
                - Maximum memory: 910.50 MB (954728448)
                - Allocated memory: 461.50 MB (483917824)
                - Free memory: 17.51 MB (18358104)
                - In-use memory: 443.99 MB (465559720)
            * Java Runtime Specification
                - Name: Java Platform API Specification
                - Vendor: Oracle Corporation
                - Version: 1.7
            * JVM Specification
                - Name: Java Virtual Machine Specification
                - Vendor: Oracle Corporation
                - Version: 1.7
            * JVM Implementation
                - Name: OpenJDK 64-Bit Server VM
                - Vendor: Oracle Corporation
                - Version: 24.65-b04
            * Operating system
                - Name: Linux
                - Architecture: amd64
                - Version: 2.6.32-042stab094.7
                - Distribution: Ubuntu 14.04 LTS
            * Process ID: 26571 (0x67cb)
            * Process started: 2015-01-09 21:47:40.784+0000
            * Process uptime: 23 hr
            * JVM startup parameters:
                - Boot classpath: `/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes`
                - Classpath: `/usr/share/jenkins/jenkins.war`
                - Library path: `/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib`
                - arg[0]: `-Djava.awt.headless=true`

          Important configuration
          ---------------

            * Security realm: `org.jenkinsci.plugins.GithubSecurityRealm`
            * Authorization strategy: `org.jenkinsci.plugins.GithubAuthorizationStrategy`

          Active Plugins
          --------------

            * ansicolor:0.4.1 'AnsiColor'
            * ant:1.2 'Ant Plugin'
            * antisamy-markup-formatter:1.3 'OWASP Markup Formatter Plugin'
            * async-http-client:1.7.8 'Async Http Client'
            * build-keeper-plugin:1.3 'Build Keeper Plugin'
            * build-timeout:1.14.1 'Jenkins build timeout plugin'
            * build-view-column:0.2 'Build View Column Plugin'
            * copyartifact:1.32.1 'Copy Artifact Plugin'
            * cppcheck:1.20 'Jenkins Cppcheck Plug-in'
            * credentials:1.20 'Credentials Plugin'
            * cvs:2.12 'Jenkins CVS Plug-in'
            * dashboard-view:2.9.4 'Dashboard View'
            * durable-task:1.1 'Durable Task Plugin'
            * external-monitor-job:1.4 'External Monitor Job Type Plugin'
            * git:2.3.4 'Jenkins GIT plugin'
            * git-client:1.15.0 'Jenkins GIT client plugin'
            * git-notes:0.0.4 'git-notes Plugin'
            * github:1.10 'GitHub plugin'
            * github-api:1.59 'GitHub API Plugin'
            * github-oauth:0.14 *(update available)* 'Github Authentication plugin'
            * gradle:1.24 'Jenkins Gradle plugin'
            * gravatar:2.1 'Jenkins Gravatar plugin'
            * hsts-filter-plugin:1.0 'HSTS Filter Plugin'
            * html5-notifier-plugin:1.3 'HTML5 Notifier Plugin'
            * instant-messaging:1.32 'Jenkins instant-messaging plugin'
            * ircbot:2.25 'Jenkins IRC Plugin'
            * javadoc:1.3 'Javadoc Plugin'
            * job-exporter:0.4 'export dynamic job data'
            * jquery:1.7.2-1 'Jenkins jQuery plugin'
            * jquery-ui:1.0.2 'Jenkins jQuery UI plugin'
            * junit:1.3 'JUnit Plugin'
            * mailer:1.12 'Jenkins Mailer Plugin'
            * mapdb-api:1.0.6.0 'MapDB API Plugin'
            * matrix-auth:1.2 'Matrix Authorization Strategy Plugin'
            * matrix-project:1.4 'Matrix Project Plugin'
            * maven-plugin:2.8 'Maven Integration plugin'
            * mercurial:1.51 'Jenkins Mercurial plugin'
            * metrics:3.0.9 'Metrics Plugin'
            * monitoring:1.54.0 'Monitoring'
            * naginator:1.14 'Naginator'
            * node-iterator-api:1.5 'Node Iterator API Plugin'
            * notification:1.7 'Jenkins Notification plugin'
            * oauth-credentials:0.3 'OAuth Credentials plugin'
            * pam-auth:1.2 'PAM Authentication plugin'
            * parameterized-trigger:2.25 'Jenkins Parameterized Trigger plugin'
            * port-allocator:1.8 'Jenkins Port Allocator Plug-in'
            * purge-build-queue-plugin:1.0 'Purge Build Queue Plugin'
            * queue-cleanup:1.0 'Queue cleanup Plugin'
            * repo:1.6 'Jenkins REPO plugin'
            * rpmsign-plugin:0.4.2 'rpmsign-plugin'
            * ruby-runtime:0.12 'ruby-runtime'
            * run-condition:1.0 'Run Condition Plugin'
            * s3:0.7 'Jenkins S3 publisher plugin'
            * scm-api:0.2 'SCM API Plugin'
            * script-security:1.12 'Script Security Plugin'
            * ssh:2.4 'Jenkins SSH plugin'
            * ssh-agent:1.5 'SSH Agent Plugin'
            * ssh-credentials:1.10 'SSH Credentials Plugin'
            * ssh-slaves:1.9 'Jenkins SSH Slaves plugin'
            * subversion:2.5 'Jenkins Subversion Plug-in'
            * suppress-stack-trace:1.3 'Stack Trace Suppression Plugin'
            * timestamper:1.5.15 'Timestamper'
            * token-macro:1.10 'Token Macro Plugin'
            * translation:1.12 'Jenkins Translation Assistance plugin'
            * uithemes:2.1.0 *(update available)* 'UIThemes: Plugin'
            * windows-slaves:1.0 'Windows Slaves Plugin'
            * ws-cleanup:0.24 'Jenkins Workspace Cleanup Plugin'
            * xcode-plugin:1.4.7 'Xcode integration'
            * xframe-filter-plugin:1.2 'XFrame Filter Plugin'
          New: https://gist.githubusercontent.com/urras/b96b9523757f2f9f6b09/raw/enviorment
          Nick Hovaker made changes -
          Summary Original: Simple Theme Pluggin causes Jenkins to hang on Configure screen in "LOADING" state New: Simple Theme Plugin causes Jenkins to hang on Configure screen in "LOADING" state
          Nick Hovaker made changes -
          Labels Original: css hanging simplethemepluggin New: css hanging simplethemeplugin

          Daniel Beck added a comment -

          There should be an issue reported in the browser's script console if that happens.

          Daniel Beck added a comment - There should be an issue reported in the browser's script console if that happens.

          Daniel Beck added a comment -

          Please also provide the custom JavaScript you're injecting into Jenkins with the Simple Theme plugin.

          Daniel Beck added a comment - Please also provide the custom JavaScript you're injecting into Jenkins with the Simple Theme plugin.

          Nick Hovaker added a comment -

          Of course.
          The console on Firefox throws me the error "ReferenceError: RumID is not defined". Also, the CSS that the plugin uses by default appears to be https://ec01c392919812c4f818-79afe539d963810002081e6e2a51e67e.ssl.cf2.rackcdn.com/Embed.js.
          However, I am unable to change it, as that would require saving my settings, which will result in a "HTTP ERROR 400" page (attachment 2).

          Nick Hovaker added a comment - Of course. The console on Firefox throws me the error "ReferenceError: RumID is not defined". Also, the CSS that the plugin uses by default appears to be https://ec01c392919812c4f818-79afe539d963810002081e6e2a51e67e.ssl.cf2.rackcdn.com/Embed.js . However, I am unable to change it, as that would require saving my settings, which will result in a "HTTP ERROR 400" page (attachment 2).

          Daniel Beck added a comment -

          Do you recognize that URL/hostname? Is that your box?

          To clarify, when you disable Simple Theme plugin (and nothing else), things magically work again after a Jenkins restart? There were no other updates or anything else?

          I'm asking because there is no such thing as a default script for Simple Theme Plugin. In fact, the plugin barely does anything.

          The complete source code of the plugin is the following (even if you know nothing about Jenkins' internal API, this will show you how little this plugin does):

          Daniel Beck added a comment - Do you recognize that URL/hostname? Is that your box? To clarify, when you disable Simple Theme plugin (and nothing else), things magically work again after a Jenkins restart? There were no other updates or anything else? I'm asking because there is no such thing as a default script for Simple Theme Plugin. In fact, the plugin barely does anything. The complete source code of the plugin is the following (even if you know nothing about Jenkins' internal API, this will show you how little this plugin does): Behavior: Store and retrieve configured URLs for CSS and JS: https://github.com/jenkinsci/simple-theme-plugin/blob/master/src/main/java/org/codefirst/SimpleThemeDecorator.java The config form snippet for entering the JS and CSS URLs: https://github.com/jenkinsci/simple-theme-plugin/blob/master/src/main/resources/org/codefirst/SimpleThemeDecorator/global.jelly Injecting custom JS/CSS from URLs if defined in global config into every page: https://github.com/jenkinsci/simple-theme-plugin/blob/master/src/main/resources/org/codefirst/SimpleThemeDecorator/header.jelly

          Nick Hovaker added a comment -

          >Do you recognize that URL/hostname? Is that your box?
          No, I don't recognize the host "ec01c392919812c4f818-79afe539d963810002081e6e2a51e67e.ssl.cf2.rackcdn.com". I would change it, but I have no way to save the settings on the configure page.

          >To clarify, when you disable Simple Theme plugin (and nothing else), things magically work again after a Jenkins restart? There were no other updates or anything else?
          Correct, once I disable Simple Theme Plugin, things magically work after Jenkins restarts

          Nick Hovaker added a comment - >Do you recognize that URL/hostname? Is that your box? No, I don't recognize the host "ec01c392919812c4f818-79afe539d963810002081e6e2a51e67e.ssl.cf2.rackcdn.com". I would change it, but I have no way to save the settings on the configure page. >To clarify, when you disable Simple Theme plugin (and nothing else), things magically work again after a Jenkins restart? There were no other updates or anything else? Correct, once I disable Simple Theme Plugin, things magically work after Jenkins restarts

          Daniel Beck added a comment -

          What's the content of org.codefirst.SimpleThemeDecorator.xml in JENKINS_HOME?

          If URLs/paths are defined, please provide the content of the files at those URLs (relative paths are relative from Jenkins URL).

          Daniel Beck added a comment - What's the content of org.codefirst.SimpleThemeDecorator.xml in JENKINS_HOME? If URLs/paths are defined, please provide the content of the files at those URLs (relative paths are relative from Jenkins URL).

            Unassigned Unassigned
            urras Nick Hovaker
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: