www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 18941] New: Memory corruption when using a mixin template

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 puremagic.com
          Reporter: b2.temp 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.

--
Jun 03 2018