Bug 297891

Summary: IBM Java malfunctions with new libX11
Product: [Fedora] Fedora Reporter: David Woodhouse <dwmw2>
Component: libX11Assignee: Søren Sandmann Pedersen <sandmann>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: iranna.ankad, kem, mohd.omar
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-21 01:42:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Woodhouse 2007-09-20 10:47:09 UTC
After upgrading to rawhide, my Java plugin no longer works. IBM's JRE fails,
with the following message:

java: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

Taking libX11.so.6 from a Fedora 7 box (libX11-1.0.3.8.fc7) and putting that in
a directory on its own, then using LD_LIBRARY_PATH to point to it, seems to
'fix' the problem.

I cannot tell whether this is a problem with IBM's JRE, or whether it's a libX11
problem.

Comment 1 Matthias Clasen 2007-09-20 23:43:18 UTC
Does the jrb use async X11 interfaces similar to what gtk has in
gdk/x11/gdkasync.c, perchance ? We've had to do some fixes to make that 
code work with the xcb-based Xlib.

Comparing that might be instructive.

Comment 2 David Woodhouse 2007-09-21 01:42:44 UTC
After reading http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373 I
discovered that running with LD_PRELOAD=/usr/lib/libXinerama.so.1 seems
sufficient to work around the problem.

It's a Java bug, not Xlib. Closing.

Comment 3 omar 2007-10-26 05:22:52 UTC
Hi ,
I verified this bug against ubuntu and fedora.
I tried to reproduce this BUG on fedora(fc8)  and ubuntu (fiesty). But  JCONSOLE
works fine.
Its not mentioned which application throws error here,
https://bugzilla.redhat.com/show_bug.cgi?id=297891

I tried jconsole which works fine, observed in sun bugzilla.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373



Following are the analysis done::



fc8test3 fresh installed machine:

---------------------------------------

java package: ibm-java2-ppc64-sdk-5.0-4.0.ppc64.rpm 

Machine: p55 ( ppc64 ) 

uname -a:  Linux p55lp1.in.ibm.com 2.6.23-0.214.rc8.git2.fc8 #1 SMP Fri Sep 28
17:14:38 EDT 2007 ppc64 ppc64 ppc64 GNU/Linux

libX11: libX11-1.1.3-1.fc8

libxcb: libxcb-1.0-3.fc8



result: jconsole opened a window properly, without any error.



Ubuntu fiesty :

----------------



java version: 

java version "1.6.0"

Java(TM) SE Runtime Environment (build 1.6.0-b105)

Java HotSpot(TM) Server VM (build 1.6.0-b105, mixed mode)



uname -a:  Linux omar 2.6.20-16-generic #2 SMP Thu Jun 7 20:19:32 UTC 2007 i686
GNU/Linux

libX11-6: 1.1.1-1ubuntu3

libxcb1:   1.0-1.1ubuntu2 





jconsole opens  a window without any error.


--thanks
omar

Comment 4 David Woodhouse 2007-10-26 11:59:47 UTC
Anything which uses X seems to trigger it here. See below -- the first one
(obviously) fails; the second succeeds.

shinybook /opt/ibm/java2-ppc-50/jre/bin $ ./ControlPanel 
java: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
JVMDUMP006I Processing Dump Event "abort", detail "" - Please Wait.
JVMDUMP007I JVM Requesting System Dump using
'/opt/ibm/java2-ppc-50/jre/bin/core.20071026.075836.25627.dmp'
JVMDUMP010I System Dump written to /tmp/core.20071026.075836.25627.dmp
JVMDUMP007I JVM Requesting Snap Dump using
'/opt/ibm/java2-ppc-50/jre/bin/Snap0001.20071026.075836.25627.trc'
JVMDUMP010I Snap Dump written to /tmp/Snap0001.20071026.075836.25627.trc
JVMDUMP007I JVM Requesting Java Dump using '/tmp/javacore.20071026.075836.25627.txt'
JVMDUMP010I Java Dump written to /tmp/javacore.20071026.075836.25627.txt
JVMDUMP013I Processed Dump Event "abort", detail "".
./ControlPanel: line 27: 25627 Aborted                 $ADIR/../bin/java
-Djavaplugin.version=1.5.0 -Djavaplugin.nodotversion=150
com.sun.deploy.panel.ControlPanel
shinybook /opt/ibm/java2-ppc-50/jre/bin $ LD_PRELOAD=/usr/lib/libXinerama.so.1
./ControlPanel 
/usr/share/themes/Clearlooks/gtk-2.0/gtkrc:42: error: lexical error or
unexpected token, expected valid token


Comment 5 omar 2007-10-26 12:19:44 UTC
hi david,

/opt/ibm/java2-ppc64-50/jre/bin/ControlPanel 

also worked for me.. ( its a ppc64 machine), Am I missing any important step to
reproduce this bug??

--thanks
omar

Comment 6 David Woodhouse 2007-10-26 13:05:24 UTC
If you're running the current Fedora rawhide on ppc or ppc64 hardware, with
libX11-1.1.3-4.fc8, then I'm sure you ought to be seeing it. This is the 32-bit
build of Java, not the 64-bit build. I haven't tested the 64-bit build.

I see it with this package: ibm-java2-ppc-jre-5.0-5.1.ppc.rpm (and also with
older versions).

Comment 7 omar 2007-10-26 13:48:54 UTC
Hi david,

I am using ppc64 machine on Rawhide.
--uname -a-----
Linux p55lp1.in.ibm.com 2.6.23-0.214.rc8.git2.fc8 #1 SMP Fri Sep 28 17:14:38 EDT
2007 ppc64 ppc64 ppc64 GNU/Linux

---cat /etc/issue ------
Fedora release 7.92 (Rawhide)
Kernel \r on an \m

with libX11-1.1.3-1.fc8 and tried all these packages
ibm-java2-ppc64-jre-5.0-5.1.ppc64.rpm
ibm-java2-ppc64-sdk-5.0-4.0.ppc64.rpm
ibm-java2-ppc-jre-5.0-5.1.ppc.rpm   (32 bit build)

It still works for me.Only thing is i use 64 bit machine with 32 bit build java.

--regards
omar

Comment 8 David Woodhouse 2007-10-26 14:08:49 UTC
I see it on 64-bit machines too -- that was when I first encountered it, in fact.
I wonder if you have to be using an X server with the Xinerama extension enabled?

Looking at the Sun bug linked above, I think the fix is fairly clear and obvious
even if you can't reproduce for yourself. If you could let me have a binary to
test, I could confirm that it's fixed here.