[Issue 18941] New: Memory corruption when using a mixin template

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Jun 4 04:31:03 UTC 2018


https://issues.dlang.org/show_bug.cgi?id=18941

          Issue ID: 18941
           Summary: Memory corruption when using a mixin template
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: b2.temp at gmx.com

Created attachment 1701
  --> https://issues.dlang.org/attachment.cgi?id=1701&action=edit
to be run with dub as a single file package

The bug happens in libdparse. When a specific version identifier is passed to
DMD, a template mixin is used to trace entering and leaving of a function. 

In a particular function (parseType2()) this causes data corruption, which is
known for being responsible of false positives in the dlang CI based on
D-Scanner (LHS and RHS identical in phobos typecons.d).

Unfortunately, the problem is not reduced at all. The source file provided will
just tells if the bug is fixed or not.

Run "dub bug.d" to see the assertion failure.
Remove the "versions" line from the DUB recipe to see that without the trace
code data are not corrupted and the assertion passes.

--


More information about the Digitalmars-d-bugs mailing list