Ticket #7313 (closed bug: fixed)

Opened 8 months ago

Last modified 7 months ago

Impossible happened : CLabel.toInfoLbl stg_newMVarzh

Reported by: erikd Owned by:
Priority: normal Milestone: 7.8.1
Component: Compiler Version: 7.7
Keywords: Cc: bgamari@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Building GHC failed Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

Compiling ghc git HEAD (2a534087e4606fbc0648429c3599bffb7e9c010a) on arm-linux:

  rts_dist_HC rts/dist/build/Apply.o
  rts_dist_HC rts/dist/build/Exception.o
  rts_dist_HC rts/dist/build/HeapStackCheck.o
  rts_dist_HC rts/dist/build/PrimOps.o
  rts_dist_HC rts/dist/build/StgMiscClosures.o
ghc-stage1: panic! (the 'impossible' happened)
  (GHC version 7.7.20121009 for arm-unknown-linux):
        CLabel.toInfoLbl stg_newMVarzh

Change History

Changed 7 months ago by bgamari

  • cc bgamari@… added

Changed 7 months ago by erikd

  • architecture changed from arm to Unknown/Multiple

This is not ARM specific, I am getting the same problem on PPC64.

Changed 7 months ago by erikd

  • summary changed from arm-linux: impossible happened : CLabel.toInfoLbl stg_newMVarzh to Impossible happened : CLabel.toInfoLbl stg_newMVarzh

It seems the code that's needed looks something like:

toEntryLbl (CmmLabel m str CmmCode)      = ?????

Replacing ????? with the obvious CmmLabel m str CmmCode results in the following when the stage2 compiler is run"

ghc-stage2: internal error: scavenge_stack: weird activation record found on stack: 65310
    (GHC version 7.7.20121022 for arm_unknown_linux)
    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Changed 7 months ago by marlowsd@…

commit dc7a9364e9bae25f6d70bad24bb0aa5708cbeaad

Author: Simon Marlow <marlowsd@gmail.com>
Date:   Tue Oct 23 09:50:33 2012 +0100

    Avoid calling toInfoLbl on the entry label (#7313)

 compiler/cmm/CmmProcPoint.hs |   43 ++++++++++++++++++++++-------------------
 1 files changed, 23 insertions(+), 20 deletions(-)

Changed 7 months ago by simonmar

  • status changed from new to closed
  • difficulty set to Unknown
  • resolution set to fixed
  • milestone set to 7.8.1

I've just done a validate with splitting_proc_points set to True, which should weed out any other bugs in that code path, and didn't see any unusual failures, so I'm claiming this is now fixed. Please re-open if you find otherwise.

Note: See TracTickets for help on using tickets.