tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <>
Subject Re: bug when JULI is not used
Date Thu, 07 Aug 2008 06:45:52 GMT
Thank you for reporting the problem. I added you message to Bugilla:

We were already thinking about your first two solutions, I missed the 
third one. We'll need to check how reliable that is (w.r.t. POSIX). I am 
a little in favor of "-Dnop" or something similar.



Ian Ward Comfort wrote:
> I believe commit 652629 (which appeared in 6.0.17) broke 
> startup when JULI is not used -- that is, when 
> $CATALINA_BASE/conf/ does not exist.  If this file is 
> absent, LOGGING_CONFIG is not set.  However the variable appears quoted 
> in the shell command to exec the JVM:
> Which introduces an empty argument when LOGGING_CONFIG is unset, and the 
> JVM interprets this empty argument as the class to be invoked.
> Three possible fixes are:
> * Set LOGGING_CONFIG to a harmless flag if JULI is not used.  With my 
> Sun JVM, a plain -D is safe.  I don't know how portable this is.  It 
> isn't very pretty.
> * Maintain separate JVM invocations for the cases when LOGGING_CONFIG is 
> set and when it's unset.  This involves more code duplication.  The code 
> in question is already duplicated; I'm not sure whether that argues for 
> or against this strategy.
> * Use a one-item shell array with an @ subscript, which is immune to 
> word splitting when between double quotes but expands to nothing when 
> unpopulated.  For example:
>     LOGGING_CONFIG[0]="-Djava.util.logging.config.file=$CATALINA_BASE/conf/"

> followed by:
> This method may be too clever.  I think POSIX requires shell arrays but 
> being portable to true Bourne shell would require $@, which is already 
> being used.
> I'd be willing to write up a patch if any of these methods seem acceptable.
> -- 
> Ian Ward Comfort <>
> System Administrator, Student Computing, Stanford University

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message