Detail
WebLogic 10.x comes with a big, bloated installer. It is a .bin file on Linux. This .bin file self-unpacks into the /tmp directory, and includes its own JDK packed inside. When trying to install it, (10.1 or 10.3) I get the following error:
bemo@flask:/opt>./WLS_server103_linux32.bin
Extracting 0%................................................
....................................................100%
Locking assertion failure. Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0x9a4767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0x9a4831]
#2 /usr/lib/libX11.so.6(_XReply+0x254) [0x8bdee4]
#3 /tmp/fileuToryN/jre160_02/lib/i386/xawt/libmawt.so [0xa034564e]
#4 /tmp/fileuToryN/jre160_02/lib/i386/xawt/libmawt.so [0xa0323f97]
#5 /tmp/fileuToryN/jre160_02/lib/i386/xawt/libmawt.so [0xa0324248]
#6 /tmp/fileuToryN/jre160_02/lib/i386
/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0xa032454f]
#7 [0xb503ab7b]
#8 [0xb5032f0d]
#9 [0xb5032f0d]
#10 [0xb5030243]
#11 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so [0x62c5e1d]
#12 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so [0x6452248]
#13 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so [0x62c5cb0]
#14 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so
(JVM_DoPrivileged+0x34b) [0x631bb6b]
#15 /tmp/fileuToryN/jre160_02/lib/i386
/libjava.so(Java_java_security_AccessController_doPrivileged__L
java_security_PrivilegedAction_2+0x3d) [0xb804b96d]
#16 [0xb503ab7b]
#17 [0xb5032da7]
#18 [0xb5030243]
#19 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so [0x62c5e1d]
Locking assertion failure. Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0x9a4767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0x9a490e]
#2 /usr/lib/libX11.so.6 [0x8bd079]
#3 /usr/lib/libX11.so.6(XGetVisualInfo+0x26) [0x8b3246]
#4 /tmp/fileuToryN/jre160_02/lib/i386/xawt/libmawt.so [0xa0323249]
#5 /tmp/fileuToryN/jre160_02/lib/i386/xawt/libmawt.so [0xa0323495]
#6 /tmp/fileuToryN/jre160_02/lib/i386/xawt/libmawt.so [0xa03242f9]
#7 /tmp/fileuToryN/jre160_02/lib/i386
/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0xa032454f]
#8 [0xb503ab7b]
#9 [0xb5032f0d]
#10 [0xb5032f0d]
#11 [0xb5030243]
#12 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so [0x62c5e1d]
#13 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so [0x6452248]
#14 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so [0x62c5cb0]
#15 /tmp/fileuToryN/jre160_02/lib/i386/server/libjvm.so(JVM_DoPrivileged+0x34b) [0x631bb6b]
#16 /tmp/fileuToryN/jre160_02/lib/i386
/libjava.so(Java_java_security_AccessController_doPrivileged__L
java_security_PrivilegedAction_2+0x3d) [0xb804b96d]
#17 [0xb503ab7b]
#18 [0xb5032da7]
#19 [0xb5030243]
Unable to instantiate GUI, defaulting to console mode.
Now, on Fedora 10, (and modern Linux in general) Java and Swing can be quirky when running Sun JDKs. The problems of assertion failure are well documented, and generally fall into 3 categories:
1) Add this environment variable: export LIBXCB_ALLOW_SLOPPY_LOCK=1
2) Execute this sed command:
sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so
Which looks scary to me, but seems to be the one that works. Obviously you have to update the path to your libmawt.so. If this does not work - then simply re-install the JDK, or save the '.orig' version of the .so so you can undo your change if it breaks horribly.
3) Update X with some new UCB library.
Apparently the root problem here is in some X11 library. I don't care - i just want my Java to run, and I need to install weblogic.
The problem is, with fix #2, you are modifying a .so within your installed JDK. WebLogic (in all their wisdom) thinks that their JDK bundled inside of the bloated .bin file is correct. Well - its not. Its broken on my system.
The Fix:
Basically, I run the installer to the point of the GUI error. Then, while the installer is still active, I go to /tmp, and move the installer dir to a different dir:
$ mv /tmp/fileuToryN/ /tmp/foo
Then exit the installer - but now the temp files are not deleted. Then, go to the saved installer dir, and run the installer with your standard (fixed) Java - that you fixed with steps 1, 2, 3 or all of them:
$ cd /tmp/foo
$ java -jar installer.jar
Now the installer starts and runs fine in GUI mode.
Note: for WLS 10.3 - make sure you have a good recent version of Sun's JDK 1.6.x.
|