Undefined simbols moz_xmalloc (et al.) in Gecko 12

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Undefined simbols moz_xmalloc (et al.) in Gecko 12

Babele Dunnit
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) ?

Thanks,
Aaron

_______________________________________________
dev-embedding mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-embedding
Reply | Threaded
Open this post in threaded view
|

Re: Undefined simbols moz_xmalloc (et al.) in Gecko 12

Babele Dunnit

Sorry, I forgot: Linux, GTK embedding, Ubuntu 12.04.

On May 18, 10:20 am, Babele Dunnit <[hidden email]> 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) ?
>
> Thanks,
> Aaron

_______________________________________________
dev-embedding mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-embedding
Reply | Threaded
Open this post in threaded view
|

Re: Undefined simbols moz_xmalloc (et al.) in Gecko 12

Benjamin Smedberg
In reply to this post by Babele Dunnit
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
[hidden email]
https://lists.mozilla.org/listinfo/dev-embedding
Reply | Threaded
Open this post in threaded view
|

Re: Undefined simbols moz_xmalloc (et al.) in Gecko 12

Babele Dunnit
In reply to this post by Babele Dunnit


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 <[hidden email]> 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
[hidden email]
https://lists.mozilla.org/listinfo/dev-embedding