Subject: now I'm really stymied, mozilla-gtk2-1.7.3 also fails for me on i386
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 12/02/2004 20:39:19
OK, now I'm really stymied. Can anyone shed any clue on what I'm doing
wrong in my pkgsrc builds?
So far as I can tell I've built everything necessary for mozilla-gtk2 to
work, in all the right ways, just as I've done to get it to work
before.
I.e. as far as I can tell I've done nothing different than I did
previously to get mozilla-gtk2-1.6 to work.
Now I'm sure though it's something I'm doing different since everyone
else seems to be happy with 1.7.3 on 1.6.2_STABLE, and especialy since
this is the exact same failure I'm seeing on the alpha.
At least now though on i386 the GDB stack trace seems to be more
meaningful -- though not to me.....
I'd sure appreciate some help from anyone more knowledgeable about
mozilla innards than I am (which should be most anyone! :-)
+ cd /usr/pkg/lib/mozilla-gtk2
+ /usr/bin/env -i LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom
Segmentation fault - core dumped
*** Error code 139
Stop.
make: stopped in /building/work/woods/m-NetBSD-pkgsrc/www/mozilla-gtk2
*** Error code 1
[ttyp0]<woods@always> # tail - /var/log/kern
Dec 2 19:18:53 always /netbsd: regxpcom: pid 25207 [eid 0:0, rid 0:0] exited on signal 11: dumped core [in /usr/pkg/lib/mozilla-gtk2/regxpcom.core]
[ttyp0]<woods@always> # cd /usr/pkg/lib/mozilla-gtk2
[ttyp0]<woods@always> # gdb ./regxpcom ./regxpcom.core
GNU gdb 5.0nb1
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386--netbsdelf"...
Core was generated by `regxpcom'.
Program terminated with signal 11, Segmentation fault.
warning: current_sos: Can't read pathname for load map: Input/output error
Reading symbols from /usr/pkg/lib/mozilla-gtk2/./libplds4.so...done.
Loaded symbols for /usr/pkg/lib/mozilla-gtk2/./libplds4.so
Reading symbols from /usr/pkg/lib/mozilla-gtk2/./libplc4.so...done.
Loaded symbols for /usr/pkg/lib/mozilla-gtk2/./libplc4.so
Reading symbols from /usr/pkg/lib/mozilla-gtk2/./libnspr4.so...done.
Loaded symbols for /usr/pkg/lib/mozilla-gtk2/./libnspr4.so
Reading symbols from /usr/lib/libintl.so.0...done.
Loaded symbols for /usr/lib/libintl.so.0
Reading symbols from /usr/lib/libstdc++.so.4...done.
Loaded symbols for /usr/lib/libstdc++.so.4
Reading symbols from /usr/lib/libm387.so.0...done.
Loaded symbols for /usr/lib/libm387.so.0
Reading symbols from /usr/lib/libm.so.0...done.
Loaded symbols for /usr/lib/libm.so.0
Reading symbols from /usr/lib/libc.so.12...done.
Loaded symbols for /usr/lib/libc.so.12
Reading symbols from /usr/pkg/lib/mozilla-gtk2/./libxpcom.so...done.
Loaded symbols for /usr/pkg/lib/mozilla-gtk2/./libxpcom.so
Reading symbols from /usr/pkg/lib/libiconv.so.4...done.
Loaded symbols for /usr/pkg/lib/libiconv.so.4
#0 0x482172b9 in nsAppFileLocationProvider::GetProductDirectory (
this=0x805ad40, aLocalFile=0xbfbfd95c)
at ../../dist/include/string/nsCharTraits.h:339
339 return strlen(s);
(gdb) where
#0 0x482172b9 in nsAppFileLocationProvider::GetProductDirectory (
this=0x805ad40, aLocalFile=0xbfbfd95c)
at ../../dist/include/string/nsCharTraits.h:339
#1 0x48216ebc in nsAppFileLocationProvider::GetFile (this=0x805ad40,
prop=0x48275487 "UserPlugins", persistant=0xbfbfd9a4, _retval=0xbfbfd9ac)
at nsAppFileLocationProvider.cpp:244
#2 0x48217be7 in nsPathsDirectoryEnumerator::HasMoreElements (this=0x80746a0,
result=0xbfbfda08) at nsAppFileLocationProvider.cpp:459
#3 0x48252254 in AppendFromDirServiceList (codename=0x48279ef5 "APluginsDL",
aPath=0x805c380) at xptiInterfaceInfoManager.cpp:214
#4 0x482523d2 in xptiInterfaceInfoManager::BuildFileSearchPath (
aPath=0xbfbfda8c) at xptiInterfaceInfoManager.cpp:272
#5 0x482519fb in xptiInterfaceInfoManager::GetInterfaceInfoManagerNoAddRef ()
at xptiInterfaceInfoManager.cpp:64
#6 0x48256770 in XPTI_GetInterfaceInfoManager ()
at xptiInterfaceInfoManager.cpp:2114
#7 0x4823b2e4 in nsComponentManagerImpl::AutoRegisterImpl (this=0x805d100,
when=0, inDirSpec=0x0, fileIsCompDir=1) at nsComponentManager.cpp:3192
#8 0x4823bc1b in nsComponentManagerImpl::AutoRegister (this=0x805d100,
aSpec=0x0) at nsComponentManager.cpp:3428
#9 0x481f981c in NS_InitXPCOM2 (result=0x0, binDirectory=0x0,
appFileLocationProvider=0x805ac60) at nsXPComInit.cpp:576
#10 0x804cce1 in NS_InitXPCOM2 (result=0x0, binDirectory=0x0,
---Type <return> to continue, or q <return> to quit---
appFileLocationProvider=0x805ac60) at nsXPCOMGlue.cpp:173
#11 0x804c10e in startup_xpcom () at regxpcom.cpp:167
#12 0x804c6c1 in main (argc=1, argv=0xbfbfdd50) at regxpcom.cpp:389
#13 0x804bbe9 in ___start (argc=1, argv=0xbfbfdd50, envp=0xbfbfdd58,
cleanup=0x480559e0, obj=0x48060200, ps_strings=0xbfbfdff0)
at /building/work/woods/m-NetBSD-1.6/lib/csu/i386_elf/crt0.c:94
(gdb) list
334
335 static
336 size_t
337 length( const char_type* s )
338 {
339 return strlen(s);
340 }
341
342 static
343 const char_type*
(gdb) up
#1 0x48216ebc in nsAppFileLocationProvider::GetFile (this=0x805ad40,
prop=0x48275487 "UserPlugins", persistant=0xbfbfd9a4, _retval=0xbfbfd9ac)
at nsAppFileLocationProvider.cpp:244
244 rv = GetProductDirectory(getter_AddRefs(localFile));
(gdb) list
239 if (pathVar)
240 rv = NS_NewNativeLocalFile(nsDependentCString(pathVar), PR_TRUE, getter_AddRefs(localFile));
241 }
242 else if (nsCRT::strcmp(prop, NS_USER_PLUGINS_DIR) == 0)
243 {
244 rv = GetProductDirectory(getter_AddRefs(localFile));
245 if (NS_SUCCEEDED(rv))
246 rv = localFile->AppendRelativeNativePath(PLUGINS_DIR_NAME);
247 }
248 #endif
(gdb) up
#2 0x48217be7 in nsPathsDirectoryEnumerator::HasMoreElements (this=0x80746a0,
result=0xbfbfda08) at nsAppFileLocationProvider.cpp:459
459 (void)mProvider->GetFile(*mCurrentKey++, &dontCare, getter_AddRefs(testFile));
(gdb) list
454 {
455 while (!mNext && *mCurrentKey)
456 {
457 PRBool dontCare;
458 nsCOMPtr<nsIFile> testFile;
459 (void)mProvider->GetFile(*mCurrentKey++, &dontCare, getter_AddRefs(testFile));
460 // Don't return a file which does not exist.
461 PRBool exists;
462 if (testFile && NS_SUCCEEDED(testFile->Exists(&exists)) && exists)
463 mNext = testFile;
(gdb) up
#3 0x48252254 in AppendFromDirServiceList (codename=0x48279ef5 "APluginsDL",
aPath=0x805c380) at xptiInterfaceInfoManager.cpp:214
214 while(NS_SUCCEEDED(fileList->HasMoreElements(&more)) && more)
(gdb) list
209 getter_AddRefs(fileList));
210 if(!fileList)
211 return PR_FALSE;
212
213 PRBool more;
214 while(NS_SUCCEEDED(fileList->HasMoreElements(&more)) && more)
215 {
216 nsCOMPtr<nsILocalFile> dir;
217 fileList->GetNext(getter_AddRefs(dir));
218 if(!dir || !aPath->AppendElement(dir))
(gdb) up
#4 0x482523d2 in xptiInterfaceInfoManager::BuildFileSearchPath (
aPath=0xbfbfda8c) at xptiInterfaceInfoManager.cpp:272
272 (void)AppendFromDirServiceList(NS_APP_PLUGINS_DIR_LIST, searchPath);
(gdb) list
267
268 if(!equalsCompDir)
269 searchPath->AppendElement(greComponentDirectory);
270 }
271
272 (void)AppendFromDirServiceList(NS_APP_PLUGINS_DIR_LIST, searchPath);
273
274 NS_ADDREF(*aPath = searchPath);
275 return PR_TRUE;
276 }
(gdb) up
#5 0x482519fb in xptiInterfaceInfoManager::GetInterfaceInfoManagerNoAddRef ()
at xptiInterfaceInfoManager.cpp:64
64 BuildFileSearchPath(getter_AddRefs(searchPath));
(gdb) list
59 xptiInterfaceInfoManager::GetInterfaceInfoManagerNoAddRef()
60 {
61 if(!gInterfaceInfoManager)
62 {
63 nsCOMPtr<nsISupportsArray> searchPath;
64 BuildFileSearchPath(getter_AddRefs(searchPath));
65 if(!searchPath)
66 {
67 NS_ERROR("can't get xpt search path!");
68 return nsnull;
(gdb) up
#6 0x48256770 in XPTI_GetInterfaceInfoManager ()
at xptiInterfaceInfoManager.cpp:2114
2114 nsIInterfaceInfoManager* iim =
(gdb) list
2109 /***************************************************************************/
2110
2111 XPTI_PUBLIC_API(nsIInterfaceInfoManager*)
2112 XPTI_GetInterfaceInfoManager()
2113 {
2114 nsIInterfaceInfoManager* iim =
2115 xptiInterfaceInfoManager::GetInterfaceInfoManagerNoAddRef();
2116 NS_IF_ADDREF(iim);
2117 return iim;
2118 }
(gdb) up
#7 0x4823b2e4 in nsComponentManagerImpl::AutoRegisterImpl (this=0x805d100,
when=0, inDirSpec=0x0, fileIsCompDir=1) at nsComponentManager.cpp:3192
3192 nsCOMPtr<nsIInterfaceInfoManager> iim =
(gdb) list
3187 mComponentsDir->Clone(getter_AddRefs(dir));
3188 if (!dir)
3189 return NS_ERROR_NOT_INITIALIZED;
3190 }
3191
3192 nsCOMPtr<nsIInterfaceInfoManager> iim =
3193 dont_AddRef(XPTI_GetInterfaceInfoManager());
3194
3195 if (!iim)
3196 return NS_ERROR_UNEXPECTED;
(gdb) up
#8 0x4823bc1b in nsComponentManagerImpl::AutoRegister (this=0x805d100,
aSpec=0x0) at nsComponentManager.cpp:3428
3428 return AutoRegisterImpl(0, aSpec, PR_FALSE);
(gdb) list
3423
3424 PRBool directory;
3425 aSpec->IsDirectory(&directory);
3426
3427 if (directory)
3428 return AutoRegisterImpl(0, aSpec, PR_FALSE);
3429
3430 return AutoRegisterComponent(0, aSpec);
3431 }
3432
(gdb) up
#9 0x481f981c in NS_InitXPCOM2 (result=0x0, binDirectory=0x0,
appFileLocationProvider=0x805ac60) at nsXPComInit.cpp:576
576 nsComponentManagerImpl::gComponentManager->AutoRegister(nsnull);
(gdb) list
571 #endif
572
573 if ( NS_FAILED(rv) || CheckAndRemoveUpdateFile()) {
574 // if we find no persistent registry, we will try to autoregister
575 // the default components directory.
576 nsComponentManagerImpl::gComponentManager->AutoRegister(nsnull);
577
578 // If the application is using a GRE, then,
579 // auto register components in the GRE directory as well.
580 //
(gdb) up
#10 0x804cce1 in NS_InitXPCOM2 (result=0x0, binDirectory=0x0,
appFileLocationProvider=0x805ac60) at nsXPCOMGlue.cpp:173
173 return xpcomFunctions.init(result, binDirectory, appFileLocationProvider);
(gdb) list
168 nsIFile* binDirectory,
169 nsIDirectoryServiceProvider* appFileLocationProvider)
170 {
171 if (!xpcomFunctions.init)
172 return NS_ERROR_NOT_INITIALIZED;
173 return xpcomFunctions.init(result, binDirectory, appFileLocationProvider);
174 }
175
176 extern "C" NS_COM nsresult
177 NS_ShutdownXPCOM(nsIServiceManager* servMgr)
(gdb) up
#11 0x804c10e in startup_xpcom () at regxpcom.cpp:167
167 rv = NS_InitXPCOM2(nsnull, file, provider);
(gdb) list
162 PR_TRUE,
163 getter_AddRefs(file));
164 }
165
166 NS_ADDREF(provider);
167 rv = NS_InitXPCOM2(nsnull, file, provider);
168 NS_RELEASE(provider);
169
170 if (NS_FAILED(rv)) {
171 printf("Can not initialize XPCOM\n");
(gdb) up
#12 0x804c6c1 in main (argc=1, argv=0xbfbfdd50) at regxpcom.cpp:389
389 startup_xpcom();
(gdb) list
384 nsresult rv;
385
386 /* With no arguments, regxpcom will autoregister */
387 if (argc <= 1)
388 {
389 startup_xpcom();
390 nsCOMPtr<nsIComponentRegistrar> registrar;
391 rv = NS_GetComponentRegistrar(getter_AddRefs(registrar));
392 if (NS_FAILED(rv)) {
393 printf("Can not aquire component registrar\n");
(gdb)
--
Greg A. Woods
+1 416 218-0098 VE3TCP RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com> Secrets of the Weird <woods@weird.com>