[GHC] #7988: Big integers crashing integer-simple on qnxnto-arm

GHC ghc-devs at haskell.org
Sun Jun 16 23:53:13 CEST 2013


#7988: Big integers crashing integer-simple on qnxnto-arm
--------------------------+-------------------------------------------------
Reporter:  singpolyma     |          Owner:          
    Type:  bug            |         Status:  new     
Priority:  normal         |      Component:  Compiler
 Version:  7.7            |       Keywords:          
      Os:  QNX            |   Architecture:  arm     
 Failure:  Runtime crash  |      Blockedby:          
Blocking:                 |        Related:          
--------------------------+-------------------------------------------------

Comment(by singpolyma):

 The bug appears to be some sort of race condition.  When compiled with
 `-debug -rtsopts`, the test programs from above still crash, if that
 version is then run with `+RTS -v`, the program works fine.  Here's the
 output:

 {{{
 created capset 0 of type 2
 created capset 1 of type 3
 cap 0: initialised
 assigned cap 0 to capset 0
 assigned cap 0 to capset 1
 cap 0: created thread 1
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (stack overflow)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stoppedcap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stoppecap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stoppedcap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (heap overflow)
 cap 0: starting GC
 cap 0: GC working
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: all caps stopped for GC
 cap 0: finished GC
 cap 0: running thcap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thrcap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thcap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (heap overflow)
 cap 0: starting GC
 cap 0: GC working
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: all caps stopped for GC
 cap 0: finished GC
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (yielding)
 cap 0: running thread 1 (ThreadRunGHC)
 cap 0: thread 1 stopped (suspended while making a foreign call)
 cap 0: running thread 1 (ThreadRunGHC)
 169821641172389640937095636777672117931888945045504182713271897430274187839083732143233634367563316254925040331580602942790529924419031237257992694047545188803054325440702792009735658578224936744314329623399862853427161588994478038000957583036049445212750560294647972107700330648403394932373528288706138101730866129542001812796094504052779945357555018210304989340497464935845180607042646690920787035715174921382511732745931975718868480005317353569848454618331425749699355019762926384123909468814180690222898222556785716853422930906736084397064171894642825018414586574929919999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
 cap 0: thread 1 stopped (finished)
 cap 0: created thread 2
 cap 0: running thread 2 (ThreadRunGHC)
 cap 0: thread 2 stopped (finished)
 cap 0: starting GC
 cap 0: GC cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: GC idle
 cap 0: GC done
 cap 0: all caps stopped for GC
 cap 0: finished GC
 removed cap 0 from capset 0
 removed cap 0 from capset 1
 cap 0: shutting down
 deleted capset 0
 deleted capset 1
 }}}

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



More information about the ghc-tickets mailing list