[ 
https://issues.apache.org/jira/browse/ARTEMIS-732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15492102#comment-15492102
 ] 

Jim Gomes commented on ARTEMIS-732:
-----------------------------------

I would fix it because it doesn't work. You can see the output included in the 
bug report. Having a notice reported like that is an issue. If these are 
benign, it is not obvious. When something says "highly recommended", I tend to 
take the advice. To me, it looks like I'm waiting for memory corruption to 
happen during runtime. By fixing the library path, the correct libraries get 
loaded, and the error goes away completely.

> 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, OpenJDK 1.8.0.102
>            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}
> exec "$JAVACMD" $JAVA_ARGS $ARTEMIS_CLUSTER_PROPS \
>     -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}
> exec "$JAVACMD" $JAVA_ARGS $ARTEMIS_CLUSTER_PROPS \
>     -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
(v6.3.4#6332)

Reply via email to