[Issue 4130] DMD crashes if it has to compile a project which is too complex
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Apr 28 12:43:08 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4130
--- Comment #13 from Torsten <Globe13.Trotter17 at gmx.de> 2010-04-28 12:43:06 PDT ---
I made a mistake while compiling dmd: I did not call "make -f linux.mak clean"
so the old object files have been used.
Now dmd crashes at a different position ("seg" is still negative):
Program received signal SIGSEGV, Segmentation fault.
0x081824bf in reftoident (seg=-32768, offset=28, s=0x1def161c, val=0, flags=16)
at backend/elfobj.c:2399
2399 int segtyp = MAP_SEG2TYP(seg);
Current language: auto; currently c++
(gdb) bt all
No symbol "all" in current context.
(gdb) bt full
#0 0x081824bf in reftoident (seg=-32768, offset=28, s=0x1def161c, val=0,
flags=16) at backend/elfobj.c:2399
buf = (Outbuffer *) 0x2fd94d
relinfo = 3214229704
refseg = 4075508
segtyp = 1
ty = 502252264
external = true
#1 0x08095a29 in searchfixlist (s=0x1def161c) at backend/cod3.c:4232
lp = (fixlist **) 0x81c1f04
p = (fixlist *) 0x1defc7c8
#2 0x08180c5d in obj_comdat (s=0x1def161c) at backend/elfobj.c:1493
prefix = 0x81b070f ".data."
type = 1
flags = 3
#3 0x0812cd6a in outdata (s=0x1def161c) at backend/out.c:302
dt = (dt_t *) 0x0
datasize = 92
a = 0
offset = 76
flags = 16
p = 0x2 <Address 0x2 out of bounds>
tls = 0
dtstart = (dt_t *) 0x1901f9f8
seg = 32768
ty = 90
#4 0x08168f2d in ClassDeclaration::toObjFile (this=0xcc8a720, multiobj=0) at
toobj.c:701
offset = 76
dt = (dt_t *) 0x1901f9f8
flags = 44
sinit = (Symbol *) 0x1def1884
scclass = 7 '\a'
__PRETTY_FUNCTION__ = "virtual void ClassDeclaration::toObjFile(int)"
cd = (class ClassDeclaration *) 0x0
bvtbl = {<Object> = {_vptr.Object = 0x8183728}, dim = 0, allocdim = 0, data
= 0x0}
i = 23
name = 0x1defc230
"framework.ag.db.DFForeignColumn.DFForeignColumn!(AGGoodsCost,AGGoodsCost).DFForeignColumn"
namelen = 89
#5 0x0815afd3 in TemplateInstance::toObjFile (this=0xac83fd8, multiobj=0) at
template.c:4274
s = (class Dsymbol *) 0xcc8a720
i = 0
#6 0x081682e5 in ClassDeclaration::toObjFile (this=0xac828d0, multiobj=0) at
toobj.c:241
member = (class Dsymbol *) 0xac83fd8
offset = 501084976
dt = (dt_t *) 0xbf954358
flags = 12
sinit = (Symbol *) 0x9
scclass = 6 '\006'
__PRETTY_FUNCTION__ = "virtual void ClassDeclaration::toObjFile(int)"
cd = (class ClassDeclaration *) 0x1
bvtbl = {<Object> = {_vptr.Object = 0x27}, dim = 158586784, allocdim = 0,
data = 0x0}
i = 102
name = 0x10 <Address 0x10 out of bounds>
namelen = 180753736
#7 0x080f9073 in Module::genobjfile (this=0x973ac00, multiobj=0) at glue.c:267
member = (class Dsymbol *) 0xac828d0
i = 20
__PRETTY_FUNCTION__ = "void Module::genobjfile(int)"
---Type <return> to continue, or q <return> to quit---
#8 0x081160c9 in main (argc=385, argv=0x9701120) at mars.c:1234
firstmodule = 0
aw = (AsyncRead *) 0x973d988
anydocfiles = 0
library = (Library *) 0x0
files = {<Object> = {_vptr.Object = 0x8183728}, dim = 371, allocdim = 382,
data = 0x97007d8}
p = 0xbf959502 "DSocket.d"
m = (class Module *) 0x973ac00
argcstart = 383
status = 0
setdebuglib = 0
modules = {<Object> = {_vptr.Object = 0x8183728}, dim = 371, allocdim =
371, data = 0x9709ab8}
__PRETTY_FUNCTION__ = "int main(int, char**)"
i = 350
libmodules = {<Object> = {_vptr.Object = 0x8183728}, dim = 0, allocdim = 0,
data = 0x0}
(gdb)
(gdb) whatis seg
type = int
(gdb) p seg
$1 = -32768
(gdb) p s
$2 = (Symbol *) 0x1def161c
(gdb) p s->Sseg
$3 = 32769
(gdb) whatis s->Sseg
type = int
(gdb) p p->Lseg
No symbol "p" in current context.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list