Subject: Re: gdb-internal-error: virtual memory exhausted
To: Martin Husemann <martin@duskware.de>
From: None <sigsegv@rambler.ru>
List: port-sparc64
Date: 03/16/2005 10:29:21
Martin Husemann wrote:
> On Wed, Mar 16, 2005 at 09:38:51AM +0000, sigsegv@rambler.ru wrote:
>
>>I'm not sure if this is sparc64 specific or gdb needs to be told to use
>>more memory. What do you think?
>
>
> Unlimit your resource limits before running gdb (ulimit/limit/unlimit
> depending on your shell)
>
> Martin
>
Thanks, that helped. I've got 3 core dumps, generated by 3 different
executables (all part of www/firefox package), looking at dgb output,
they fault in one place. I think I can see what's happening here:
nanMask (or whatever it points to) is not actually a double datatype, so
it's not aligned propery, then it's cast to (double *) and pointer is
dereferenced, causing 'Bus error'
Should be easy to fix :-)
u10# gdb firefox-bin firefox-bin.core
<snip>
This GDB was configured as "sparc64--netbsdelf"...
Core was generated by `firefox-bin'.
Program terminated with signal 10, Bus error.
<snip>
#0 0x000000004d5386cc in __static_initialization_and_destruction_0 (
__initialize_p=0, __priority=0) at Double.cpp:130
130 const double Double::NaN = *((double*)nanMask);
u10# gdb regchrome regchrome.core
<snip>
This GDB was configured as "sparc64--netbsdelf"...
Core was generated by `regchrome'.
Program terminated with signal 10, Bus error.
<snip>
#0 0x000000004d5386cc in __static_initialization_and_destruction_0 (
__initialize_p=0, __priority=0) at Double.cpp:130
130 const double Double::NaN = *((double*)nanMask);
(gdb)
u10# gdb regxpcom regxpcom.core
<snip>
This GDB was configured as "sparc64--netbsdelf"...
Core was generated by `regxpcom'.
Program terminated with signal 10, Bus error.
<snip>
#0 0x000000004d5386cc in __static_initialization_and_destruction_0 (
__initialize_p=0, __priority=0) at Double.cpp:130
130 const double Double::NaN = *((double*)nanMask);
(gdb)