Compiler crash I can't pin down

Steven Schveighoffer schveiguy at yahoo.com
Mon May 14 05:09:39 PDT 2012


On Fri, 11 May 2012 22:28:40 -0400, Mehrdad <wfunction at hotmail.com> wrote:

> On Saturday, 12 May 2012 at 01:38:56 UTC, Mehrdad wrote:
>> I can't tell which part of my code is causing this (there's quite
>> a few files in my project and I can't really submit every file),
>> but when I run DMD, it crashes in template.c with
>> "Access violation reading location 0x00000004":
>>
>>
>> TemplateInstance::TemplateInstance(Loc loc, TemplateDeclaration
>> *td, Objects *tiargs)
>>         : ScopeDsymbol(NULL)
>> {
>> #if LOG
>>         printf("TemplateInstance(this = %p, tempdecl = '%s')\n",
>> this, td->toChars());
>> #endif
>>         this->loc = loc;
>>         this->name = td->ident;   // Crash here; apparently 'td' is
>> null?
>>         ...
>>
>>
>>
>> Does anyone know what the bug might be? (Version 2.060 DEBUG)
>>
>> It's a bit of a wild goose chase to narrow down the problem,
>> since I've tried commenting out several parts of my code entirely
>> (including the file mentioned in the "Loc" structure) but to no
>> avail. I also tried using Process Monitor to figure out the last
>> file DMD is opening, which happened to be std/utf.d, but
>> commenting out the entire code for that still caused the crash,
>> so idk...
>
>
>
> Hmm... I "fixed" the error by updating my object_.d file (I'd modified  
> it for a separate project) but I still don't know what was causing it..

In the future, know that dmd should *never* actually crash.  If it does,
it should be a bug report.

-Steve


More information about the Digitalmars-d mailing list