[GHC] #12954: unexpected uncaught segmentation error in arbitrary precision Integer calculations with modestly large numbers

GHC ghc-devs at haskell.org
Thu Dec 15 17:13:35 UTC 2016


#12954: unexpected uncaught segmentation error in arbitrary precision Integer
calculations with modestly large numbers
----------------------------------+--------------------------------------
        Reporter:  geraint        |                Owner:
            Type:  bug            |               Status:  new
        Priority:  high           |            Milestone:  8.2.1
       Component:  GHCi           |              Version:  8.0.1
      Resolution:                 |             Keywords:
Operating System:  MacOS X        |         Architecture:  x86_64 (amd64)
 Type of failure:  Runtime crash  |            Test Case:
      Blocked By:                 |             Blocking:
 Related Tickets:                 |  Differential Rev(s):
       Wiki Page:                 |
----------------------------------+--------------------------------------
Changes (by bgamari):

 * cc: hvr (added)
 * priority:  normal => high
 * milestone:   => 8.2.1


Comment:

 Alright, here's a backtrace,
 {{{
 ghc-mini:~ bgamari$ sudo lldb --
 /Users/bgamari/ghc-8.0.1/lib/ghc-8.0.1/bin/ghc
 -B/Users/bgamari/ghc-8.0.1/lib/ghc-8.0.1 --interactive
 Password:
 (lldb) target create "/Users/bgamari/ghc-8.0.1/lib/ghc-8.0.1/bin/ghc"
 run
 Current executable set to '/Users/bgamari/ghc-8.0.1/lib/ghc-8.0.1/bin/ghc'
 (x86_64).
 (lldb) settings set -- target.run-args
 "-B/Users/bgamari/ghc-8.0.1/lib/ghc-8.0.1" "--interactive"
 (lldb) run
 Process 99769 launched: '/Users/bgamari/ghc-8.0.1/lib/ghc-8.0.1/bin/ghc'
 (x86_64)
 GHCi, version 8.0.1: http://www.haskell.org/ghc/  :? for help
 Prelude> 2^(10^7) :: Integer
 Process 99769 stopped
 * thread #2: tid = 0x6cc7f82, 0x0000000108169cfd libHSinteger-
 gmp-1.0.0.1-ghc8.0.1.dylib`__gmpn_mul + 3437, stop reason = EXC_BAD_ACCESS
 (code=1, address=0x70000d43ad38)
     frame #0: 0x0000000108169cfd libHSinteger-
 gmp-1.0.0.1-ghc8.0.1.dylib`__gmpn_mul + 3437
 libHSinteger-gmp-1.0.0.1-ghc8.0.1.dylib`__gmpn_mul:
 ->  0x108169cfd <+3437>: callq  0x10818d6a0               ;
 __gmpn_toom63_mul
     0x108169d02 <+3442>: jmp    0x10816975f               ; <+1999>
     0x108169d07 <+3447>: movq   -0x118(%rbp), %rcx
     0x108169d0e <+3454>: movq   -0x158(%rbp), %rdx
 (lldb) bt
 * thread #2: tid = 0x6cc7f82, 0x0000000108169cfd libHSinteger-
 gmp-1.0.0.1-ghc8.0.1.dylib`__gmpn_mul + 3437, stop reason = EXC_BAD_ACCESS
 (code=1, address=0x70000d43ad38)
   * frame #0: 0x0000000108169cfd libHSinteger-
 gmp-1.0.0.1-ghc8.0.1.dylib`__gmpn_mul + 3437
     frame #1: 0x0000000108169df5 libHSinteger-
 gmp-1.0.0.1-ghc8.0.1.dylib`__gmpn_mul + 3685
     frame #2: 0x00000001081701aa libHSinteger-
 gmp-1.0.0.1-ghc8.0.1.dylib`__gmpn_tdiv_qr + 2986
     frame #3: 0x0000000108145742 libHSinteger-
 gmp-1.0.0.1-ghc8.0.1.dylib`crUO_info + 50
 }}}

 hvr, do you have any idea what is going on here?

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


More information about the ghc-tickets mailing list