Opened 9 years ago

Closed 9 years ago

Last modified 19 months ago

#799 closed bug (fixed)

runtime error when using par/seq in a monad

Reported by: mafuchs@… Owned by:
Priority: normal Milestone:
Component: Runtime System Version: 6.5
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description (last modified by simonmar)

The following version of parfib dies with the following message, but the version after the error message works:

parfib 0 = return 1
parfib 1 = return 1
parfib n = do
              n1 <- parfib (n - 1)
              n2 <- parfib (n - 2)
              n3 <- (n1 `par` (n2 `seq` (return (n1 + n2 + 1))))
              return n3
sh-2.04$ ./Main +RTS -N4 -sstderr
c:\msys\1.0\ghc6.5\bin\Main.exe +RTS -N4 -sstderr
Main.exe: internal error: evacuate: strange closure type 8208
    (GHC version 6.5.20060619 for i386_unknown_mingw32)
    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

This version of parfib works

parfib 0 = return 1
parfib 1 = return 1
parfib n = do
              n1 <- parfib (n - 1)
              n2 <- parfib (n - 2)
              return (n1 `par` (n2 `seq` (n1 + n2 + 1)))

Change History (6)

comment:1 Changed 9 years ago by simonmar

  • Description modified (diff)

comment:2 Changed 9 years ago by simonmar

Fixed; thanks.

comment:3 Changed 9 years ago by simonmar

  • Resolution set to fixed
  • Status changed from new to closed

comment:4 Changed 7 years ago by simonmar

  • Architecture changed from Unknown to Unknown/Multiple

comment:5 Changed 7 years ago by simonmar

  • Operating System changed from Unknown to Unknown/Multiple

comment:6 Changed 19 months ago by Simon Marlow <simonmar@…>

Note: See TracTickets for help on using tickets.