[GHC] #13970: Segmentation fault inside threadPaused

GHC ghc-devs at haskell.org
Fri Jul 14 09:23:04 UTC 2017


#13970: Segmentation fault inside threadPaused
-------------------------------------+-------------------------------------
        Reporter:  albertov          |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Runtime System    |              Version:  8.2.1-rc3
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by albertov):

 I've got a SEGFAULT in a new location which seems related to the same
 issue:

 {{{
 Program terminated with signal SIGSEGV, Segmentation fault.
 #0  0x00007f747043a32f in stg_BLACKHOLE_info ()
    from /nix/store/ka5975xi1b7vcw98a1agqhb0y4gxcwbj-
 ghc-8.2.0.20170704/lib/ghc-8.2.0.20170704/rts/libHSrts_thr_debug-
 ghc8.2.0.20170704.so
 [Current thread is 1 (LWP 25315)]
 warning: File "/nix/store/xfrkm34sk0a13ha9bpki61l2k5g1v8dh-
 gcc-5.4.0-lib/lib/libstdc++.so.6.0.21-gdb.py" auto-loading has been
 declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-
 load".
 (gdb) bt
 #0  0x00007f747043a32f in stg_BLACKHOLE_info ()
    from /nix/store/ka5975xi1b7vcw98a1agqhb0y4gxcwbj-
 ghc-8.2.0.20170704/lib/ghc-8.2.0.20170704/rts/libHSrts_thr_debug-
 ghc8.2.0.20170704.so
 #1  0x0000000000000000 in ?? ()
 (gdb) info locals
 No symbol table info available.
 (gdb) disassemble
 Dump of assembler code for function stg_BLACKHOLE_info:
    0x00007f747043a240 <+0>:     mov    0x8(%rbx),%rax
    0x00007f747043a244 <+4>:     test   $0x7,%al
    0x00007f747043a246 <+6>:     jne    0x7f747043a32c
 <stg_BLACKHOLE_info+236>
    0x00007f747043a24c <+12>:    mov    (%rax),%rcx
    0x00007f747043a24f <+15>:    cmp    0x2d7f2(%rip),%rcx        #
 0x7f7470467a48
    0x00007f747043a256 <+22>:    je     0x7f747043a240 <stg_BLACKHOLE_info>
    0x00007f747043a258 <+24>:    cmp    0x2d7e1(%rip),%rcx        #
 0x7f7470467a40
    0x00007f747043a25f <+31>:    je     0x7f747043a2a4
 <stg_BLACKHOLE_info+100>
    0x00007f747043a261 <+33>:    cmp    0x2d7b0(%rip),%rcx        #
 0x7f7470467a18
    0x00007f747043a268 <+40>:    je     0x7f747043a2a4
 <stg_BLACKHOLE_info+100>
    0x00007f747043a26a <+42>:    cmp    0x2d79f(%rip),%rcx        #
 0x7f7470467a10
    0x00007f747043a271 <+49>:    je     0x7f747043a2a4
 <stg_BLACKHOLE_info+100>
    0x00007f747043a273 <+51>:    test   $0x7,%al
    0x00007f747043a275 <+53>:    jne    0x7f747043a345
 <stg_BLACKHOLE_info+261>
    0x00007f747043a27b <+59>:    mov    (%rax),%rbx
    0x00007f747043a27e <+62>:    cmpl   $0x1a,-0x8(%rbx)
    0x00007f747043a282 <+66>:    jb     0x7f747043a34b
 <stg_BLACKHOLE_info+267>
    0x00007f747043a288 <+72>:    cmpl   $0x1c,-0x8(%rbx)
    0x00007f747043a28c <+76>:    jb     0x7f747043a332
 <stg_BLACKHOLE_info+242>
    0x00007f747043a292 <+82>:    cmpl   $0x1d,-0x8(%rbx)
    0x00007f747043a296 <+86>:    jb     0x7f747043a33c
 <stg_BLACKHOLE_info+252>
    0x00007f747043a29c <+92>:    mov    %rbx,%rcx
    0x00007f747043a29f <+95>:    mov    %rax,%rbx
    0x00007f747043a2a2 <+98>:    jmpq   *%rcx
    0x00007f747043a2a4 <+100>:   lea    -0xeebb(%rip),%rax        #
 0x7f747042b3f0 <allocate>
    0x00007f747043a2ab <+107>:   lea    -0x18(%r13),%rcx
    0x00007f747043a2af <+111>:   mov    $0x4,%edx
    0x00007f747043a2b4 <+116>:   sub    $0x8,%rsp
    0x00007f747043a2b8 <+120>:   mov    %rdx,%rsi
    0x00007f747043a2bb <+123>:   mov    %rcx,%rdi
    0x00007f747043a2be <+126>:   mov    %rax,%rcx
    0x00007f747043a2c1 <+129>:   xor    %eax,%eax
    0x00007f747043a2c3 <+131>:   callq  *%rcx
    0x00007f747043a2c5 <+133>:   add    $0x8,%rsp
    0x00007f747043a2c9 <+137>:   lea    0x6e0(%rip),%rcx        #
 0x7f747043a9b0 <stg_MSG_BLACKHOLE_info>
    0x00007f747043a2d0 <+144>:   mov    %rcx,(%rax)
    0x00007f747043a2d3 <+147>:   mov    0x368(%r13),%rcx
    0x00007f747043a2da <+154>:   mov    %rcx,0x10(%rax)
    0x00007f747043a2de <+158>:   mov    %rbx,0x18(%rax)
    0x00007f747043a2e2 <+162>:   lea    -0x2e299(%rip),%rcx        #
 0x7f747040c050 <messageBlackHole>
    0x00007f747043a2e9 <+169>:   lea    -0x18(%r13),%rdx
    0x00007f747043a2ed <+173>:   mov    %rax,%rsi
    0x00007f747043a2f0 <+176>:   sub    $0x8,%rsp
    0x00007f747043a2f4 <+180>:   mov    %rdx,%rdi
    0x00007f747043a2f7 <+183>:   mov    %rax,%rdx
    0x00007f747043a2fa <+186>:   xor    %eax,%eax
    0x00007f747043a2fc <+188>:   mov    %rdx,%r14
    0x00007f747043a2ff <+191>:   callq  *%rcx
    0x00007f747043a301 <+193>:   add    $0x8,%rsp
    0x00007f747043a305 <+197>:   test   %rax,%rax
    0x00007f747043a308 <+200>:   je     0x7f747043a240 <stg_BLACKHOLE_info>
    0x00007f747043a30e <+206>:   mov    0x368(%r13),%rax
    0x00007f747043a315 <+213>:   movw   $0x2,0x22(%rax)
    0x00007f747043a31b <+219>:   mov    0x368(%r13),%rax
    0x00007f747043a322 <+226>:   mov    %r14,0x28(%rax)
    0x00007f747043a326 <+230>:   jmpq   0x7f7470438d58
 <stg_block_blackhole>
    0x00007f747043a32b <+235>:   nop
    0x00007f747043a32c <+236>:   mov    %rax,%rbx
 => 0x00007f747043a32f <+239>:   jmpq   *0x0(%rbp)
    0x00007f747043a332 <+242>:   cmpl   $0x1b,-0x8(%rbx)
    0x00007f747043a336 <+246>:   jb     0x7f747043a29c
 <stg_BLACKHOLE_info+92>
    0x00007f747043a33c <+252>:   mov    0x8(%rax),%rax
    0x00007f747043a340 <+256>:   jmpq   0x7f747043a273
 <stg_BLACKHOLE_info+51>
    0x00007f747043a345 <+261>:   mov    %rax,%rbx
    0x00007f747043a348 <+264>:   jmpq   *0x0(%rbp)
    0x00007f747043a34b <+267>:   cmpl   $0xf,-0x8(%rbx)
    0x00007f747043a34f <+271>:   jb     0x7f747043a36d
 <stg_BLACKHOLE_info+301>
    0x00007f747043a351 <+273>:   cmpl   $0x19,-0x8(%rbx)
    0x00007f747043a355 <+277>:   jb     0x7f747043a35d
 <stg_BLACKHOLE_info+285>
    0x00007f747043a357 <+279>:   mov    %rax,%rbx
    0x00007f747043a35a <+282>:   jmpq   *0x0(%rbp)
    0x00007f747043a35d <+285>:   movslq -0x8(%rbx),%rcx
    0x00007f747043a361 <+289>:   cmp    $0x17,%rcx
    0x00007f747043a365 <+293>:   jne    0x7f747043a29c
 <stg_BLACKHOLE_info+92>
    0x00007f747043a36b <+299>:   jmp    0x7f747043a357
 <stg_BLACKHOLE_info+279>
    0x00007f747043a36d <+301>:   cmpl   $0x8,-0x8(%rbx)
    0x00007f747043a371 <+305>:   jb     0x7f747043a29c
 <stg_BLACKHOLE_info+92>
    0x00007f747043a377 <+311>:   movslq -0x8(%rbx),%rbx
    0x00007f747043a37b <+315>:   add    $0xfffffffffffffff8,%rbx
    0x00007f747043a37f <+319>:   lea    0x1eca2(%rip),%rcx        #
 0x7f7470459028
    0x00007f747043a386 <+326>:   movslq (%rcx,%rbx,8),%rbx
    0x00007f747043a38a <+330>:   add    %rbx,%rcx
    0x00007f747043a38d <+333>:   jmpq   *%rcx
 End of assembler dump.
 }}}

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


More information about the ghc-tickets mailing list