activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "clebert suconic (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-732) Need a 64-bit specific launching script
Date Thu, 15 Sep 2016 02:47:20 GMT

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

clebert suconic commented on ARTEMIS-732:
-----------------------------------------

I'm not saying it's not an issue. What I'm saying I was asking what was the issue....


I didn't realize the:

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


I had seen this some time ago which I eliminated with some tweaks on the loading.


I would rather fix the classpath on a single script than separate it into two. (Like test
if we have 32, 64 or something else (like some sparc linuxes where you could have the user
compiling the native themselves).





I will fix this but I wouldn't make two scripts.

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

Mime
View raw message