Author |
Message
|
sjensen |
Posted: Tue Apr 25, 2006 6:28 am Post subject: mqsirestoreconfigmgr failling with java exception |
|
|
Centurion
Joined: 18 Dec 2003 Posts: 134 Location: London
|
Hi,
I tried to backup and restore the configuration manager but I get an error when the restore repository is verfied:
Code: |
$ mqsirestoreconfigmgr CMGR01 -d /var/tmp/tst -a CMGR01_060425_111852.zip
BIP1079I: Replacing repository for 'CMGR01' with archive '/var/tmp/tst/CMGR01_060425_111852.zip'...
BIP1171I: Verifying the restored repository...
Exception in thread "main" java.lang.UnsatisfiedLinkError: /new/opt/IBM/mqsi/6.0/lib/libbipnativetrace.so: ld.so.1: java: fatal: /usr/lib/libmtmalloc.so.1: DF_1_NOOPEN tagged object may not be dlopen()'ed
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at com.ibm.broker.trace.NativeTracer.<init>(NativeTracer.java:80)
at com.ibm.broker.trace.Trace.<clinit>(Trace.java:98)
at com.ibm.broker.config.DBManager.<init>(DBManager.java:975)
at com.ibm.broker.config.util.RestoreRepository.verifyArchive(RestoreRepository.java:634)
at com.ibm.broker.config.util.RestoreRepository.main(RestoreRepository.java:562)
|
Solaris 8 with WMB 6 and WMQ 6 Fixpack 1
Any ideas anybody?
Thanks
Stefan |
|
Back to top |
|
 |
sjensen |
Posted: Tue Apr 25, 2006 6:51 am Post subject: |
|
|
Centurion
Joined: 18 Dec 2003 Posts: 134 Location: London
|
uppps forgot java version:
Code: |
$ java -version
java version "1.4.2_08"
Java(TM) 2 Runtime Environment, Standard Edition (IBM build 1.4.2_08-b03 20050517)
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
IBM Java ORB build orb142-20050429
XML build XSLT4J Java 2.6.5
XML build XmlCommonsExternal 1.2.04
XML build XML4J 4.3.4
|
|
|
Back to top |
|
 |
mqmatt |
Posted: Tue Apr 25, 2006 8:49 am Post subject: |
|
|
 Grand Master
Joined: 04 Aug 2004 Posts: 1213 Location: Hursley, UK
|
Looks like bipbroker.jar from the broker's classes directory cannot be found.
Have you run mqsiprofile before running this command?
-Matt |
|
Back to top |
|
 |
sjensen |
Posted: Wed Apr 26, 2006 2:30 am Post subject: |
|
|
Centurion
Joined: 18 Dec 2003 Posts: 134 Location: London
|
Hi Matt,
Thanks. We do source the profile. However we had to softlink the /opt/IBM/mqsi/opt directory structure for space reasons. :
Code: |
ls -l /opt/IBM/mqsi/6.0
lrwxrwxrwx 1 root other 21 Dec 8 18:39 /opt/IBM/mqsi/6.0 -> /new/opt/IBM/mqsi/6.0
|
To be absolutely sure everything was sourced after your response I changed MQSI_FILEPATH in mqsiprofile to point to the actual directory:
Code: |
MQSI_FILEPATH=/new/opt/IBM/mqsi/6.0
|
However mqsirestoreconfigmgr still failed - I also redid the mqsibackupconfigmgr to be sure. However the restore stil failed.
I then tried setting the CLASSPATH explicitly to ensure bipbroker.jar etc were in the path but still the resore fails
Code: |
$ echo $CLASSPATH
/new/opt/IBM/mqsi/6.0/classes/config.jar:/new/opt/IBM/mqsi/6.0/classes/derby.jar:/new/opt/IBM/mqsi/6.0/classes/bipbroker.jar:/new/opt/IBM/mqsi/6.0/classes/configutil.jar:/new/opt/IBM/mqsi/6.0/classes/ConfigManagerProxy.jar:/new/opt/IBM/mqsi/6.0/jre/bin:/new/opt/IBM/mqsi/6.0/classes/derby.jar:/new/opt/IBM/mqsi/6.0/classes/ConfigManagerProxy.jar:/new/opt/IBM/mqsi/6.0/classes/configutil.jar:/opt/mqm/java/lib/com.ibm.mq.jar:/opt/mqm/java/lib/connector.jar:/new/opt/IBM/mqsi/6.0/messages:/export/home/db2inst1/sqllib/java/db2java.zip:/export/home/db2inst1/sqllib/java/db2jcc.jar:/export/home/db2inst1/sqllib/function:/export/home/db2inst1/sqllib/java/db2jcc_license_cisuz.jar:/export/home/db2inst1/sqllib/java/db2jcc_license_cu.jar:.
$ mqsirestoreconfigmgr CMGR01 -d /var/tmp/tst -a CMGR01_060426_094703.zip
BIP1079I: Replacing repository for 'CMGR01' with archive '/var/tmp/tst/CMGR01_060426_094703.zip'...
BIP1171I: Verifying the restored repository...
Exception in thread "main" java.lang.UnsatisfiedLinkError: /new/opt/IBM/mqsi/6.0/lib/libbipnativetrace.so: ld.so.1: java: fatal: /usr/lib/libmtmalloc.so.1: DF_1_NOOPEN tagged object may not be dlopen()'ed
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at com.ibm.broker.trace.NativeTracer.<init>(NativeTracer.java:80)
at com.ibm.broker.trace.Trace.<clinit>(Trace.java:98)
at com.ibm.broker.config.DBManager.<init>(DBManager.java:975)
at com.ibm.broker.config.util.RestoreRepository.verifyArchive(RestoreRepository.java:634)
at com.ibm.broker.config.util.RestoreRepository.main(RestoreRepository.java:562)
|
Is it possible this will not work unless the product is installed in /opt/IBM/mqsi/6.0 ?
Many thanks
Stefan |
|
Back to top |
|
 |
mqmatt |
Posted: Wed Apr 26, 2006 3:35 am Post subject: |
|
|
 Grand Master
Joined: 04 Aug 2004 Posts: 1213 Location: Hursley, UK
|
Hi,
Also check that the LIBPATH/PATH contains the broker's bin directory, because the error suggests that one of the broker's libraries could not be found.
You might also like to try running the command with the -q flag. This is an undocumented option that prevents the validation check on the archive from taking place - so use it carefully. But it does mean that the failing dependency will be removed (I think).
-Matt |
|
Back to top |
|
 |
sjensen |
Posted: Wed Apr 26, 2006 5:48 am Post subject: |
|
|
Centurion
Joined: 18 Dec 2003 Posts: 134 Location: London
|
Hi,
Thanks,
Checked PATH and LD_LIBRARY_PATH and they seem OK. Still getting the same exception.
Running with the -q does indeed bypass the error and the configurationmanger is still functional after a restart.
Anybody used this command sucessfully without the -q flag?
Thanks
Stefan |
|
Back to top |
|
 |
mqmatt |
Posted: Wed Apr 26, 2006 6:29 am Post subject: |
|
|
 Grand Master
Joined: 04 Aug 2004 Posts: 1213 Location: Hursley, UK
|
Just checked on my laptop and it works OK for me, but I am using Windows
I'm interested by the "DF_1_NOOPEN tagged object may not be dlopen()'ed" error; check that your userid has the correct permissions to read and execute these files.
And if the problem persists, please raise a PMR.
-Matt |
|
Back to top |
|
 |
sjensen |
Posted: Thu Apr 27, 2006 5:36 am Post subject: |
|
|
Centurion
Joined: 18 Dec 2003 Posts: 134 Location: London
|
Hi,
Thanks again.
I tried as root with the proper environment set and still the same exception is thrown. I now believe the DF_1_NOOPEN indicates the
library can't be danamically loaded and hence it has to be statically linked.
I found this:
DF_1_NOOPEN: Indicates that the object cannot be added to a running process with dlopen(3DL).
I will raise a PMR.
Thanks
Stefan |
|
Back to top |
|
 |
mqmatt |
Posted: Fri Apr 28, 2006 1:27 am Post subject: |
|
|
 Grand Master
Joined: 04 Aug 2004 Posts: 1213 Location: Hursley, UK
|
|
Back to top |
|
 |
sjensen |
Posted: Mon Jun 12, 2006 6:22 am Post subject: |
|
|
Centurion
Joined: 18 Dec 2003 Posts: 134 Location: London
|
Hi again,
Another workaround is preloading library
using the LD_PRELOAD environment variable, to prevent it being dlopen’ed. After the restoring of the configuration manager the environment variable must be unset to avoid problems with commands like ‘ps’
Code: |
$ LD_PRELOAD=/usr/lib/libmtmalloc.so.1;export LD_PRELOAD
$ mqsirestoreconfigmgr TSTCFG -d /var/tmp -a TSTCFG_060522_163905.zip
BIP1079I: Replacing repository for 'TSTCFG' with archive '/var/tmp/TSTCFG_060522_163905.zip'...
BIP1171I: Verifying the restored repository...
BIP8071I: Successful command completion.
$ unset LD_PRELOAD
|
|
|
Back to top |
|
 |
PieterV |
Posted: Thu Jun 15, 2006 12:41 am Post subject: |
|
|
Disciple
Joined: 04 Jan 2006 Posts: 164 Location: Belgium
|
hi, i'm encountering the same problem.
We have the same configuration as above, and also softlinked the directory.
if we use the -q flag, it works.
But i'm wondering if this backup is sufficient using the -q flag?
Pieter |
|
Back to top |
|
 |
|