What the hell is going on with exceptions in DMD 2.054?

Andrej Mitrovic andrej.mitrovich at gmail.com
Thu Jul 21 14:30:07 PDT 2011


This is one of the worst heisenbug-related DMD releases ever.

I have two completely equivalent directories (minus the name):
C:\Documents and Settings\Andrej\Desktop\bug
D:\dev\projects\DNeonHelium\Samples\cpp

They have a collection of subfolders and inside those subfolders are
Readme files and various other files. I'm trying to read those readme
files and copy the contents to a single readme. One of the files has
an invalid UTF sequence which I didn't know about due to the heisenbug
causing the app to exit with no error whatsoever.

Ok, I run this script in both folders (note that the catch handler is
commented out):

http://codepad.org/PDX0Gywj

Folder 1 results: http://codepad.org/AzymUqZy
Folder 2 results: http://codepad.org/rVDTRvRK

Where's the exception in folder 2??

Here's another one, although not related to folders:
http://d.puremagic.com/issues/show_bug.cgi?id=6329

There's also a related one I found with regards to floating-point
exceptions not being thrown based on the order of declarations,
although I don't know if that's a regression or not and I have to
investigate.

DMD 2.053 does not have these issues, so this is definitely some kind
of regression. And this is not related to RDMD, I've tried compiling
via DMD separately as well.

Here's the folder contents (heavily compressed with 7zip LZMA, hope
you can open this):
https://github.com/AndrejMitrovic/temporary/blob/master/exception_bug/cpp.7z


More information about the Digitalmars-d mailing list