Hi Benjamin,
Thanks for your reply. My app is a C++ Gecko full embedding, I am using "frozen linkage - standalone glue", according to https://developer.mozilla.org/en/XPCOM_Glue , which I believe is the "independent" glue. It is in production with Gecko7 and everything works there, so I am toying around with latest geckos just to check your latest improvements. Strange thing is, I have no problem compiling/linking vs (for example) Gecko11: I just change a symlink in my codebase, clean all and rebuild, same makefiles, no hassles. It seems something has forced this link dependence moving from Gecko11 to Gecko12. I am building both Xulrunner/Gecko11 and Xulrunner/Gecko12 with the same .mozconfig. (which is just standard, plus RTTI turned on, I need that). My developement environment is Linux Ubuntu 12.04. Aha: I got what you mean... you are talking about https://developer.mozilla.org/en/XPCOM_Glue/XPCOM_Glue_without_mozalloc. Exactly, it seems something in Gecko12 (in my build) has forced a similar dependence ALSO on the standalone glue. In fact, this problem is not so hard to solve... As you suggest, linking mozalloc solves the issue... nearly, :) because now I have now a crash here: Thread [1] 21004 [core: 0] (Suspended : Signal : SIGSEGV:Segmentation fault) 0x0 mozilla::storage::() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/storage/src/mozStorageService.cpp:568 0xb1a5b7ce mallocWithAlarm() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:18,778 0xb2b7daec sqlite3Malloc() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:18,822 0xb2b83ffa sqlite3Malloc() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:18,809 0xb2b83ffa sqlite3MallocZero() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:19,086 0xb2b845e7 pthreadMutexAlloc() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:17,966 0xb2b8ca39 pthreadMutexAlloc() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:17,954 0xb2b8ca39 sqlite3MutexAlloc() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:17,280 0xb2b7d87f sqlite3_initialize() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:112,346 0xb2b8d37f sqlite3_initialize() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/db/sqlite3/src/sqlite3.c:46,765 0xb2b8d37f mozilla::storage::Service::initialize() at /home/brancotti/projects/ Mozilla/src/firefox-12.0.source/storage/src/mozStorageService.cpp:616 0xb1a5d161 mozilla::storage::Service::getSingleton() at /home/brancotti/projects/ Mozilla/src/firefox-12.0.source/storage/src/mozStorageService.cpp:402 0xb1a5d3de ServiceConstructor() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/storage/build/mozStorageModule.cpp:53 0xb1a5ae5f mozilla::storage::ServiceConstructor() at /home/brancotti/projects/ Mozilla/src/firefox-12.0.source/storage/build/mozStorageModule.cpp:54 0xb1a5ae5f mozilla::GenericFactory::CreateInstance() at /home/brancotti/projects/ Mozilla/obj/gre12_fortifySource_disabledStuff/xpcom/build/ GenericFactory.cpp:48 0xb1c19adf CreateInstanceByContractID() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/xpcom/components/nsComponentManager.cpp:1,064 0xb1c43a1b nsComponentManagerImpl::CreateInstanceByContractID() at /home/ brancotti/projects/Mozilla/src/firefox-12.0.source/xpcom/components/ nsComponentManager.cpp:1,013 0xb1c43a1b GetServiceByContractID() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/xpcom/components/nsComponentManager.cpp:1,466 0xb1c445c4 nsComponentManagerImpl::GetServiceByContractID() at /home/brancotti/ projects/Mozilla/src/firefox-12.0.source/xpcom/components/ nsComponentManager.cpp:1,378 0xb1c445c4 CallGetService() at /home/brancotti/projects/Mozilla/obj/ gre12_fortifySource_disabledStuff/xpcom/build/ nsComponentManagerUtils.cpp:94 0xb1c1492d nsGetServiceByContractIDWithError::operator() at /home/brancotti/ projects/Mozilla/obj/gre12_fortifySource_disabledStuff/xpcom/build/ nsComponentManagerUtils.cpp:288 0xb1c14bd3 nsCOMPtr_base::assign_from_gs_contractid_with_error() at /home/ brancotti/projects/Mozilla/obj/gre12_fortifySource_disabledStuff/xpcom/ build/nsCOMPtr.cpp:141 0xb1c140af operator=() at /home/brancotti/projects/Mozilla/obj/ gre12_fortifySource_disabledStuff/dist/include/nsCOMPtr.h:709 0xb12624ad nsCookieService::Init() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/netwerk/cookie/nsCookieService.cpp:644 0xb12624ad nsCookieService::GetSingleton() at /home/brancotti/projects/Mozilla/ src/firefox-12.0.source/netwerk/cookie/nsCookieService.cpp:591 0xb12625d2 nsICookieServiceConstructor() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/netwerk/build/nsNetModule.cpp:183 0xb11be8ff nsICookieServiceConstructor() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/netwerk/build/nsNetModule.cpp:184 0xb11be8ff mozilla::GenericFactory::CreateInstance() at /home/brancotti/projects/ Mozilla/obj/gre12_fortifySource_disabledStuff/xpcom/build/ GenericFactory.cpp:48 0xb1c19adf CreateInstanceByContractID() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/xpcom/components/nsComponentManager.cpp:1,064 0xb1c43a1b nsComponentManagerImpl::CreateInstanceByContractID() at /home/ brancotti/projects/Mozilla/src/firefox-12.0.source/xpcom/components/ nsComponentManager.cpp:1,013 0xb1c43a1b GetServiceByContractID() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/xpcom/components/nsComponentManager.cpp:1,466 0xb1c445c4 nsComponentManagerImpl::GetServiceByContractID() at /home/brancotti/ projects/Mozilla/src/firefox-12.0.source/xpcom/components/ nsComponentManager.cpp:1,378 0xb1c445c4 CallGetService() at /home/brancotti/projects/Mozilla/obj/ gre12_fortifySource_disabledStuff/xpcom/build/ nsComponentManagerUtils.cpp:94 0xb1c1492d nsGetServiceByContractID::operator() at /home/brancotti/projects/ Mozilla/obj/gre12_fortifySource_disabledStuff/xpcom/build/ nsComponentManagerUtils.cpp:278 0xb1c14ba8 nsCOMPtr_base::assign_from_gs_contractid() at /home/brancotti/ projects/Mozilla/obj/gre12_fortifySource_disabledStuff/xpcom/build/ nsCOMPtr.cpp:132 0xb1c1407b operator=() at /home/brancotti/projects/Mozilla/obj/ gre12_fortifySource_disabledStuff/dist/include/nsCOMPtr.h:701 0xb123185c nsHttpHandler::GetCookieService() at /home/brancotti/projects/Mozilla/ src/firefox-12.0.source/netwerk/protocol/http/nsHttpHandler.cpp:526 0xb123185c mozilla::net::HttpBaseChannel::AddCookiesToRequest() at /home/ brancotti/projects/Mozilla/src/firefox-12.0.source/netwerk/protocol/ http/HttpBaseChannel.cpp:1,482 0xb12376d7 AsyncOpen() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/netwerk/protocol/http/nsHttpChannel.cpp:3,753 0xb1240905 nsHttpChannel::AsyncOpen() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/netwerk/protocol/http/nsHttpChannel.cpp:3,714 0xb1240905 nsURILoader::OpenURI() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/uriloader/base/nsURILoader.cpp:815 0xb1998218 nsDocShell::DoChannelLoad() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/docshell/base/nsDocShell.cpp:9,110 0xb197b221 nsDocShell::DoURILoad() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/docshell/base/nsDocShell.cpp:8,947 0xb1986c69 nsDocShell::InternalLoad() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/docshell/base/nsDocShell.cpp:8,638 0xb199198b LoadURI() at /home/brancotti/projects/Mozilla/src/firefox-12.0.source/ docshell/base/nsDocShell.cpp:1,473 0xb19853a3 nsDocShell::LoadURI() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/docshell/base/nsDocShell.cpp:1,200 0xb19853a3 LoadURI() at /home/brancotti/projects/Mozilla/src/firefox-12.0.source/ docshell/base/nsDocShell.cpp:3,807 0xb197f3c9 nsDocShell::LoadURI() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/docshell/base/nsDocShell.cpp:3,726 0xb197f3c9 nsWebBrowser::LoadURI() at /home/brancotti/projects/Mozilla/src/ firefox-12.0.source/embedding/browser/webBrowser/nsWebBrowser.cpp:668 0xb19cfb57 EyeBall::EmbeddedBrowser::NavigateTo() at /home/brancotti/projects/ iAble/Trunk/Browser/Browser/EmbeddedBrowser.cpp:2,528 0x8f2f3b7 EyeBall::HTTPBrowserWidget::NavigateTo() at /home/brancotti/projects/ iAble/Trunk/Browser/Browser/HTTPBrowserWidget.cpp:925 0x8f3a541 EyeBall::HTTPBrowserWidget::InitialNavigate() at /home/brancotti/ projects/iAble/Trunk/Browser/Browser/HTTPBrowserWidget.cpp:1,128 0x8f3a602 EyeBall::IAbleModel::SetIAbleCurrentApplication() at /home/brancotti/ projects/iAble/Trunk/IAbleEnvironment/BaseApplication/IAbleModel.cpp: 450 0x8fecd5d EyeBall::StartPanel::GoToApplication() at /home/brancotti/projects/ iAble/Trunk/IAbleEnvironment/IAbleEnvironment/StartPanel.cpp:680 0x90807f8 EyeBall::StartPanel::WidgetChanged() at /home/brancotti/projects/ iAble/Trunk/IAbleEnvironment/IAbleEnvironment/StartPanel.cpp:609 0x90801ee EyeBall::Panel::ProcessEvent() at /home/brancotti/projects/EyeBall/ Trunk/src/Panels/Panel.cpp:127 0x8dde37b EyeBall::EventsQueue::DispatchEvents() at /home/brancotti/projects/ EyeBall/Trunk/src/Events/EventsQueue.cpp:338 0x8d2ffa7 EyeBall::Deck::DispatchEvents() at /home/brancotti/projects/EyeBall/ Trunk/src/HAL/Deck.cpp:487 0x8d4519e EyeBall::Application::OnIdle() at /home/brancotti/projects/EyeBall/ Trunk/src/Application/Application.cpp:384 0x8c71628 EyeBall::IAbleApplication::OnIdle() at /home/brancotti/projects/iAble/ Trunk/IAbleEnvironment/BaseApplication/IAbleApplication.cpp:3,434 0x8fcf574 EyeBall::Application::Loop() at /home/brancotti/projects/EyeBall/ Trunk/src/Application/Application.cpp:461 0x8c7248b Run() at /home/brancotti/projects/EyeBall/Trunk/src/Application/ Startup.cpp:786 0x8c8a4bc RunTrap() at /home/brancotti/projects/EyeBall/Trunk/src/Application/ Startup.cpp:696 0x8c89dc1 main() at /home/brancotti/projects/EyeBall/Trunk/src/Application/ Startup.cpp:897 0x8c8a960 rebuilding Gecko12 with ac_add_options --disable-jemalloc solves the issue. strange: I have EXACTLY the same crash and the same fix also for Gecko11... think I will stick to Gecko7 for some time still. Obviously a default FF12 build works like a charm. Later, Aaron On May 18, 6:17 pm, Benjamin Smedberg <benja...@smedbergs.us> wrote: > On 5/18/2012 4:20 AM, Babele Dunnit wrote: > > > > Hi everybody, > > > I am updating our embedding app from Gecko7 to Gecko12. I get linking > > errors: > > > In function `operator new(unsigned int)': > > /dist/include/mozilla/mozalloc.h:229: undefined reference to > > `moz_xmalloc' > > > In function `operator new[](unsigned int)': > > /dist/include/mozilla/mozalloc.h:241: undefined reference to > > `moz_xmalloc' > > > In function `operator delete(void*)': > > /dist/include/mozilla/mozalloc.h:253: undefined reference to > > `moz_free' > > > In function `operator delete[](void*)': > > dist/include/mozilla/mozalloc.h:265: undefined reference to `moz_free' > > > I am building xulrunner with a default .mozconfig, with just > > > ac_add_options --enable-cpp-rtti > > > added. > > > Any advice (apart from copying the sources and forcing the compilation/ > > linking, which I will do now) ? > > These errors occur while linking your embedding app? Are you using > dependent or independent glue? I think you would need to end up linking > against mozutil (which contains mozalloc IIRC), but that might depend on > how you're linking to begin with. > > --BDS _______________________________________________ dev-embedding mailing list dev-embedding@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-embedding