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

Regular expression of Doxygen parser is too complex for JDK pattern

    • warnings-ng 4.0.0, analysis-model-api 3.0.0

      The Hudson Warnings pluging crash when checking warnings during build. See attached crash dump file.
      Hudson version is 1.370. Warnings Plug-in version is 3.8, In general Hudson and it's plugings are up to date.
      In general we are running all jobs in slave computers. I think, when the Warnings pluging 3.8 was installed this crash occurred.
      When this same Warnings pluging is running on Windows environment, it doesn't crash.

          [JENKINS-7178] Regular expression of Doxygen parser is too complex for JDK pattern

          Code changed in hudson
          User: : drulli
          Path:
          trunk/hudson/plugins/warnings/.settings/org.eclipse.core.resources.prefs
          trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/parser/DoxygenParserTest.java
          trunk/hudson/plugins/warnings/src/test/resources/hudson/plugins/warnings/parser/issue7178.txt
          http://jenkins-ci.org/commit/33696
          Log:
          JENKINS-7178 Added test case that exposes JDK bug.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : drulli Path: trunk/hudson/plugins/warnings/.settings/org.eclipse.core.resources.prefs trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/parser/DoxygenParserTest.java trunk/hudson/plugins/warnings/src/test/resources/hudson/plugins/warnings/parser/issue7178.txt http://jenkins-ci.org/commit/33696 Log: JENKINS-7178 Added test case that exposes JDK bug.

          Ulli Hafner added a comment -

          This seems to be a JDK bug, see reference URL. The problematic parser is the Doxygen Parser. Until this is fixed you need to remove that parser.

          Ulli Hafner added a comment - This seems to be a JDK bug, see reference URL. The problematic parser is the Doxygen Parser. Until this is fixed you need to remove that parser.

          Ulli Hafner added a comment -

          Integrated in Hudson Plug-ins (Compile) #38
          JENKINS-7178 Added test case that exposes JDK bug.

          Ulli Hafner added a comment - Integrated in Hudson Plug-ins (Compile) #38 JENKINS-7178 Added test case that exposes JDK bug.

          tapiomtr added a comment -

          When I use same Warnings parser for a Doxygen log file, that has content it doesn't crash at all. But in my case the content of the Doxygen log file is empty (zero bytes)?

          tapiomtr added a comment - When I use same Warnings parser for a Doxygen log file, that has content it doesn't crash at all. But in my case the content of the Doxygen log file is empty (zero bytes)?

          Ulli Hafner added a comment -

          The problem is not the doxygen file. It's the console log. This logfile lets the doxygen parser fail.

          Ulli Hafner added a comment - The problem is not the doxygen file. It's the console log. This logfile lets the doxygen parser fail.

          Ulli Hafner added a comment -

          Can someone please check if Jenkins running on JDK 7 solves this problem?

          Ulli Hafner added a comment - Can someone please check if Jenkins running on JDK 7 solves this problem?

          FreeBSD 9.1, OpenJDK 7. Same thing - getting java.lang.stackoverflow when trying to process Doxygen logs.

          Volodymyr Kostyrko added a comment - FreeBSD 9.1, OpenJDK 7. Same thing - getting java.lang.stackoverflow when trying to process Doxygen logs.

          Ulli Hafner added a comment -

          Ok, thanks for checking. I think the doxygen parser needs to be re-written in order to avoid that JDK bug.

          Ulli Hafner added a comment - Ok, thanks for checking. I think the doxygen parser needs to be re-written in order to avoid that JDK bug.

          Jochen Ulrich added a comment -

          This issue seems to be related to the size of the log (see also this comment in the linked ticket).
          So there is a simple workaround: capture the stderr output of Doxygen in a file (or use the WARN_LOGFILE parameter in the Doxyfile) and let the warnings plugin run on that file.

          Jochen Ulrich added a comment - This issue seems to be related to the size of the log (see also this comment in the linked ticket ). So there is a simple workaround: capture the stderr output of Doxygen in a file (or use the WARN_LOGFILE parameter in the Doxyfile) and let the warnings plugin run on that file.

          Ulli Hafner added a comment -

          It would make sense to re-implement the parser.

          Ulli Hafner added a comment - It would make sense to re-implement the parser.

            Unassigned Unassigned
            tapiomtr tapiomtr
            Votes:
            6 Vote for this issue
            Watchers:
            12 Start watching this issue

              Created:
              Updated:
              Resolved: