[GHC] #13052: unsafePerformIO duped on multithread if within the same IO thunk

GHC ghc-devs at haskell.org
Sun Jan 1 18:16:29 UTC 2017


#13052: unsafePerformIO duped on multithread if within the same IO thunk
-------------------------------------+-------------------------------------
        Reporter:  gelisam           |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.2-rc2
      Resolution:                    |             Keywords:
Operating System:  MacOS X           |         Architecture:  x86_64
 Type of failure:  Incorrect result  |  (amd64)
  at runtime                         |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by rwbarton):

 I think there are conditions under which the GC will duplicate a closure.
 That seems like it could explain the behavior here, at least in part.

 That always bothered me slightly for other reasons (e.g. what if my cyclic
 data structure gets "unrolled" by this process and eventually consumes all
 my memory?) but this seems bad too.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13052#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list