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
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.
Note that /usr/lib64/bin does not exist on my system either. I am not sure why the plugin would be looking there.
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
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));
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
[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
Can you post the result of: find /usr/lib/mozilla/plugins and find /usr/lib64/mozilla/plugins
[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
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
Can you post the results of: readlink -f /usr/lib64/mozilla/plugins/gcjwebplugin.so and readlink -f /usr/lib64/mozilla/plugins/libjavaplugin.so
[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
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.
and the applet does work now after I restarted firefox. thanks again
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.