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.

        1. Configuration of the Warnings Pluging.jpg
          226 kB
          tapiomtr
        2. CrashDump.txt
          65 kB
          tapiomtr

          [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: