Thread overview
has anyone run into this befor? [~OT]
Mar 13, 2008
BCS
Mar 17, 2008
Russell Lewis
Mar 17, 2008
BCS
March 13, 2008
I was compiling the D grammar using my parser generator and (after getting by the 3 page long error messages) I was hopeful that it would build. However DMD then seg-v'ed.

transcript:

[bshrop@localhost trunk]$ time dmd syntax/dparse.d -debug=dparse_unittest -J.
>>>     glue/templates.d
name: Foo
name: Foo
name: StaticConstructor
name: StaticDestructor

... more of the same ...

Directly recursive rule: OrExpression
Directly recursive rule: AndAndExpression
Directly recursive rule: OrOrExpression
Directly recursive rule: AsmBrExp
Segmentation fault

real    6m36.121s
user    4m47.630s
sys     0m21.190s
[bshrop@localhost trunk]$ ls


here is a screen shot of what I think is the issue (sorry I couldn't get that as text as well)

http://www.uidaho.edu/~shro8822/WOW.JPG

I think DMD has a bug in it when it tries to dump an object file after using up 2.25GB of ram

(I don't think this one needs to go into the bugzilla <G>)



March 17, 2008
I have been seeing some SEGVs occasionally in my template-rich program, too.  I haven't tracked 'em down enough for a bug report, yet, but at least one (where DMD took up GBs, like your example) turned out to be a recursive template in my code.  I found it and fixed it without doing the due dilligence of snipping the code enough to post a DMD bug report. :(

However, I have other SEGVs (one is hitting me right now) where DMD doesn't consume much memory.  Gonna have to actually file this one, once I get it isolated.

BCS wrote:
> I was compiling the D grammar using my parser generator and (after getting by the 3 page long error messages) I was hopeful that it would build. However DMD then seg-v'ed.
> 
> transcript:
> 
> [bshrop@localhost trunk]$ time dmd syntax/dparse.d -debug=dparse_unittest -J.
>>>>     glue/templates.d
> name: Foo
> name: Foo
> name: StaticConstructor
> name: StaticDestructor
> 
> ... more of the same ...
> 
> Directly recursive rule: OrExpression
> Directly recursive rule: AndAndExpression
> Directly recursive rule: OrOrExpression
> Directly recursive rule: AsmBrExp
> Segmentation fault
> 
> real    6m36.121s
> user    4m47.630s
> sys     0m21.190s
> [bshrop@localhost trunk]$ ls
> 
> 
> here is a screen shot of what I think is the issue (sorry I couldn't get that as text as well)
> 
> http://www.uidaho.edu/~shro8822/WOW.JPG
> 
> I think DMD has a bug in it when it tries to dump an object file after using up 2.25GB of ram
> 
> (I don't think this one needs to go into the bugzilla <G>)
March 17, 2008
Russell Lewis wrote:
> I have been seeing some SEGVs occasionally in my template-rich program, too.  I haven't tracked 'em down enough for a bug report, yet, but at least one (where DMD took up GBs, like your example) turned out to be a recursive template in my code.  I found it and fixed it without doing the due dilligence of snipping the code enough to post a DMD bug report. :(
> 
> However, I have other SEGVs (one is hitting me right now) where DMD doesn't consume much memory.  Gonna have to actually file this one, once I get it isolated.
> 


BTW I don't what I found is a bug, I think it counts as abuse of DMD!