A difficult question about locale_mutex uninitialized
Benjamin Kosnik
bkoz@redhat.com
Thu Sep 7 09:36:00 GMT 2006
> SEH: System call: ose_mutex_lock
> SEH: Error: A pointer to an uninitialized mutex (at 0x00b27988) was presented to
> the kernSEH: Information about current process "core_supervisor"
> SEH: Pid 0x0001000b bid 0x00010008 progpid 0x00000000
> SEH: Callstack backtrace:
> SEH: FrameAddress ReturnAddress FrameSize
> SEH: 0x0aa54390 - -
> SEH: Analyzing pool of faulty process
>
> After looked up our system.map file, we found that it always refer the following pointer:
>
> .bss 0x00b27988 0x20 /vobs/rtosdev/OSE/gcc_solaris2_powerpc_3.4.2/powerpc-eabi/lib/nof/libstdc++.a(locale_init.o)
> 0x00b27988 __gnu_internal::locale_mutex
Are you compiling with threads enabled? On many platforms, a special
flag (-pthread) is required to use threads.
> I want to know how to find the bug?
> It is the problem of the libstdc++ or our application ?
> How to rightly initialize the locale_mutex ?
> Why it isn't initialized in libstdc++.a under OSE ?
If you pre-process the libstdc++ file locale_init.cc, you should see
what is going on. At least, this will tell you what libstdc++ thinks it
should use for locks.
best,
benjamin
More information about the Gcc
mailing list