This bug is marked as upstream from the Ubuntu bug report:

https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/359407

so I am reporting the solution.

I've discovered the cause and created a small patch to fix the issue
which is currently attached to the Ubuntu bug. I'm attaching the same
patch to this report.

The patch needs adding to debian/rules but as the Debian and Ubuntu
packages diverge slightly due to security CVE patches I won't attach a
debdiff; instead I've attached a second patch.

The Ubuntu changelog entry reads:

openjdk-6 (6b14-1.4.1-0ubuntu12~tj~ppa1j) jaunty; urgency=low

  * Fix IcedTeaPlugin failure to start with xulrunner 1.9.1 (LP: #359407).
     debian/rules: add patch icedtea-plugin-use-runtime-nsIProcess-IID.diff

 -- TJ <[email protected]>  Thu, 17 Sep 2009 18:00:00 +0100




--- IcedTeaPlugin.cc
+++ IcedTeaPlugin.cc
@@ -3824,6 +3824,8 @@ void IcedTeaPluginFactory::IcedTeaPluginFactory::WriteToJVM(nsCString& message)
 
 */
 
+#include <nsIInterfaceInfoManager.h>
+
 nsresult
 IcedTeaPluginFactory::StartAppletviewer ()
 {
@@ -3845,9 +3847,15 @@ IcedTeaPluginFactory::StartAppletviewer ()
   result = file->InitWithNativePath (nsCString (appletviewer_executable));
   PLUGIN_CHECK_RETURN ("init with path", result);
 
+  // run-time query provided through nsIInterfaceInfoManager
+  nsCOMPtr<nsIInterfaceInfoManager> iim(do_GetService(NS_INTERFACEINFOMANAGER_SERVICE_CONTRACTID));
+  // get the run-time IID of nsIProcess (don't rely on a the build-time IID)
+  nsIID *nsIProcessIID;
+  iim->GetIIDForName("nsIProcess", &nsIProcessIID);
+
   result = manager->CreateInstanceByContractID (NS_PROCESS_CONTRACTID,
                                                 nsnull,
-                                                NS_GET_IID (nsIProcess),
+                                                *nsIProcessIID,
                                                 getter_AddRefs (applet_viewer_process));
   PLUGIN_CHECK_RETURN ("create process", result);
 
--- debian/rules.1	2009-09-17 18:20:21.465667839 +0100
+++ debian/rules	2009-09-17 18:02:43.725667711 +0100
@@ -191,6 +191,7 @@
 	debian/patches/6804996.patch \
 	debian/patches/6804997.patch \
 	debian/patches/6804998.patch \
+    debian/patches/icedtea-plugin-use-runtime-nsIProcess-IID.diff \
 	debian/patches/securitypatches-2009-08.diff
 
 #	debian/patches/gcc-mtune-generic.diff \

Reply via email to