Try running it under windbg.exe to see where/why it fails. You could also try building a debug version of dmd, and running that under windbg.exe.
Comment #2 by dsimcha — 2011-03-05T13:47:13Z
Built the debug version, ran it under Windbg. Here's the output:
Module Load: D:\DMD2\WINDOWS\BIN\DMD.EXE (symbol loading deferred)
Thread Create: Process=0, Thread=0
Module Load: C:\Windows\system32\NTDLL.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\KERNEL32.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\KERNELBASE.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\SHELL32.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\MSVCRT.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\SHLWAPI.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\GDI32.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\USER32.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\ADVAPI32.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\SECHOST.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\RPCRT4.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\SSPICLI.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\CRYPTBASE.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\LPK.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\USP10.DLL (symbol loading deferred)
Module Load: C:\Windows\system32\NTDLL.DLL (no symbols loaded)
Module Load: C:\WINDOWS\SYSWOW64\IMM32.DLL (symbol loading deferred)
Module Load: C:\WINDOWS\SYSWOW64\MSCTF.DLL (symbol loading deferred)
Module Load: D:\DMD2\WINDOWS\BIN\DMD.EXE (symbols loaded)
Thread Create: Process=0, Thread=1
Thread Terminate: Process=0, Thread=1, Exit Code=0
First chance exception c0000005 (Unknown) occurred
The function that the exception appears to occur in is:
TemplateParameter *TemplateThisParameter::syntaxCopy()
{
TemplateThisParameter *tp = new TemplateThisParameter(loc, ident, specType, defaultType);
if (tp->specType)
tp->specType = specType->syntaxCopy(); // This line is highlighted.
if (defaultType)
tp->defaultType = defaultType->syntaxCopy();
return tp;
}
Comment #3 by dsimcha — 2011-03-07T05:28:09Z
Ok, I got kind of lucky and found an easy way to get rid of all the dependencies. This program produces absolutely no output either of html files or to stdout when compiled with -D -c -v. This is a very "unstable" bug, i.e. when I try to take pretty much anything out of this test case, it's no longer reproducible.
///
class GuiAgnosticBase {
protected:
double _width = 0;
double _height = 0;
string _title;
string _xLabel;
string _yLabel;
public:
abstract int defaultWindowWidth();
abstract int defaultWindowHeight();
abstract int minWindowWidth();
abstract int minWindowHeight();
final double width() {
return _width;
}
final double height() {
return _height;
}
final string title()() {
return _title;
}
final This title(this This)(string newTitle) {
_title = newTitle;
return cast(This) this;
}
final string xLabel()() {
return _xLabel;
}
final This xLabel(this This)(string newLabel) {
_xLabel = newLabel;
return cast(This) this;
}
final string yLabel()() {
return _yLabel;
}
///
final This yLabel(this This)(string newLabel) {
_yLabel = newLabel;
return cast(This) this;
}
}
Comment #4 by andrej.mitrovich — 2012-10-26T20:10:09Z
Can't recreate the bug with 2.060 for your last test-case. And your plot2kill trunk seems quite old now. If you have a fresh test-case it would be great!
Comment #5 by andrej.mitrovich — 2014-02-12T13:07:44Z