I have webclient working with 0.8.1 on Win32, but I can't get it working
on Linux or Solaris.  For some reason the following components can't load:

+++ nsGenericModule JS component loader: unable to create factory for
{6bd13476-1dd2-11b2-bbef-f0ccb5fa64b6}
###!!! ASSERTION: Factory creation failed: 'NS_SUCCEEDED(rv)', file
nsNativeComponentLoader.cpp, line 157
###!!! Break: at file nsNativeComponentLoader.cpp, line 157
+++ nsGenericModule nsStringBundleModule: unable to create factory for
{d85a17c1-aa7c-11d2-9b8c-00805f8a16d9}
###!!! ASSERTION: Factory creation failed: 'NS_SUCCEEDED(rv)', file
nsNativeComponentLoader.cpp, line 157
###!!! Break: at file nsNativeComponentLoader.cpp, line 157
+++ nsGenericModule nsChromeModule: unable to create factory for
{d8c7d8a2-e84c-11d2-bf87-00105a1b0627}
###!!! ASSERTION: Factory creation failed: 'NS_SUCCEEDED(rv)', file
nsNativeComponentLoader.cpp, line 157
###!!! Break: at file nsNativeComponentLoader.cpp, line 157
+++ nsGenericModule appshell: unable to create factory for
{e34783f5-ac08-11d2-8d19-00805fc2500c}
###!!! ASSERTION: Factory creation failed: 'NS_SUCCEEDED(rv)', file
nsNativeComponentLoader.cpp, line 157
###!!! Break: at file nsNativeComponentLoader.cpp, line 157
+++ nsGenericModule nsProfileModule: unable to create factory for
{02b0625b-e7f3-11d2-9f5a-006008a6efe9}
###!!! ASSERTION: Factory creation failed: 'NS_SUCCEEDED(rv)', file
nsNativeComponentLoader.cpp, line 157
###!!! Break: at file nsNativeComponentLoader.cpp, line 157
+++ nsGenericModule nsPrefModule: unable to create factory for
{dc26e0e0-ca94-11d1-a9a4-00805f8a7ac4}
###!!! ASSERTION: Factory creation failed: 'NS_SUCCEEDED(rv)', file
nsNativeComponentLoader.cpp, line 157
###!!! Break: at file nsNativeComponentLoader.cpp, line 157

After debugging in the excellent gdb 5.0 with RH 7.0, I have determined
the cause to be:

    return module->GetClassObject(mCompMgr, aCID, NS_GET_IID(nsIFactory),
                                  (void **)aFactory);

is failing.

This is called here:

#0  nsNativeComponentLoader::GetFactoryFromModule (this=0x81cc230, 
    aDll=0x80f5aa0, aCID=@0x80c5e78, aFactory=0xbe5ff3d4)
    at nsNativeComponentLoader.cpp:1185
#1  0x490c3c5d in nsNativeComponentLoader::GetFactory (this=0x81cc230, 
    aCID=@0x80c5e78, aLocation=0x80c5ed8 "rel:libstrres.so", 
    aType=0x80c5eb0 "application/x-mozilla-native", _retval=0xbe5ff3d4)
    at nsNativeComponentLoader.cpp:136
#2  0x49126232 in nsFactoryEntry::GetFactory (this=0x80c5e78, 
    aFactory=0xbe5ff3d4, mgr=0x81c9a88) at nsComponentManager.h:217
#3  0x490bf195 in nsComponentManagerImpl::FindFactory (this=0x81c9a88, 
    aClass=@0xbe5ff4d4, aFactory=0xbe5ff3d4) at nsComponentManager.cpp:1028
#4  0x490bf6e1 in nsComponentManagerImpl::CreateInstance (this=0x81c9a88, 
    aClass=@0xbe5ff4d4, aDelegate=0x0, aIID=@0x48f336e0, aResult=0xbe5ff44c)
    at nsComponentManager.cpp:1196
#5  0x490cadda in nsComponentManager::CreateInstance (aClass=@0xbe5ff4d4, 
    aDelegate=0x0, aIID=@0x48f336e0, aResult=0xbe5ff44c) at nsRepository.cpp:81
#6  0x490cc080 in nsServiceManagerImpl::GetService (this=0x81c95c0, 
    aClass=@0xbe5ff4d4, aIID=@0x48f336e0, result=0xbe5ff594, 
    shutdownListener=0x0) at nsServiceManager.cpp:344
#7  0x490cc607 in nsServiceManagerImpl::GetService (this=0x81c95c0, 
    aContractID=0x48f33560 "@mozilla.org/intl/stringbundle;1", 
    aIID=@0x48f336e0, result=0xbe5ff594, shutdownListener=0x0)
    at nsServiceManager.cpp:491
---Type <return> to continue, or q <return> to quit---
#8  0x48f1c5c9 in NS_InitEmbedding (mozBinDirectory=0x81c91e8, 
    appFileLocProvider=0x0) at nsEmbedAPI.cpp:133
#9  0x48f10a41 in DoMozInitialization (initContext=0x81c87d8)
    at NativeEventThread.cpp:495
#10 0x48f11038 in InitMozillaStuff (initContext=0x81c87d8)
    at NativeEventThread.cpp:579
#11 0x48f10333 in
Java_org_mozilla_webclient_wrapper_1native_NativeEventThread_nativeInitialize
(env=0x81cc53c, obj=0xbe5ff81c, webShellPtr=136087512)
    at NativeEventThread.cpp:205
#12 0x48cfd975 in
Java_org_mozilla_webclient_wrapper_1native_NativeEventThread_nativeInitialize
(env=0x81cc53c, obj=0xbe5ff81c, webShellPtr=136087512)
    at NativeLoaderStub.cpp:446
#13 0x806a599 in ?? ()
#14 0x8067e81 in ?? ()

The mozBinDirectory passed to NS_InitEmbedding is valid and correct.
This doesn't fail on windows.

Am I missing something really simple?  Some new initialization call?

Please help,

Ed

This is reported in bug <http://bugzilla.mozilla.org/show_bug.cgi?id=74151>.

-- 
Remove REMOVE_THIS from email address before replying.

Reply via email to