[Issue 4210] New: Random crashes / heisenbugs caused by dmd commit 478
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed May 19 15:46:05 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4210
Summary: Random crashes / heisenbugs caused by dmd commit 478
Product: D
Version: unspecified
Platform: Other
OS/Version: Linux
Status: NEW
Keywords: patch, wrong-code
Severity: regression
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: nfxjfg at gmail.com
--- Comment #0 from nfxjfg at gmail.com 2010-05-19 15:46:03 PDT ---
This bug report is for dmd 1.061. (Bugzilla doesn't list the newer dmd
versions.)
Older versions are not affected.
Compiling and running a mid-sized project with dmd 1.061, I experience random
segfaults and memory corruption. I have no clue what it causes, I have no test
case, and I don't know how to progress further.
One symptom was that looking up an associative array string key crashed in
Tango's murmur hash routine. Outputting the string showed it was corrupted
(even though I don't know why the string could be successfully printed, but the
hash routine failed.) Another symptom was that taking the address of a virtual
function from a valid, non-null object references yielded a corrupted delegate:
the .funcptr contained something like 0x6xxxxxxx, which is way off the normal
function addresses around 0x8xxxxxx. Which crash exactly happened first changed
as I inserted print calls for debugging.
However, I could track down what change exactly caused this: it's dmd commit
478 (http://dsource.org/projects/dmd/changeset/478). Revision 477 still worked
fine.
Undoing that commit makes it work with dmd 1.061, and I suggest the inverse
patch as the solution.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list