Commons Daemon
  1. Commons Daemon
  2. DAEMON-110

tomcat service can't be launched on some systems with jre 1.6

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.2
    • Component/s: None
    • Labels:
      None
    • Environment:

      Windows environments where no instance of msvcr71.dll is on the system path.

      Description

      On some windows systems, the tomcat service launcher will not start - instead, reporting the following errors:

      [2008-04-07 10:48:33] [info] Procrun (2.0.3.0) started
      [2008-04-07 10:48:33] [info] Running Service...
      [2008-04-07 10:48:33] [info] Starting service...
      [2008-04-07 10:48:33] [174 javajni.c] [error] The specified module could not
      be found.
      [2008-04-07 10:48:33] [986 prunsrv.c] [error] Failed creating java C:\Program
      Files\Java\jre1.6.0_05\bin\client\jvm.dll
      [2008-04-07 10:48:33] [1260 prunsrv.c] [error] ServiceStart returned 1
      [2008-04-07 10:48:33] [info] Run service finished.
      [2008-04-07 10:48:33] [info] Procrun finished.

      This is due to a Sun bug which Sun refuses to fix:

      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6509291

      So, the problem has to be worked around somewhere else. The tomcat developers feel that the issue should be fixed here, in commons-daemon.

      There is a nice summary of what needs to be done here:
      https://issues.apache.org/bugzilla/show_bug.cgi?id=41538#c26

      And plenty more information in that thread on tomcat.

        Activity

        Hide
        Mladen Turk added a comment -

        Fixed with the 1.0.2 but it require the OS to support SetDllLibrary path in the kernel meaning XP and later

        Show
        Mladen Turk added a comment - Fixed with the 1.0.2 but it require the OS to support SetDllLibrary path in the kernel meaning XP and later
        Hide
        Mladen Turk added a comment -

        You can always add %JAVA_HOME%\jre\bin to the system PATH variable.
        The solution that would allow procrun to set that dynamically will work only with Windows XP SP1+
        by using SetDllDirectory, and that is the only way to do it without respawning the process.
        Since this function is not present on earlier windows versions, the solution to the problem
        will never cover the full set of supported OS's (WIN2k+)

        Show
        Mladen Turk added a comment - You can always add %JAVA_HOME%\jre\bin to the system PATH variable. The solution that would allow procrun to set that dynamically will work only with Windows XP SP1+ by using SetDllDirectory, and that is the only way to do it without respawning the process. Since this function is not present on earlier windows versions, the solution to the problem will never cover the full set of supported OS's (WIN2k+)

          People

          • Assignee:
            Mladen Turk
            Reporter:
            Dan Armbrust
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development