• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • bugzilla-plugin
    • None

      I have customized Bugzilla with custom version (top right corner) like :"Tikal ALM Suite / Version 2010.1-beta"

      On the "Configure system" page I see the exception shown below. As I understand plugin failing trying to
      parse bugzilla version, because my version contains not numeric symbols.

      May be in such cases plugin will ask the real bugzilla verion ?

      java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
      at org.apache.xmlrpc.parser.XmlRpcResponseParser.addResult(XmlRpcResponseParser.java:58)
      at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.endValueTag(RecursiveTypeParserImpl.java:71)
      at org.apache.xmlrpc.parser.XmlRpcResponseParser.endElement(XmlRpcResponseParser.java:183)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1750)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2906)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:624)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:486)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:810)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:740)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:110)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
      at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
      at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:175)
      at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:145)
      at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
      at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
      at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
      at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
      at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
      at hudson.plugins.bugzilla.BugzillaSession.execute(BugzillaSession.java:114)
      at hudson.plugins.bugzilla.BugzillaSession.checkVersion(BugzillaSession.java:37)
      at hudson.plugins.bugzilla.BugzillaProjectProperty$DescriptorImpl$1.check(BugzillaProjectProperty.java:133)
      at hudson.plugins.bugzilla.BugzillaProjectProperty$DescriptorImpl.doUrlCheck(BugzillaProjectProperty.java:125)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:169)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:101)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:54)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:74)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:519)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:180)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:519)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:435)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:123)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
      at java.lang.Thread.run(Thread.java:636)

          [JENKINS-5932] Exception duting to check Bugzilla version

          mdonohue added a comment -

          It is reasonable to patch the code to avoid throwing an exception, but supporting totally custom version numbers seems like a stretch. In general, version numbers help cut down on interoperability problems - if Bugzilla were to change the XMLRPC api, the plugin could handle that by checking the version number first.

          I'm not familiar with "Tikal ALM Suite" but replacing the version number like that, with no indication of the version of Bugzilla that it was forked from seems like something that would be rather difficult for a 'bugzilla' plugin to support. Perhaps a Tikal ALM plugin needs to be written.

          mdonohue added a comment - It is reasonable to patch the code to avoid throwing an exception, but supporting totally custom version numbers seems like a stretch. In general, version numbers help cut down on interoperability problems - if Bugzilla were to change the XMLRPC api, the plugin could handle that by checking the version number first. I'm not familiar with "Tikal ALM Suite" but replacing the version number like that, with no indication of the version of Bugzilla that it was forked from seems like something that would be rather difficult for a 'bugzilla' plugin to support. Perhaps a Tikal ALM plugin needs to be written.

          mark2b added a comment -

          Absolutely agree with you. But I can't change bugzilla's version to the right one.

          May be plugin in such cases can ask the real Bugzilla version in the separate field?
          Or always take bugzilla version from this field and default value will be auto-discovered (w/o exceptions). second approach is preferable.

          mark2b added a comment - Absolutely agree with you. But I can't change bugzilla's version to the right one. May be plugin in such cases can ask the real Bugzilla version in the separate field? Or always take bugzilla version from this field and default value will be auto-discovered (w/o exceptions). second approach is preferable.

          hand_of_henry added a comment -

          Are you sure it's the version number? I get a similar (although not identical) stack trace when attempting to integrate to our copy of Bugzilla however we have made no customization of the Bugzilla version number. (I was able to integrate Hudson to some earlier online versions of Bugzilla and version 3.4.5. Plus we're also having trouble integrating Bugzilla with Mylyn so we are expecting a problem in the XMLRPC api).

          We're running the following:

          Hudson 1.352
          Bugzilla Plugin 1.4
          Bugzilla 3.4.4

          java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
          org.apache.xmlrpc.parser.XmlRpcResponseParser.addResult(XmlRpcResponseParser.java:58)
          org.apache.xmlrpc.parser.RecursiveTypeParserImpl.endValueTag(RecursiveTypeParserImpl.java:71)
          org.apache.xmlrpc.parser.XmlRpcResponseParser.endElement(XmlRpcResponseParser.java:183)
          org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
          org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
          org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
          org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
          org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
          org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
          org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
          org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:175)
          org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:145)
          org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
          org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
          org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
          org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
          org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
          hudson.plugins.bugzilla.BugzillaSession.execute(BugzillaSession.java:114)
          hudson.plugins.bugzilla.BugzillaSession.checkVersion(BugzillaSession.java:37)
          hudson.plugins.bugzilla.BugzillaProjectProperty$DescriptorImpl$1.check(BugzillaProjectProperty.java:133)
          hudson.plugins.bugzilla.BugzillaProjectProperty$DescriptorImpl.doUrlCheck(BugzillaProjectProperty.java:125)
          sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          java.lang.reflect.Method.invoke(Unknown Source)
          org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:169)
          org.kohsuke.stapler.Function.bindAndInvoke(Function.java:101)
          org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:54)
          org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:74)
          org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:519)
          org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:180)
          org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:519)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:435)
          org.kohsuke.stapler.Stapler.service(Stapler.java:123)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
          hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
          hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:85)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
          hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
          org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

          hand_of_henry added a comment - Are you sure it's the version number? I get a similar (although not identical) stack trace when attempting to integrate to our copy of Bugzilla however we have made no customization of the Bugzilla version number. (I was able to integrate Hudson to some earlier online versions of Bugzilla and version 3.4.5. Plus we're also having trouble integrating Bugzilla with Mylyn so we are expecting a problem in the XMLRPC api). We're running the following: Hudson 1.352 Bugzilla Plugin 1.4 Bugzilla 3.4.4 java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer org.apache.xmlrpc.parser.XmlRpcResponseParser.addResult(XmlRpcResponseParser.java:58) org.apache.xmlrpc.parser.RecursiveTypeParserImpl.endValueTag(RecursiveTypeParserImpl.java:71) org.apache.xmlrpc.parser.XmlRpcResponseParser.endElement(XmlRpcResponseParser.java:183) org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) org.apache.xerces.parsers.XMLParser.parse(Unknown Source) org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:175) org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:145) org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94) org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53) org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166) org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136) org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125) hudson.plugins.bugzilla.BugzillaSession.execute(BugzillaSession.java:114) hudson.plugins.bugzilla.BugzillaSession.checkVersion(BugzillaSession.java:37) hudson.plugins.bugzilla.BugzillaProjectProperty$DescriptorImpl$1.check(BugzillaProjectProperty.java:133) hudson.plugins.bugzilla.BugzillaProjectProperty$DescriptorImpl.doUrlCheck(BugzillaProjectProperty.java:125) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:169) org.kohsuke.stapler.Function.bindAndInvoke(Function.java:101) org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:54) org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:74) org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) org.kohsuke.stapler.Stapler.invoke(Stapler.java:519) org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:180) org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) org.kohsuke.stapler.Stapler.invoke(Stapler.java:519) org.kohsuke.stapler.Stapler.invoke(Stapler.java:435) org.kohsuke.stapler.Stapler.service(Stapler.java:123) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94) hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:85) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

          mdonohue added a comment -

          Oh, I didn't read the stack trace that closely last time. This may be a combination of two issues - the Bugzilla XMLRPC interface changing, so that it rejects the version API call, and the re-introduction of an XMLRPC spec deviation in Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=446327

          mdonohue added a comment - Oh, I didn't read the stack trace that closely last time. This may be a combination of two issues - the Bugzilla XMLRPC interface changing, so that it rejects the version API call, and the re-introduction of an XMLRPC spec deviation in Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=446327

            mdonohue mdonohue
            mark2b mark2b
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: