commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mladen Turk (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (DAEMON-268) jsvc fails to find java home on centos
Date Tue, 04 Dec 2012 14:10:58 GMT

     [ https://issues.apache.org/jira/browse/DAEMON-268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mladen Turk resolved DAEMON-268.
--------------------------------

    Resolution: Fixed

Fixed in the SVN.
Will be part of next release
                
> jsvc fails to find java home on centos
> --------------------------------------
>
>                 Key: DAEMON-268
>                 URL: https://issues.apache.org/jira/browse/DAEMON-268
>             Project: Commons Daemon
>          Issue Type: Bug
>          Components: Jsvc
>    Affects Versions: 1.0.11
>         Environment: Oracle Java JRE 1.7.0_04
> CentOS Linux 6.3, 64-bit
>            Reporter: Richard Lowe
>            Assignee: Mladen Turk
>            Priority: Blocker
>             Fix For: 1.0.12
>
>         Attachments: patch.txt
>
>
> Having upgraded to commons-daemon 1.0.11 from 1.0.10, we are now no longer able to start
our service because Java Home cannot be located.
> In our particular use case we do not set JAVA_HOME as an environment variable but instead
specify it using the -home parameter on the jsvc command line. However I have tried using
an environment variable and the result is the same: the jsvc fails to find the Java Home directory.
> Having looked at the source code, I think the error is due to [a recent change to home.c|http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/src/native/unix/native/home.c?r1=1205952&r2=1412037&diff_format=h].
In particular, the following on lines 215 to 221:
> {code}
> if (path == NULL || *path == '\0' || *path == '/') {
>    log_debug("Home not specified on command line, using environment");
>    path = getenv("JAVA_HOME");
>    if (path == NULL || *path == '\0' || *path == '/') {
>        /* guard against empty JAVA_HOME */
>        path = NULL;
>    }
> }
> {code}
> The use of '==' to compare strings here is incorrect; the strcmp() function should be
used instead. Currently, the code will fail if the first character of the path is '/', which
is invariably the case on Linux, UNIX or MacOS systems. I suspect the reason that this has
not been detected sooner is because MacOS and Ubuntu/Debian have been special-cased elsewhere
to hard-code the expected Java Home location.
> For us this is a blocker so we have reverted to using 1.0.10 until it is fixed. We also
have a patch which I will attach to this issue shortly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message