Reposting my message from two days ago. I've also filed
http://d.puremagic.com/issues/show_bug.cgi?id=6308 since then.
On Sun, 10 Jul 2011 02:58:04 +0300, Walter Bright <[email protected]>
wrote:
We've got a real heisenbug going on with rdmd.
Anything that causes the memory layout of rdmd to be different causes it
to start working. This includes running it under the debugger. This
includes adding any printfs, compiling rdmd with the debug build of dmd,
etc.
I suspect the problem is use of uninitialized memory in druntime/phobos.
Anyone have any ideas?
I did a bit of research on this a few days ago. Using a certain debugger
and the map file, I found that the crash occurred in the autogenerated
scope(exit) for getDependencies - the block of code that calls the File
destructor. I didn't look too closely, but it looked like a bad "this"
pointer is passed to the File dtor. I tried a full DMD/Phobos regression
test, but didn't really get anywhere.
Just now, I tried to write the following program to test an unrelated
problem I encountered earlier, regarding destruction of temporaries and
DMC libc's low file count.
import std.stdio;
void main()
{
foreach (i; 0..100)
foreach (line; File("test.d").byLine)
{}
}
The program crashes. I have a feeling that it's the same problem as with
rdmd.
Hope this helps.
--
Best regards,
Vladimir mailto:[email protected]
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta