Ticket #3288 (closed bug: duplicate)

Opened 3 years ago

Last modified 3 years ago

GC assertion failure in reactive program

Reported by: Baughn Owned by: simonmar
Priority: high Milestone: 6.10.4
Component: Runtime System Version: 6.11
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: crash.hs Blocked By:
Blocking: Related Tickets:

Description

In the same vein as  bug #3279, this time I've triggered an assertion failure in the GC by adding Debug.Trace.trace expressions.

The exact same failure occurs in both 6.10.3 and 6.11, apparently completely deterministically.

A darcs patch to add the crash to reactive, and a program to trigger it, are both attached.

Expected output:

svein@eris ~ $ ./crash
<Imp NoBound 2.0,1.0>
<Imp NoBound 2.5,2.0>
<Imp NoBound 3.2,3.0>
<Imp NoBound 3.7,4.0>
"never-never"
crash: internal error: scavenge_one: strange object 28
    (GHC version 6.11.20090605 for x86_64_unknown_linux)
    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Aborted

Attachments

crash.hs Download (0.6 KB) - added by Baughn 3 years ago.
reactive.patch Download (1.6 KB) - added by Baughn 3 years ago.

Change History

Changed 3 years ago by Baughn

Changed 3 years ago by Baughn

Changed 3 years ago by simonmar

  • owner set to simonmar
  • difficulty set to Unknown
  • priority changed from normal to high
  • milestone set to 6.10.4

Changed 3 years ago by simonmar

I have failed to reproduce this on both x86/Linux and x86-64/Linux, using today's GHC.

Here's what I have installed:

$ ~/builds/32testing/inplace/bin/ghc-pkg list               
/playpen/simonmar/testing/inplace/lib/package.conf:
    Cabal-1.7.2, array-0.2.0.1, base-3.0.3.0, base-4.1.0.0,
    bytestring-0.9.1.4, containers-0.2.0.1, directory-1.0.0.2,
    (dph-base-0.4.0), (dph-par-0.4.0), (dph-prim-interface-0.4.0),
    (dph-prim-par-0.4.0), (dph-prim-seq-0.4.0), (dph-seq-0.4.0),
    extensible-exceptions-0.1.1.0, ffi-1.0, filepath-1.1.0.1,
    (ghc-6.11), ghc-prim-0.1.0.0, haskeline-0.6.1.6, haskell98-1.0.1.0,
    hpc-0.5.0.2, integer-0.1.0.0, mtl-1.1.0.2, old-locale-1.0.0.1,
    old-time-1.0.0.1, pretty-1.0.1.0, process-1.0.1.1, random-1.0.0.1,
    rts-1.0, syb-0.1.0.0, template-haskell-2.4.0.0, terminfo-0.3.1,
    unix-2.3.1.0, utf8-string-0.3.4
/home/simonmar/.ghc/i386-linux-6.11/package.conf:
    MemoTrie-0.4.5, QuickCheck-2.1.0.1, Stream-0.3.1,
    TypeCompose-0.6.4, category-extras-0.53.5, checkers-0.2,
    lazysmallcheck-0.3, reactive-0.11, unamb-0.2.2, vector-space-0.5.7

I applied your patch to reactive, using the darcs repo of reactive from yesterday.

> ./crash
<Imp NoBound 2.0,1.0>
<Imp NoBound 2.5,2.0>
<Imp NoBound 3.2,3.0>
<Imp NoBound 3.7,4.0>
"never-never"
<Imp NoBound 2.0,()>
<Imp NoBound 2.5,()>
<Imp NoBound 3.2,()>
<Imp NoBound 4.0,()>
crash: BothBottom
[2]    16909 exit 1     ./crash

Should I try different versions of anything? If so, what?

Changed 3 years ago by Baughn

There is further information in #3279, but basically you need unamb 0.2.

Changed 3 years ago by simonmar

  • status changed from new to closed
  • resolution set to duplicate

This bug turns out to be the same as #3288

Changed 3 years ago by simonmar

oops, I meant to say "the same as #3279"

Note: See TracTickets for help on using tickets.