Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3B776200B91 for ; Thu, 15 Sep 2016 04:47:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 3A11F160AD4; Thu, 15 Sep 2016 02:47:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 81622160AB4 for ; Thu, 15 Sep 2016 04:47:21 +0200 (CEST) Received: (qmail 31899 invoked by uid 500); 15 Sep 2016 02:47:20 -0000 Mailing-List: contact issues-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list issues@activemq.apache.org Received: (qmail 31889 invoked by uid 99); 15 Sep 2016 02:47:20 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Sep 2016 02:47:20 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 7549A2C014C for ; Thu, 15 Sep 2016 02:47:20 +0000 (UTC) Date: Thu, 15 Sep 2016 02:47:20 +0000 (UTC) From: "clebert suconic (JIRA)" To: issues@activemq.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ARTEMIS-732) Need a 64-bit specific launching script MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 15 Sep 2016 02:47:22 -0000 [ 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 ', 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 ', 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)