Comment 8 for bug 359407

Revision history for this message
In , Bugzilla-mozilla-tjworld (bugzilla-mozilla-tjworld) wrote :

User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090910 Ubuntu/9.04 (jaunty) Shiretoko/3.5.3
Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090910 Ubuntu/9.04 (jaunty) Shiretoko/3.5.3

Loading any page containing a Java applet causes a failure in the IcedTea Java plug-in <> xulrunner interface resulting in 100% core usage, and requiring a hard 'kill -9' of the firefox process.

Reproducible: Always

Steps to Reproduce:
1. Use the IcedTea Plugin and OpenJDK Java environment
2. Start Firefox 3.5.x
3. Visit a page containing a Java applet

Actual Results:
CPU core runs at 100% and can only be stopped if the browser process is sent the SIGKILL signal - SIGTERM/closing the application doesn't remove the process from memory or stop the CPU spinning.

../IcedTeaPlugin.cc:3858: Error: create process
../IcedTeaPlugin.cc:1666: Error: started appletviewer

(firefox-3.5:6404): GLib-CRITICAL **: g_io_channel_write_chars: assertion `channel != NULL' failed
../IcedTeaPlugin.cc:4067: Error: Failed to write bytes to output channel

The last GLib-CRITICAL message is repeated.

Expected Results:
The plug-in should start, CPU usuage should be minimal,the Java applet should run, and the application should exit memory correctly.

This doesn't affect Firefox 3.0.x.

Originally reported on Ubuntu Launchpad:

https://bugs.launchpad.net/ubuntu/+source/firefox-3.5/+bug/359407

apt-cache policy icedtea6-plugin
icedtea6-plugin:
  Installed: 6b14-1.4.1-0ubuntu11
  Candidate: 6b14-1.4.1-0ubuntu11
  Version table:
 *** 6b14-1.4.1-0ubuntu11 0
        500 http://gb.archive.ubuntu.com jaunty-updates/main Packages
        500 http://security.ubuntu.com jaunty-security/main Packages
        100 /var/lib/dpkg/status
     6b14-1.4.1-0ubuntu7 0
        500 http://gb.archive.ubuntu.com jaunty/main Packages

apt-cache policy openjdk-6-jre
openjdk-6-jre:
  Installed: 6b14-1.4.1-0ubuntu11
  Candidate: 6b14-1.4.1-0ubuntu11
  Version table:
 *** 6b14-1.4.1-0ubuntu11 0
        500 http://gb.archive.ubuntu.com jaunty-updates/main Packages
        500 http://security.ubuntu.com jaunty-security/main Packages
        100 /var/lib/dpkg/status
     6b14-1.4.1-0ubuntu7 0
        500 http://gb.archive.ubuntu.com jaunty/main Packages

apt-cache policy xulrunner-1.9.1
xulrunner-1.9.1:
  Installed: 1.9.1.3+build1+nobinonly-0ubuntu0.9.04.2
  Candidate: 1.9.1.3+build1+nobinonly-0ubuntu0.9.04.2
  Version table:
 *** 1.9.1.3+build1+nobinonly-0ubuntu0.9.04.2 0
        500 http://gb.archive.ubuntu.com jaunty-proposed/universe Packages
        100 /var/lib/dpkg/status
     1.9.1.2+nobinonly-0ubuntu0.9.04.1 0
        500 http://gb.archive.ubuntu.com jaunty-updates/universe Packages
        500 http://security.ubuntu.com jaunty-security/universe Packages
     1.9.1~b4~hg20090330r24021+nobinonly-0ubuntu1 0
        500 http://gb.archive.ubuntu.com jaunty/universe Packages

Using debug information from icedtea the problem appears to stem from "Error: create process":

  result = manager->CreateInstanceByContractID (NS_PROCESS_CONTRACTID,
                                                nsnull,
                                                NS_GET_IID (nsIProcess),
                                                getter_AddRefs (applet_viewer_process));
  PLUGIN_CHECK_RETURN ("create process", result);

which is called during initialisation:

ICEDTEAPLUGIN_DEBUG=1 firefox-3.5

...

Initializing JVM...
ICEDTEA PLUGIN: get component manager
ICEDTEA PLUGIN: liveconnect
ICEDTEA PLUGIN: thread manager
ICEDTEA PLUGIN: Instance::StartAppletviewer
ICEDTEA PLUGIN: get component manager
ICEDTEA PLUGIN: create local file
ICEDTEA PLUGIN: init with path
../IcedTeaPlugin.cc:3858: Error: create process
ICEDTEA PLUGIN: Instance::StartAppletviewer return
../IcedTeaPlugin.cc:1666: Error: started appletviewer
ICEDTEA PLUGIN: Factory::Initialize return

It appears that the xulrunner-1.9.1 plug-in handling code has changed subtly, since the IcedTea plug-in works fine with Firefox 3.0.x and xulrunner 1.9.0.14.