[Issue 1337] New: Internal error: eh.c 41 - alloca & synchronized(this)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jul 12 15:00:04 PDT 2007


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

           Summary: Internal error: eh.c 41 - alloca & synchronized(this)
           Product: D
           Version: 1.018
          Platform: PC
               URL: http://paste.dprogramming.com/dpz51jpz.php
        OS/Version: Linux
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: a.panek at brainsware.org


It seems like the combination of memory allocated with stdc's alloca() function
and synchronized(this) [as shown in the outcommented code in the paste] cause
an internal error in eh.c.

Neither a D-way copy ..

    synchronized (this)
        list[] = queueList;

..nor a memcpy..

    synchronized (this)
        memcpy (list.ptr, queueList.ptr, len * (QueueFile*).sizeof);

fixed this error.

It has been worked around via creating a synchronized copy method to perform
the same action.


-- 



More information about the Digitalmars-d-bugs mailing list