FUTEX_WAIT java - was iceweasel javaplugin
- To: debian-java@lists.debian.org
- Subject: FUTEX_WAIT java - was iceweasel javaplugin
- From: Alan Greenberger <alanjg@ptd.net>
- Date: Sat, 12 Dec 2009 10:59:28 -0500
- Message-id: <slrnhi7ff0.2mj.alanjg@archduke.router>
- References: <slrnhi52b0.gm7.alanjg@archduke.router>
On 2009-12-11, Alan Greenberger <alanjg@ptd.net> wrote:
> I am experiencing strange behavior of the sun java6 plugin in iceweasel
> on a Lenny installation.
> iceweasel 3.0.6-3
> sun-java6-plugin 6-12-1 (/etc/alternatives/iceweasel-javaplugin.so ->
> /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so)
> Tested with http://www.java.com/en/download/help/testvm.xml or other
> applets gives the spinning pattern for about THREE MINUTES until the
> applet suddenly starts. On the same box, konqueror starts the applets
> quickly. I copied an applet from the internet which exhibits the slow
> start. When iceweasel accesses it from the disk, it starts quickly. On
> another Lenny box with the same versions, the applets start quickly from
> iceweasel.
>
> I have tried purging java and reinstalling. I don't see anything
> obvious using wireshark and strace. I get the same result under a new
> user id without previous iceweasel use.
>
> The slow system was not a fresh install, but was upgraded. I suspect
> there is some inherited setting somewhere causing this. Does anyone
This theory was wrong, see below.
> have a clue? A java debug technique?
New information:
I have a java application that worked fine under Sarge, but on Lenny in
March would not print. /var/log/cups/error_log would immediately get
complaints about no %BoundingBox or %%PAGES in header. Same for trying
to print from /usr/share/doc/sun-java6-jdk/demo/jfc/Font2DTest. I
believe this is a known fight between java and ghostscript. I tried
again and now it just hung until I killed the process with no error
message. Then I thought, "what if I leave it for three minutes"? It
then brought up the printer GUI and when the print button was pressed,
got the error message!
Next I downloaded a trivial java test program from
http://freemind.sourceforge.net/wiki/index.php/FreeMind_on_Linux
javac DummyPrinter.java
strace java DummyPrinter
It hangs with:
futex(0xb7d6cbd8, FUTEX_WAIT, 1992, NULL
After three minutes, it brings up the printer GUI. When the print
button is pressed, it completes the trace line as:
futex(0xb7d6cbd8, FUTEX_WAIT, 1992, NULL) = ? ERESTARTSYS (To be restarted)
The fourth argument of NULL is telling it to wait forever. Now I think
a kernel (2.6.26-1-686) watchdog may be timing it out.
Then I grepped other traces for 'FUTEX_WAIT,' .
slow system iceweasel:
futex(0xb444dbd8, FUTEX_WAIT, 16372, NULL) = -1 EAGAIN (Resource temporarily
unavailable)
fast system iceweasel:
futex(0xb3affbd8, FUTEX_WAIT, 3411, NULL) = 0
slow system konqueror, which responded quickly, did not have FUTEX_WAIT.
It did have FUTEX_WAKE_PRIVATE.
So it is a java futex problem always showing up on printing and
triggered by iceweasel but not konqueror. It wasn't happening on
Lenny-slow in March. Does anyone have an idea what I could have done to
this system to cause the FUTEX_WAIT problem with java to appear?
Reply to: