[ https://issues.apache.org/jira/browse/ARTEMIS-732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Bertram resolved ARTEMIS-732. ------------------------------------ Resolution: Fixed > Spurious message while loading native libraries in certain envs. > ---------------------------------------------------------------- > > 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 1.8.0.102 > Reporter: Jim Gomes > Assignee: Justin Bertram > Priority: Blocker > Labels: easyfix > Fix For: 1.5.0 > > Attachments: artemis, artemis64 > > Original Estimate: 1h > Remaining Estimate: 1h > > Some systems will throw the following message when loading the wrong bit > alignment: > {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 > deal with it accordingly to only have the proper 32-bit or 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)