[jboss-jira] [JBoss JIRA] (AS7-6722) Quoted script parameters are not properly parsed in the bash script

RH Bugzilla Integration (JIRA) jira-events at lists.jboss.org
Wed Mar 13 16:55:42 EDT 2013


    [ https://issues.jboss.org/browse/AS7-6722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761017#comment-12761017 ] 

RH Bugzilla Integration commented on AS7-6722:
----------------------------------------------

James Perkins <jperkins at redhat.com> made a comment on [bug 918030|https://bugzilla.redhat.com/show_bug.cgi?id=918030]

The above PR needs to be reviewed by QE.

I'll explain what the actual error is. In the standalone.sh script the logging.properties file is passed in with a canonical path. This path is resolved in the script by looping through each JAVA_OPTS option from standalone.conf and each argument passed in from the command line. Since each parameter passed in via the command line is quoted, the case check in the script never finds the -Djboss.server.config.dir property passed in via the command line. This means for this to work the -Djboss.server.config.dir needs to be specified in the standalone.conf. (I'm singling out -Djboss.server.config.dir because it's really the only property regularly  used in the script)

Going back a bit there was an issue when parameters/properties with spaces in them were being split when passing to the JVM. AS7-5627 attempted to fix this by quoting each parameter passed via the command line. This is likely the right approach in a script, bur led to the issue above.

It should also be noted that passing the -Djboss.server.config.dir property only ever worked on Linux. BSD based systems (OS X) and Windows it never worked on. It always looks in $JBOSS_HOME/standalone/configuration for the logging.properties file.

Also a directory with a space in it has never worked, probably never spotted as that's rare on Linux.

The pull request linked above attempts to fix this issue, but does introduce possible other problems. On Windows it's more common to have spaces in paths. This commit does not address that and does led to some non-obvious error messages if a space is in the path. It also adds behavior for this to work on BSD based systems which previously was not supported. I have tested in Fedora 18, OS X and Windows 7. It does appear to work, but it doesn't work on ANY platform if there is a space in the path.

The question is what would be the preference from QE? Merging the pull request fixes the issue for Linux, but also attempts to fix it for BSD and Windows. The later two this never worked on before. 

The workaround to this issue on Linux would be to add the -Djboss.server.config.dir to the standalone.conf rather than passing in via the command line. If that is an acceptable workaround there is no reason for this PR to be merged.
                
> Quoted script parameters are not properly parsed in the bash script
> -------------------------------------------------------------------
>
>                 Key: AS7-6722
>                 URL: https://issues.jboss.org/browse/AS7-6722
>             Project: Application Server 7
>          Issue Type: Bug
>          Components: Scripts
>            Reporter: James Perkins
>            Assignee: James Perkins
>             Fix For: 8.0.0.Alpha1
>
>
> Quotes are added to parameters passed via the command line. When checking the parameters for the {{jboss.server.base.dir}}, {{jboss.server.config.dir}} and {{jboss.server.log.dir}} properties quoted parameters are not found.

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


More information about the jboss-jira mailing list