[Issue 2690] New: DMD aborts with MALLOC_CHECK_ set

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 25 14:51:27 PST 2009


http://d.puremagic.com/issues/show_bug.cgi?id=2690

           Summary: DMD aborts with MALLOC_CHECK_ set
           Product: D
           Version: 1.040
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Keywords: ice-on-invalid-code
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: larsivar at igesund.net


I don't know how common it is, but at least Ubuntu has a standard environment
variable called MALLOC_CHECK_ which typically is set to 2. When it is set,
memory allocations are checked (it can also be set to 3). However, with DMD
1.040 this causes an "Aborted" message. Setting MALLOC_CHECK_ to 0 makes it
work again.

I have tried to narrow down where it happens, but I seem to fail to get it much
shorter than the following (and it seems that Exception itself from object.di
may be involved):

class PlatformException : Exception
{
    this(char[] msg)
{
super(msg);
}
}
class AssertException : Exception
{
    this(char[] file, size_t line)
{
super("Assertion failure",file,line);
}
    this(char[] msg, char[] file, size_t line)
{
super(msg,file,line);
}
}
void setAssertHandler(int){
}

This is a regression in DMD 1.040


-- 



More information about the Digitalmars-d-bugs mailing list