Thread overview
[Issue 11806] New: Freeze in in-contracts when multithreading is used
[Issue 11806] Freeze in GC.collect() in in-contracts when multithreading is used
December 23, 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11806

           Summary: Freeze in in-contracts when multithreading is used
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: druntime
        AssignedTo: nobody@puremagic.com
        ReportedBy: christoph@nerdtools.de


--- Comment #0 from christoph@nerdtools.de <christoph@nerdtools.de> 2013-12-23 07:09:19 PST ---
Created an attachment (id=1304)
Sample program that reproduces the desribed error.

When an in-contract of an interface fails, the in-contract of the implementing class is used. This works fine in single-threaded applications. In multithreaded applications however, the program freezes after a while when executing the in-contract of the interface. I attached a small program "main.d" that shows the problem. The program should execute endlessly, but in fact it freezes always at the same spot. The output is always:

...
foo 401
base in-contract
derived in-contract
foo 402
base in-contract
derived in-contract
foo 403
base in-contract
[freezes]

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 24, 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11806



--- Comment #1 from christoph@nerdtools.de <christoph@nerdtools.de> 2013-12-24 13:05:29 PST ---
Using my debugger I found out, that the Garbage Collector always freezes in multithreading. GC.collect() causes an instant freeze when more than one thread is running.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 24, 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11806


christoph@nerdtools.de <christoph@nerdtools.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Platform|All                         |x86_64
         OS/Version|All                         |Linux
           Severity|normal                      |major


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 24, 2014
https://d.puremagic.com/issues/show_bug.cgi?id=11806


christoph@nerdtools.de <christoph@nerdtools.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


--- Comment #2 from christoph@nerdtools.de <christoph@nerdtools.de> 2014-01-24 02:42:12 PST ---
Seems to be fixed in the most recent version in the repository.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------