[ https://issues.jenkins-ci.org/browse/JENKINS-13865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163092#comment-163092 ]
Jason Howk commented on JENKINS-13865: -------------------------------------- One more update: This appears to be due to the chosen preamble/postamble chosen. public static final String PREAMBLE_STR = "\u001B[8mha:"; public static final String POSTAMBLE_STR = "\u001B[0m"; Per RFC, JSON is unicode. (http://www.ietf.org/rfc/rfc4627) and the choice of the ascii control codes violates the JSON agreement (i.e. use of the brackets as they are structural characters) > Jenkins /queue/api does not produce properly formatted JSON when a build in > queue where the destination node/s are busy. > ------------------------------------------------------------------------------------------------------------------------ > > Key: JENKINS-13865 > URL: https://issues.jenkins-ci.org/browse/JENKINS-13865 > Project: Jenkins > Issue Type: Bug > Components: core > Affects Versions: current > Environment: Linux > Reporter: Jason Howk > > Jenkins /queue/api does not produce properly formatted JSON when build in > queue where a node/s are fully busy. The json produced is un-parsable. This > can be visible on the builds.apache.org server. > Example: > "why":"Waiting for next available executor on > [8mha:AAAAkB+LCAAAAAAAAABb85aBtbiIQSajNKU4P08vOT+vOD8nVc+jsiC1KCczL9svvyT1dMUiOWdZ/mImBiZPBrac1Lz0kgwfBubSopwSBiGfrMSyRP2cxLx0/eCSosy8dOuKIgYpNOOcITTIMAYIYGRiYKgoADLYShgE9JPzcwtKS1KL9HNKk1PzUgENqikilQAAAA==[0mlucene" > Appears that the "why" property of the queued build isn't being formatted > properly. Actually it's being gzipped... > Looking at the source, the hudson.model.queue.CauseOfBlockage class appears > to be the culprit. To wit: > public String getShortDescription() { > return > Messages.Queue_WaitingForNextAvailableExecutorOn(HyperlinkNote.encodeTo("/computer/"+ > node.getNodeName(), node.getNodeName())); > } > The nodename is attempting to be encoded with HyperlinkNote: > public static String encodeTo(String url, String text) { > try { > return new HyperlinkNote(url,text.length()).encode()+text; > } catch (IOException e) { > // impossible, but don't make this a fatal problem > LOGGER.log(Level.WARNING, "Failed to serialize > "+HyperlinkNote.class,e); > return text; > } > } > Which calls the supers encode() method: > public String encode() throws IOException { > return encodeToBytes().toString(); > } > And finally encodeToBytes(): > private ByteArrayOutputStream encodeToBytes() throws IOException { > ByteArrayOutputStream buf = new ByteArrayOutputStream(); > ObjectOutputStream oos = new ObjectOutputStream(new > GZIPOutputStream(buf)); > oos.writeObject(this); > oos.close(); > ByteArrayOutputStream buf2 = new ByteArrayOutputStream(); > DataOutputStream dos = new DataOutputStream(new > Base64OutputStream(buf2,true,-1,null)); > buf2.write(PREAMBLE); > dos.writeInt(buf.size()); > buf.writeTo(dos); > dos.close(); > buf2.write(POSTAMBLE); > return buf2; > } > Full output: > {"items":[{"actions":[{"causes":[{"shortDescription":"Started by > timer"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":true,"buildable":false,"id":7947,"inQueueSince":1337702458328,"params":"","stuck":false,"task":{"name":"Hive-trunk-h0.21","url":"https://builds.apache.org/job/Hive-trunk-h0.21/","color":"blue_anime"},"why":"Build > #1,444 is already in progress > (ETA:N/A)","buildableStartMilliseconds":1337702458330},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"Qpid-Java-Java-MMS-TestMatrix\" build number > 272","upstreamBuild":272,"upstreamProject":"Qpid-Java-Java-MMS-TestMatrix","upstreamUrl":"job/Qpid-Java-Java-MMS-TestMatrix/"}]}],"blocked":true,"buildable":false,"id":8029,"inQueueSince":1337718485444,"params":"","stuck":false,"task":{"name":"Qpid-Java-Java-BDB-TestMatrix","url":"https://builds.apache.org/job/Qpid-Java-Java-BDB-TestMatrix/","color":"red_anime"},"why":"Build > #244 is already in > progress","buildableStartMilliseconds":1337718490548},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":8036,"inQueueSince":1337719498327,"params":"","stuck":false,"task":{"name":"Lucene-Solr-tests-only-trunk-java7","url":"https://builds.apache.org/job/Lucene-Solr-tests-only-trunk-java7/","color":"blue"},"why":"Waiting > for next available executor on > [8mha:AAAAkB+LCAAAAAAAAABb85aBtbiIQSajNKU4P08vOT+vOD8nVc+jsiC1KCczL9svvyT1dMUiOWdZ/mImBiZPBrac1Lz0kgwfBubSopwSBiGfrMSyRP2cxLx0/eCSosy8dOuKIgYpNOOcITTIMAYIYGRiYKgoADLYShgE9JPzcwtKS1KL9HNKk1PzUgENqikilQAAAA==[0mlucene","buildableStartMilliseconds":1337719498431},{"actions":[{"causes":[{"shortDescription":"Started > by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7979,"inQueueSince":1337709659182,"params":"","stuck":false,"task":{"name":"Camel.trunk.fulltest.spring3.1","url":"https://builds.apache.org/job/Camel.trunk.fulltest.spring3.1/","color":"blue"},"why":"Waiting > for next available executor on > [8mha:AAAAkR+LCAAAAAAAAABb85aBtbiIQSajNKU4P08vOT+vOD8nVc+jsiC1KCczL9svvyT1dMUiOWdZ/mImBiZPBrac1Lz0kgwfBubSopwSBiGfrMSyRP2cxLx0/eCSosy8dOuKIgYpNOOcITTIMAYIYGRiYKgoADLYSxgE9ZPzcwtKS1KL9EuTSvNKSo0BGdSO7JYAAAA=[0mubuntu3","buildableStartMilliseconds":1337709664185},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"commons-vfs-trunk\" build number > 174","upstreamBuild":174,"upstreamProject":"commons-vfs-trunk","upstreamUrl":"job/commons-vfs-trunk/"}]}],"blocked":false,"buildable":true,"id":7726,"inQueueSince":1337670102655,"params":"","stuck":true,"task":{"name":"jdk=JDK > 1.6 > (latest),label=Windows","url":"https://builds.apache.org/job/commons-vfs-trunk/./jdk=JDK%201.6%20(latest),label=Windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337670102656},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":7656,"inQueueSince":1337659258327,"params":"","stuck":true,"task":{"name":"dir-studio-jdk16-win","url":"https://builds.apache.org/job/dir-studio-jdk16-win/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337659258330},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":7654,"inQueueSince":1337659258327,"params":"","stuck":true,"task":{"name":"dir-apacheds-jdk16-win","url":"https://builds.apache.org/job/dir-apacheds-jdk16-win/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337659258329},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":7652,"inQueueSince":1337659258327,"params":"","stuck":true,"task":{"name":"dir-apacheds-jdbm-jdk16-win","url":"https://builds.apache.org/job/dir-apacheds-jdbm-jdk16-win/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337659258329},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":7632,"inQueueSince":1337655658339,"params":"","stuck":true,"task":{"name":"dir-shared-jdk16-win","url":"https://builds.apache.org/job/dir-shared-jdk16-win/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337655658341},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":7586,"inQueueSince":1337648458355,"params":"","stuck":true,"task":{"name":"Lucene.Net-Trunk-Contrib-Nightly","url":"https://builds.apache.org/job/Lucene.Net-Trunk-Contrib-Nightly/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337648458356},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":7585,"inQueueSince":1337648458347,"params":"","stuck":true,"task":{"name":"Lucene.Net-Trunk-All-Nightly","url":"https://builds.apache.org/job/Lucene.Net-Trunk-All-Nightly/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337648458356},{"actions":[{"causes":[{"shortDescription":"Started > by > timer"}]}],"blocked":false,"buildable":true,"id":7532,"inQueueSince":1337644858334,"params":"","stuck":true,"task":{"name":"Chemistry > - > DotCMIS","url":"https://builds.apache.org/job/Chemistry%20-%20DotCMIS/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337644858335},{"actions":[{"causes":[{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7418,"inQueueSince":1337630158535,"params":"","stuck":true,"task":{"name":"MINA-trunk-jdk1.6-windows","url":"https://builds.apache.org/job/MINA-trunk-jdk1.6-windows/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337630163571},{"actions":[{"causes":[{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7275,"inQueueSince":1337614558658,"params":"","stuck":true,"task":{"name":"vysper-trunk-jdk1.6-windows","url":"https://builds.apache.org/job/vysper-trunk-jdk1.6-windows/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337614563761},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"Ant-Build-Matrix\" build number > 484","upstreamBuild":484,"upstreamProject":"Ant-Build-Matrix","upstreamUrl":"job/Ant-Build-Matrix/"}]}],"blocked":false,"buildable":true,"id":7200,"inQueueSince":1337605272264,"params":"","stuck":true,"task":{"name":"jdk=JDK > 1.7 > (latest),label=Windows","url":"https://builds.apache.org/job/Ant-Build-Matrix/./jdk=JDK%201.7%20(latest),label=Windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337605272366},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"Ant-Build-Matrix\" build number > 484","upstreamBuild":484,"upstreamProject":"Ant-Build-Matrix","upstreamUrl":"job/Ant-Build-Matrix/"}]}],"blocked":false,"buildable":true,"id":7199,"inQueueSince":1337605272262,"params":"","stuck":true,"task":{"name":"jdk=JDK > 1.6 > (latest),label=Windows","url":"https://builds.apache.org/job/Ant-Build-Matrix/./jdk=JDK%201.6%20(latest),label=Windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337605272264},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"Ant-Build-Matrix\" build number > 484","upstreamBuild":484,"upstreamProject":"Ant-Build-Matrix","upstreamUrl":"job/Ant-Build-Matrix/"}]}],"blocked":false,"buildable":true,"id":7195,"inQueueSince":1337605272255,"params":"","stuck":true,"task":{"name":"jdk=JDK > 1.5 > (latest),label=Windows","url":"https://builds.apache.org/job/Ant-Build-Matrix/./jdk=JDK%201.5%20(latest),label=Windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337605272258},{"actions":[{"causes":[{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7077,"inQueueSince":1337589060276,"params":"","stuck":true,"task":{"name":"Syncope-windows","url":"https://builds.apache.org/job/Syncope-windows/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337589065378},{"actions":[{"causes":[{"shortDescription":"Started > by timer"},{"shortDescription":"Started by > timer"}]}],"blocked":false,"buildable":true,"id":7075,"inQueueSince":1337589058332,"params":"","stuck":true,"task":{"name":"ZooKeeper-trunk-WinVS2008_java","url":"https://builds.apache.org/job/ZooKeeper-trunk-WinVS2008_java/","color":"aborted"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337589058334},{"actions":[{"causes":[{"shortDescription":"Started > by timer"},{"shortDescription":"Started by upstream project > \"ZooKeeper-trunk\" build number > 1,562","upstreamBuild":1562,"upstreamProject":"ZooKeeper-trunk","upstreamUrl":"job/ZooKeeper-trunk/"},{"shortDescription":"Started > by timer"},{"shortDescription":"Started by upstream project > \"ZooKeeper-trunk\" build number > 1,563","upstreamBuild":1563,"upstreamProject":"ZooKeeper-trunk","upstreamUrl":"job/ZooKeeper-trunk/"}]}],"blocked":false,"buildable":true,"id":7074,"inQueueSince":1337589058332,"params":"","stuck":true,"task":{"name":"ZooKeeper-trunk-WinVS2008","url":"https://builds.apache.org/job/ZooKeeper-trunk-WinVS2008/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337589058334},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"TomcatMavenPlugin-mvn3.x\" build number > 150","upstreamBuild":150,"upstreamProject":"TomcatMavenPlugin-mvn3.x","upstreamUrl":"job/TomcatMavenPlugin-mvn3.x/"},{"shortDescription":"Started > by upstream project \"maven-plugins\" build number > 711","upstreamBuild":711,"upstreamProject":"maven-plugins","upstreamUrl":"job/maven-plugins/"},{"shortDescription":"Started > by upstream project \"maven-plugins\" build number > 712","upstreamBuild":712,"upstreamProject":"maven-plugins","upstreamUrl":"job/maven-plugins/"},{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by upstream project > \"maven-plugins\" build number > 713","upstreamBuild":713,"upstreamProject":"maven-plugins","upstreamUrl":"job/maven-plugins/"},{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7067,"inQueueSince":1337588274403,"params":"","stuck":true,"task":{"name":"archiva-all-maven-3.x-jdk-1.6-with-web-it-windows","url":"https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-with-web-it-windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337588279502},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"TomcatMavenPlugin-mvn3.x\" build number > 150","upstreamBuild":150,"upstreamProject":"TomcatMavenPlugin-mvn3.x","upstreamUrl":"job/TomcatMavenPlugin-mvn3.x/"},{"shortDescription":"Started > by upstream project \"maven-plugins\" build number > 711","upstreamBuild":711,"upstreamProject":"maven-plugins","upstreamUrl":"job/maven-plugins/"},{"shortDescription":"Started > by upstream project \"maven-plugins\" build number > 712","upstreamBuild":712,"upstreamProject":"maven-plugins","upstreamUrl":"job/maven-plugins/"},{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by upstream project > \"maven-plugins\" build number > 713","upstreamBuild":713,"upstreamProject":"maven-plugins","upstreamUrl":"job/maven-plugins/"},{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7066,"inQueueSince":1337588274402,"params":"","stuck":true,"task":{"name":"archiva-all-maven-3.x-jdk-1.6-with-web-it-js-windows","url":"https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-with-web-it-js-windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337588279502},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"TomcatMavenPlugin-mvn3.x\" build number > 150","upstreamBuild":150,"upstreamProject":"TomcatMavenPlugin-mvn3.x","upstreamUrl":"job/TomcatMavenPlugin-mvn3.x/"},{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7065,"inQueueSince":1337588274400,"params":"","stuck":true,"task":{"name":"archiva-all-maven-3.x-jdk-1.6-windows","url":"https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337588279502},{"actions":[{"causes":[{"shortDescription":"Started > by an SCM change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7018,"inQueueSince":1337580058684,"params":"","stuck":true,"task":{"name":"Camel.trunk.fulltest.windows","url":"https://builds.apache.org/job/Camel.trunk.fulltest.windows/","color":"red"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337580063751},{"actions":[{"causes":[{"shortDescription":"Started > by timer"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by an SCM > change"},{"shortDescription":"Started by timer"},{"shortDescription":"Started > by an SCM > change"}]}],"blocked":false,"buildable":true,"id":7009,"inQueueSince":1337579938326,"params":"","stuck":true,"task":{"name":"Flex_SDK_build","url":"https://builds.apache.org/job/Flex_SDK_build/","color":"blue"},"why":"windows1 > is > offline","buildableStartMilliseconds":1337579938427},{"actions":[{"causes":[{"shortDescription":"Started > by upstream project \"Empire-db multios\" build number > 71","upstreamBuild":71,"upstreamProject":"Empire-db > multios","upstreamUrl":"job/Empire-db%20multios/"}]}],"blocked":false,"buildable":true,"id":7003,"inQueueSince":1337577371867,"params":"","stuck":true,"task":{"name":"jdk=JDK > 1.6 > (latest),label=Windows","url":"https://builds.apache.org/job/Empire-db%20multios/./jdk=JDK%201.6%20(latest),label=Windows/","color":"blue"},"why":"windows1 > is offline","buildableStartMilliseconds":1337577371968}]} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira