clebert suconic commented on ARTEMIS-732:

Sorry.. it has been a long week for me :) I didn't realize the environment.

I take that if you only use the proper version (64 bit).. this issue would go 

I will rename this JIRA to avoid the spurious message, and deal with it 
accordingly, and also bump the priority to make sure I won't miss it on 1.5.0.

> Need a 64-bit specific launching script
> ---------------------------------------
>                 Key: ARTEMIS-732
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-732
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.4.0
>         Environment: Debian Linux 64-bit (Stretch), OpenJDK
>            Reporter: Jim Gomes
>              Labels: easyfix
>             Fix For: 1.5.0
>         Attachments: artemis, artemis64
>   Original Estimate: 1h
>  Remaining Estimate: 1h
> The artemis launching script located in the bin folder needs to be split into 
> two separate scripts: one for 32-bit, and one for 64-bit. The current script 
> attempts (but fails) to be run-time adaptive. However, when running on a 
> 64-bit environment, the following error is always displayed when it is run:
> {noformat}
> OpenJDK 64-Bit Server VM warning: You have loaded library
> /home/username/apache-artemis-1.4.0/bin/lib/linux-i686/libartemis-native-32.so
> which might have disabled stack guard. The VM will try to fix the stack guard 
> now.
> It's highly recommended that you fix the library with 'execstack -c 
> <libfile>', or link it with '-z noexecstack'
> {noformat}
> The problem is with the {{exec}} command-line, specifically the 
> {{-Djava.library.path}} parameter. It combines both the 32-bit library path 
> and the 64-bit library path, but it doesn't actually work.  The script should 
> be split into two separate scripts, one for 32-bit and one for 64-bit. All 
> that is necessary is to modify the library path to be platform specific, and 
> the error condition is resolved. I have attached modified script files 
> (*{{artemis}}* and *{{artemis64}}*) that can be used depending on the 
> run-time environment. Here are the key differences between the two scripts:
> {code:title=32-bit version}
>     -classpath "$CLASSPATH" \
>     -Dartemis.home="$ARTEMIS_HOME" \
>     -Djava.library.path="$ARTEMIS_HOME/bin/lib/linux-i686" \
>     $DEBUG_ARGS \
>     org.apache.activemq.artemis.boot.Artemis "$@"}}
> {code}
> {code:title=64-bit version}
>     -classpath "$CLASSPATH" \
>     -Dartemis.home="$ARTEMIS_HOME" \
>     -Djava.library.path="$ARTEMIS_HOME/bin/lib/linux-x86_64" \
>     $DEBUG_ARGS \
>     org.apache.activemq.artemis.boot.Artemis "$@"
> {code}

This message was sent by Atlassian JIRA

Reply via email to