Opened 8 years ago

Closed 8 years ago

Last modified 6 years ago

#962 closed bug (invalid)

hptRules crash

Reported by: guest Owned by:
Priority: normal Milestone: 6.6.1
Component: Compiler Version: 6.6
Keywords: Cc: ravi@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description (last modified by simonpj)

I got this blowup from ghc-6.6 (ghc-6.6-2 from Debian unstable on i386).

ghc-6.6: panic! (the 'impossible' happened)
  (GHC version 6.6 for i386-unknown-linux):
        hptRules
    Authorization [(Authorization, False), (BinParse, False),
                   (BinaryIO, False), (BuildVersion, False), (CFreeVars, False),                   (CParser, False), (CSyntax, False), (CType, False),
                   (CVParser, False), (CVParserAssertion, False),
                   (CVParserCommon, False), (CVParserImperative, False),
                   (CVParserUtil, False), (CVPrint, False), (Classic, False),
                   (Error, False), (ErrorUtil, False), (Eval, False),
                   (FStringCompat, False), (FileIOUtil, False), (FileNameUtil, False),
                   (Fixity, False), (Flags, False), (Flexlm, False),
                   (GHCPretty, False), (Hash, False), (IOMutVar, False),
                   (IOUtil, False), (Id, False), (IdPrint, False), (IntLit, False),
                   (IntMap, False), (IntegerMisc, False), (IntegerUtil, False),
                   (Lex, False), (ListSet, False), (ListUtil, False),
                   (Literal, False), (Log2, False), (NumType, False), (OrdMap, False),
                   (OrdSet, False), (PFPrint, False), (PPrint, False),
                   (PVPrint, False), (Parse, False), (Parsec, False),
                   (ParsecChar, False), (ParsecCombinator, False),
                   (ParsecExpr, False), (ParsecPrim, False), (Position, False),
                   (Pragma, False), (PreIds, False), (PreStrings, False),
                   (Pretty, False), (SEMonad, False), (SchedInfo, False),
                   (Sort, False), (SpeedyString, False),
                   (SystemVerilogKeywords, False), (SystemVerilogPreprocess, False),
                   (SystemVerilogScanner, False), (SystemVerilogTokens, False),
                   (Trace, False), (Type, False), (Util, False), (VModInfo, False),
                   (Version, False)]

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Change History (7)

comment:1 Changed 8 years ago by guest

  • Cc ravi@… added

comment:2 Changed 8 years ago by simonpj

  • Description modified (diff)

GHC thinks that it should have compiled module Authorization by now, but it hasn't. You don't show the complete compile log, so it's hard to say more.

Can you give us a reproducible test case?

Could your interface files might be in an inconsistent state? If you remove all .o and .hi files, and start from scratch, does it happen?

Simon

comment:3 Changed 8 years ago by igloo

  • Milestone set to 6.6.1

comment:4 Changed 8 years ago by ravi@…

It does appear the interface files are in an inconsistent state - removing all of them did fix the problem originally.

I don't have a reproducible testcase, sadly, though my usage pattern may offer a clue:

  • I have several binaries that depend on some shared source files
  • In a Makefile I make each of these binaries, in turn, using ghc --make
  • In this particular case, the first binary compiled correctly, but the second failed with the error noted above.
  • What is even odder about the case is that the second binary shouldn't have required module Authorization (only the first binary requires it)

I can send you the generated .hi files if that helps.

comment:5 Changed 8 years ago by simonpj

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

I'm going to close this, because it seems to be an interface-file consistency problem. Still, GHC shouldn't crash under those circumstances, so I've made a fix that makes GHC emit a WARNING but recover in a reasonable way and carry on.

Simon

comment:6 Changed 6 years ago by simonmar

  • Architecture changed from Unknown to Unknown/Multiple

comment:7 Changed 6 years ago by simonmar

  • Operating System changed from Unknown to Unknown/Multiple
Note: See TracTickets for help on using tickets.