digitalmars.D - Compiler crash I can't pin down
- Mehrdad (25/25) May 11 2012 I can't tell which part of my code is causing this (there's quite
- Mehrdad (4/31) May 11 2012 Hmm... I "fixed" the error by updating my object_.d file (I'd
- Steven Schveighoffer (4/37) May 14 2012 In the future, know that dmd should *never* actually crash. If it does,
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...
May 11 2012
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..
May 11 2012
On Fri, 11 May 2012 22:28:40 -0400, Mehrdad <wfunction hotmail.com> wrote:On Saturday, 12 May 2012 at 01:38:56 UTC, Mehrdad wrote:In the future, know that dmd should *never* actually crash. If it does, it should be a bug report. -SteveI 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..
May 14 2012