IcedTea6 Mozilla plugin with OpenJDK6

Jung-uk Kim jkim at FreeBSD.org
Fri Sep 10 23:00:51 UTC 2010


On Friday 10 September 2010 06:13 pm, Ivan Voras wrote:
> On 10 September 2010 23:46, Jung-uk Kim <jkim at freebsd.org> wrote:
> > All applets or some applets?  Can you test some trivial applets?
> > Something like the following:
> >
> > file:///usr/local/openjdk6/demo/jfc/SwingApplet/SwingApplet.html
>
> Surprisingly, yes I can.

Good.

> But I cannot start for example this one: 
>
> http://java.sun.com/applets/jdk/1.4/demo/applets/ArcTest/example1.h
>tml

Probably you want to test it locally:

file:///usr/local/openjdk6/demo/applets/ArcTest/example1.html

BTW, IcedTea plugin is not 100% compatible with Sun/Oracle's.  Your mileage may vary. ;-)

> And even with the simple applet that works I get ridiculous CPU
> usage of firefox:
>
>   PID USERNAME      THR PRI NICE   SIZE    RES STATE   C   TIME  
> WCPU COMMAND 647 ivoras         15  44    0   228M 94320K ucond   5
>   1:58 268.95% firefox-bin

Yes, I know.  firefox-bin process gets stuck at ucond state and ktrace shows it's doing somthing weird like this:

...
 22820 firefox-bin 0.000003 CALL  _umtx_op(0x80d4d50c0,0x11,0,0,0)
 22820 firefox-bin 0.000005 CALL  _umtx_op(0x80d4d50c0,0x12,0,0,0)
 22820 firefox-bin 0.000001 RET   _umtx_op 0
 22820 firefox-bin 0.000006 RET   _umtx_op 0
 22820 firefox-bin 0.000006 CALL  _umtx_op(0x80d4d4040,0x11,0,0,0)
 22820 firefox-bin 0.000005 RET   _umtx_op 0
 22820 firefox-bin 0.000003 CALL  _umtx_op(0x80d4d4040,0x11,0,0,0)
 22820 firefox-bin 0.000004 RET   _umtx_op 0
 22820 firefox-bin 0.000003 CALL  _umtx_op(0x80d4d4040,0x11,0,0,0)
 22820 firefox-bin 0.000003 RET   _umtx_op 0
 22820 firefox-bin 0.000004 CALL  _umtx_op(0x80d4d4040,0x11,0,0,0)
 22820 firefox-bin 0.000003 CALL  _umtx_op(0x80d4d4040,0x12,0,0,0)
...

I am not sure why it happens but my guess is the plugin may mis-handle mutexes.  This is not my department, unfortunately. :-(

> >> (process:82994): Gtk-WARNING **: Locale not supported by C
> >> library. Using the fallback 'C' locale.
> >> *** NSPlugin Viewer  *** WARNING: unhandled variable 18
> >> (<unknown variable>) in NPN_GetValue()
> >
> > Although it is a different problem, I know what it is. :-)
> >
> > Please try www/nspluginwrapper-devel instead of
> > www/nspluginwrapper:
> >
> > http://www.freebsd.org/cgi/cvsweb.cgi/ports/www/nspluginwrapper-d
> >evel/
>
> This makes firefox crash with the output:
>
> betelgeuse:~> firefox3
> (process:98515): Gtk-WARNING **: Locale not supported by C library.
> 	Using the fallback 'C' locale.
> *** NSPlugin Viewer  *** ERROR: NPN_GetValue() wait for reply:
> Connection closed *** NSPlugin Viewer  ***
> WARNING:(/home/jkim/new/a/nspluginwrapper-1.3.0/src/npw-viewer.c:11
>36):invoke_NPN_GetValue: assertion failed:
> (rpc_method_invoke_possible(g_rpc_connection)) Abort trap (core
> dumped)

It looks like a wrapper/viewer version mis-match.  Did you re-install
the wrappers in ~/.mozilla/plugins/?  "nspluginwrapper -l" should
print something like this:

/home/jkim/.mozilla/plugins/npwrapper.libflashplayer.so
  Original plugin: /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so
  Plugin viewer: /usr/local/lib/nspluginwrapper/i386/linux/npviewer
  Wrapper version string: 1.3.0

Note the wrapper version string is "1.3.0".

> I had to reinstall the old one before it works again. It still
> produces these error messages but it doesn't crash:
>
> (process:592): Gtk-WARNING **: Locale not supported by C library.
> 	Using the fallback 'C' locale.
> *** NSPlugin Viewer  *** WARNING: unhandled variable 18 (<unknown
> variable>) in NPN_GetValue()
> *** NSPlugin Viewer  *** WARNING: unhandled variable 18 (<unknown
> variable>) in NPN_GetValue()

It's just annoying, I know.

> (for what it's worth, my LOCALE is hr_HR.UTF-8).
>
> >> openjdk version "1.6.0"
> >> OpenJDK Runtime Environment (build 1.6.0-b20)
> >> OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)
> >> net.sourceforge.jnlp.LaunchException: Fatal: Initialization
> >> Error: Could not initialize applet.
> >
> > Do you see /var/tmp/icedteaplugin-* directory, something like
> > this?
> >
> > %ls -dl /var/tmp/icedteaplugin-jkim/
> > drwx------  2 jkim  wheel  1536 Sep  9 18:32
> > /var/tmp/icedteaplugin-jkim/
>
> Yes, it contains some pipes:
>
> betelgeuse:/var/tmp/icedteaplugin-ivoras> ll
> total 0
> prw-------  1 ivoras  wheel  0 Sep 11 00:10
> 543-icedteanp-appletviewer-to-plugin|
> prw-------  1 ivoras  wheel  0 Sep 11 00:10
> 543-icedteanp-plugin-to-appletviewer|
> prw-------  1 ivoras  wheel  0 Sep 11 00:11
> 647-icedteanp-appletviewer-to-plugin|
> prw-------  1 ivoras  wheel  0 Sep 11 00:11
> 647-icedteanp-plugin-to-appletviewer|

They look correct.

Jung-uk Kim


More information about the freebsd-java mailing list