Bug 441727 - java-1.6.0-openjdk-plugin.x86_64 looks for pluginappletviewer in wrong location
Summary: java-1.6.0-openjdk-plugin.x86_64 looks for pluginappletviewer in wrong location
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: java-1.6.0-openjdk
Version: rawhide
Hardware: x86_64
OS: Linux
high
medium
Target Milestone: ---
Assignee: Thomas Fitzsimmons
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-04-09 17:39 UTC by John Ruemker
Modified: 2009-02-19 19:09 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-04-10 17:26:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description John Ruemker 2008-04-09 17:39:55 UTC
Description of problem:

Running F9 rawhide with the following packages

   firefox-3.0-0.53.beta5.fc9.x86_64
   xulrunner-1.9-0.53.beta5.fc9.x86_64
   java-1.6.0-openjdk-1.6.0.0-0.7.b08.fc9.x86_64
   java-1.6.0-openjdk-plugin-1.6.0.0-0.7.b08.fc9.x86_64
   kernel-2.6.25-0.201.rc8.git4.fc9.x86_64

The java-1.6.0-openjdk-plugin does not work with Firefox.  openjdk works fine
from command line, but navigating to a site that requires java plugin support
will produce the error from firefox:

    "gcjwebplugin error: Failed to run
/usr/lib64/mozilla/plugins/../../bin/pluginappletviewer.  For more detail rerun
"firefox -g" in a terminal window"

This error indicates it is looking for /usr/lib64/bin/pluginappletviewer, but no
such directory exists.  To workaround this, I had to create /usr/lib64/bin and
symlink
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/pluginappletviewer to it.  

Version-Release number of selected component (if applicable):
java-1.6.0-openjdk-plugin-1.6.0.0-0.7.b08.fc9.x86_64

How reproducible: Always


Steps to Reproduce:
1.  Install openjdk plugin 
2.  Navigate to a site with a java applet
  
Actual results:  "gcjwebplugin error: Failed to run
/usr/lib64/mozilla/plugins/../../bin/pluginappletviewer.  For more detail rerun
"firefox -g" in a terminal window"

Expected results:  Applet should work

Additional info:  Also, I could not get firefox -g to work.  I have installed
firefox-debuginfo, xulrunner-debuginfo, and anything else I could think of thats
related but firefox -g would always give the following error:

    Missing separate debuginfo for /usr/lib64/firefox-3.0b5/firefox
    Try: yum --enablerepo='*-debuginfo' install
/usr/lib/debug/.build-id/4e/6273aba42b92740838658040586e75716c5a73.debug

However yum can't find any packages matching that file

Let me know if you need any other info

Comment 1 Lillian Angel 2008-04-10 14:25:09 UTC
I have not been successful in reproducing this bug on x86_64:

# firefox http://oneslime.net
GCJ PLUGIN: thread 0x90aef0: NP_Initialize
GCJ PLUGIN: thread 0x90aef0: plugin_test_appletviewer
GCJ PLUGIN: thread 0x90aef0: plugin_test_appletviewer return
GCJ PLUGIN: thread 0x90aef0: NP_Initialize: using
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/../../bin/pluginappletviewer
GCJ PLUGIN: thread 0x90aef0: NP_Initialize return
GCJ PLUGIN: thread 0x90aef0: GCJ_New
GCJ PLUGIN: thread 0x90aef0: plugin_data_new
GCJ PLUGIN: thread 0x90aef0: plugin_data_new return
GCJ PLUGIN: thread 0x90aef0: plugin_get_documentbase
GCJ PLUGIN: thread 0x90aef0: plugin_get_documentbase return
GCJ PLUGIN: thread 0x90aef0: GCJ_New: creating input fifo:
/root/.gcjwebplugin/gcj-instance-31508-0-appletviewer-to-plugin
GCJ PLUGIN: thread 0x90aef0: GCJ_New: created input fifo:
/root/.gcjwebplugin/gcj-instance-31508-0-appletviewer-to-plugin
GCJ PLUGIN: thread 0x90aef0: GCJ_New: creating output fifo:
/root/.gcjwebplugin/gcj-instance-31508-0-plugin-to-appletviewer
GCJ PLUGIN: thread 0x90aef0: GCJ_New: created output fifo:
/root/.gcjwebplugin/gcj-instance-31508-0-plugin-to-appletviewer
GCJ PLUGIN: thread 0x90aef0: plugin_start_appletviewer
GCJ PLUGIN: thread 0x90aef0: plugin_start_appletviewer return
  PIPE: appletviewer wrote: running
GCJ PLUGIN: thread 0x90aef0: GCJ_New: got confirmation that appletviewer is running.
GCJ PLUGIN: thread 0x90aef0: plugin_create_applet_tag
GCJ PLUGIN: thread 0x90aef0: plugin_create_applet_tag return
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: plugin wrote: instance-31508-0
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: plugin wrote: tag http://oneslime.net/ <EMBED CODE="Slime1P.class"
CODEBASE="/one/" ARCHIVE="OneSlime2007.jar" HEIGHT="375" WIDTH="750" ></EMBED>
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: GCJ_New return
  PIPE: appletviewer read: instance-31508-0
  PIPE: appletviewer read: tag http://oneslime.net/ <EMBED CODE="Slime1P.class"
CODEBASE="/one/" ARCHIVE="OneSlime2007.jar" HEIGHT="375" WIDTH="750" ></EMBED>
GCJ PLUGIN: thread 0x90aef0: NP_GetValue
GCJ PLUGIN: thread 0x90aef0: NP_GetValue: returning plugin description.
GCJ PLUGIN: thread 0x90aef0: NP_GetValue return
GCJ PLUGIN: thread 0x90aef0: GCJ_GetValue
GCJ PLUGIN: thread 0x90aef0: GCJ_GetValue: returning TRUE for NeedsXEmbed.
GCJ PLUGIN: thread 0x90aef0: GCJ_GetValue return
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow: setting window.
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: appletviewer read: instance-31508-0
  PIPE: plugin wrote: instance-31508-0
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: appletviewer read: handle 46138149 width 750 height 375
  PIPE: plugin wrote: handle 46138149 width 750 height 375
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow return
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow: window already exists.
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow: window width changed.
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: plugin wrote: instance-31508-0
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: plugin wrote: width 750
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow: window height changed.
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: plugin wrote: instance-31508-0
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer
  PIPE: plugin wrote: height 375
GCJ PLUGIN: thread 0x90aef0: plugin_send_message_to_appletviewer return
GCJ PLUGIN: thread 0x90aef0: GCJ_SetWindow return
  PIPE: appletviewer wrote: status starting applet...
  PIPE: appletviewer read: instance-31508-0
  PIPE: appletviewer read: width 750
  PIPE: appletviewer read: instance-31508-0
  PIPE: appletviewer read: height 375
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback: setting status starting
applet...
  PIPE: plugin read: status starting applet...
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback return
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback: setting status Applet loaded.
  PIPE: plugin read: status Applet loaded.
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback return
  PIPE: appletviewer wrote: status Applet loaded.
One Slime: http://oneslime.net/
http://oneslime.net/one/
  PIPE: appletviewer wrote: status Applet initialized.GCJ PLUGIN: thread
0x90aef0: plugin_in_pipe_callback
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback: setting status Applet
initialized.
  PIPE: plugin read: status Applet initialized.

  PIPE: appletviewer wrote: status Applet started.GCJ PLUGIN: thread 0x90aef0:
plugin_in_pipe_callback return
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback
GCJ PLUGIN: thread 0x90aef0: plugin_in_pipe_callback: setting status Applet started.
  PIPE: plugin read: status Applet started.

Comment 2 Lillian Angel 2008-04-10 14:27:03 UTC
Note that /usr/lib64/bin does not exist on my system either. I am not sure why
the plugin would be looking there.

Comment 3 John Ruemker 2008-04-10 14:40:12 UTC
Strange, I get it on the same site even after reinstalling 

[jruemker@cervantes njlrlp29]$ firefox http://oneslime.net
GCJ PLUGIN: thread 0x1f20e00: NP_GetValue
GCJ PLUGIN: thread 0x1f20e00: NP_GetValue: returning plugin description.
GCJ PLUGIN: thread 0x1f20e00: NP_GetValue return
GCJ PLUGIN: thread 0x1f20e00: NP_Initialize
GCJ PLUGIN: thread 0x1f20e00: plugin_test_appletviewer
gcjwebplugin.cc:1045: thread 0x1f20e00: Error: Failed to spawn applet viewer:
Failed to execute child process
"/usr/lib64/mozilla/plugins/../../bin/pluginappletviewer" (No such file or
directory)
GCJ PLUGIN: thread 0x1f20e00: plugin_test_appletviewer return
GCJ PLUGIN: thread 0x1f20e00: plugin_display_failure_dialog
/usr/lib64/firefox-3.0b5/run-mozilla.sh: line 131:  5722 Killed                
 "$prog" ${1+"$@"}
[jruemker@cervantes njlrlp29]$ GCJ PLUGIN: thread 0x1f20e00:
plugin_display_failure_dialog return



Comment 4 John Ruemker 2008-04-10 14:46:27 UTC
Looks like it gets the path in gcjwebplugin.cc line 1514-1531:

   1514   // Set appletviewer_executable.
   1515   Dl_info info;
   1516   if (dladdr ((const void*) GCJ_New, &info) == 0)
   1517     {
   1518       PLUGIN_ERROR_TWO ("Failed to determine plugin shared object filename",
   1519                         dlerror ());
   1520       np_error = NPERR_GENERIC_ERROR;
   1521       goto cleanup_data_directory;
   1522     }
   1523   filename = g_strdup (info.dli_fname);
   1524   if (!filename)
   1525     {
   1526       PLUGIN_ERROR ("Failed to create plugin shared object filename.");
   1527       np_error = NPERR_OUT_OF_MEMORY_ERROR;
   1528       goto cleanup_data_directory;
   1529     }
   1530   appletviewer_executable = g_strdup_printf
("%s/../../bin/pluginappletviewer",
   1531                                              dirname (filename));


Comment 5 Lillian Angel 2008-04-10 14:50:35 UTC
Can you check these ?

# ll /usr/lib64/mozilla/plugins/libjavaplugin.so 
lrwxrwxrwx 1 root root 41 2008-04-08 12:08
/usr/lib64/mozilla/plugins/libjavaplugin.so ->
/etc/alternatives/libjavaplugin.so.x86_64

# ll /etc/alternatives/libjavaplugin.so.x86_64
lrwxrwxrwx 1 root root 63 2008-04-08 12:08
/etc/alternatives/libjavaplugin.so.x86_64 ->
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/lib/amd64/gcjwebplugin.so

Comment 6 John Ruemker 2008-04-10 14:57:23 UTC
[root@cervantes icedtea6-1.0]# ll /usr/lib64/mozilla/plugins/libjavaplugin.so 
lrwxrwxrwx 1 root root 41 2008-04-10 10:33
/usr/lib64/mozilla/plugins/libjavaplugin.so ->
/etc/alternatives/libjavaplugin.so.x86_64

[root@cervantes icedtea6-1.0]# ll /etc/alternatives/libjavaplugin.so.x86_64
lrwxrwxrwx 1 root root 63 2008-04-10 10:33
/etc/alternatives/libjavaplugin.so.x86_64 ->
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/lib/amd64/gcjwebplugin.so


Comment 7 Thomas Fitzsimmons 2008-04-10 15:45:31 UTC
Can you post the result of:

find /usr/lib/mozilla/plugins

and

find /usr/lib64/mozilla/plugins

Comment 8 John Ruemker 2008-04-10 15:51:43 UTC
[root@cervantes ~]# find /usr/lib/mozilla/plugins
/usr/lib/mozilla/plugins
/usr/lib/mozilla/plugins/libflashplayer.so

[root@cervantes ~]# find /usr/lib64/mozilla/plugins
/usr/lib64/mozilla/plugins
/usr/lib64/mozilla/plugins/gcjwebplugin.so
/usr/lib64/mozilla/plugins/librhythmbox-itms-detection-plugin.so
/usr/lib64/mozilla/plugins/libjavaplugin.so


Comment 9 Lillian Angel 2008-04-10 15:55:09 UTC
Hmm, why would you have /usr/lib64/mozilla/plugins/gcjwebplugin.so there?
This is what I have:

# find /usr/lib64/mozilla/plugins
/usr/lib64/mozilla/plugins
/usr/lib64/mozilla/plugins/libtotem-basic-plugin.xpt
/usr/lib64/mozilla/plugins/libswfdecmozilla.so
/usr/lib64/mozilla/plugins/libtotem-gmp-plugin.so
/usr/lib64/mozilla/plugins/libtotem-narrowspace-plugin.so
/usr/lib64/mozilla/plugins/libtotem-mully-plugin.so
/usr/lib64/mozilla/plugins/libjavaplugin.so
/usr/lib64/mozilla/plugins/libtotem-mully-plugin.xpt
/usr/lib64/mozilla/plugins/libtotem-complex-plugin.xpt
/usr/lib64/mozilla/plugins/libtotem-narrowspace-plugin.xpt
/usr/lib64/mozilla/plugins/libtotem-gmp-plugin.xpt
/usr/lib64/mozilla/plugins/libtotem-basic-plugin.so
/usr/lib64/mozilla/plugins/librhythmbox-itms-detection-plugin.so
/usr/lib64/mozilla/plugins/libtotem-complex-plugin.so
/usr/lib64/mozilla/plugins/libtotem-cone-plugin.so
/usr/lib64/mozilla/plugins/libtotem-cone-plugin.xpt

Comment 10 Thomas Fitzsimmons 2008-04-10 15:59:46 UTC
Can you post the results of:

readlink -f /usr/lib64/mozilla/plugins/gcjwebplugin.so

and

readlink -f /usr/lib64/mozilla/plugins/libjavaplugin.so


Comment 11 John Ruemker 2008-04-10 16:23:30 UTC
[root@cervantes ~]# readlink -f /usr/lib64/mozilla/plugins/gcjwebplugin.so
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/gcjwebplugin.so

[root@cervantes ~]# readlink -f /usr/lib64/mozilla/plugins/libjavaplugin.so
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/gcjwebplugin.so


Comment 12 John Ruemker 2008-04-10 16:29:46 UTC
Ok that is weird.  I removed openjdk-plugin, cleared out
/usr/lib64/mozilla/plugins, then reinstalled the plugin and gcjwebplugin.so was
no longer there.  Now when I go to the site I don't get the error (yet the
applet still doesn't work).  Is it possible an older version made a link there?
 I'm pretty sure I didn't do it, so not sure how it ended up that way.  

Thanks for your help.  

Comment 13 John Ruemker 2008-04-10 16:31:26 UTC
and the applet does work now after I restarted firefox.  thanks again

Comment 14 Michael A. Peters 2009-02-19 19:09:05 UTC
I've been having the same issue with centos x86_64 - I usually just ignore the message because I don't mind that sites can't run their java applet, but now I needed to, and had the same issue (and thus found this bug).

I'm wondering if it is related to the fact that nswrapper (I think that's what it was called?) use to be necessary for flash to work in 64-bit - I wonder if it did some stuff with java plugin it wasn't suppose to.


Note You need to log in before you can comment on or make changes to this bug.