[GHC] #14310: Assertion triggered by STM invariant.
GHC
ghc-devs at haskell.org
Wed Oct 4 01:37:01 UTC 2017
#14310: Assertion triggered by STM invariant.
----------------------------------+--------------------------------------
Reporter: mbw | Owner: (none)
Type: bug | Status: new
Priority: high | Milestone: 8.4.1
Component: Compiler | Version: 8.2.1
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64 (amd64)
Type of failure: Runtime crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
----------------------------------+--------------------------------------
Comment (by bgamari):
If I compile without the debug RTS and run the test program in the same
way, I find that the program isn't actually dead-locked. Rather it is
live-locked with two threads apparently spinning against one another:
{{{
pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
185 in ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
>>> info threads
Id Target Id Frame
* 1 Thread 0x7f88ade01740 (LWP 4341) "Main"
pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread 0x7f88abec5700 (LWP 4342) "ghc_worker" 0x00007f88ac9650f3 in
epoll_wait () at ../sysdeps/unix/syscall-template.S:84
3 Thread 0x7f88ab6c4700 (LWP 4343) "ghc_ticker" 0x00007f88ad08b20d in
read () at ../sysdeps/unix/syscall-template.S:84
4 Thread 0x7f88aaec3700 (LWP 4344) "ghc_worker" 0x00007f88ac9650f3 in
epoll_wait () at ../sysdeps/unix/syscall-template.S:84
5 Thread 0x7f88aa6c2700 (LWP 4345) "ghc_worker" 0x00007f88ac95b6ad in
poll () at ../sysdeps/unix/syscall-template.S:84
6 Thread 0x7f88a9ec1700 (LWP 4346) "ghc_worker" 0x00000000004a3c21 in
stg_atomically_frame_info ()
7 Thread 0x7f88a96c0700 (LWP 4347) "ghc_worker" stmAbortTransaction
(cap=0x4e01b0, trec=0x42000d2238) at rts/STM.c:1020
>>> thread 6
[Switching to thread 6 (Thread 0x7f88a9ec1700 (LWP 4346))]
#0 0x00000000004a3c21 in stg_atomically_frame_info ()
>>> bt
#0 0x00000000004a3c21 in stg_atomically_frame_info ()
#1 0x0000000000000000 in ?? ()
>>> x/8a $rbp
0x42002d7338: 0x4a3bb8 <stg_atomically_frame_info> 0x42002fd510
0x42002d7348: 0x42001d56d8 0x4daed9
0x42002d7358: 0x413bf0 <base_GHCziBase_zdfApplicativeIO2_info+64>
0x42002fd538
0x42002d7368: 0x49feb0 <stg_catch_frame_info> 0x0
>>> thread 7
[Switching to thread 7 (Thread 0x7f88a96c0700 (LWP 4347))]
#0 stmAbortTransaction (cap=0x4e01b0, trec=0x42000d2238) at
rts/STM.c:1020
1020 rts/STM.c: No such file or directory.
>>> bt
#0 stmAbortTransaction (cap=0x4e01b0, trec=0x42000d2238) at
rts/STM.c:1020
#1 0x00000000004a3c14 in stg_atomically_frame_info ()
#2 0x0000000000000000 in ?? ()
>>> up
#1 0x00000000004a3c14 in stg_atomically_frame_info ()
>>> x/8a $rbp
0x42002d54a0: 0x4a3bb8 <stg_atomically_frame_info> 0x420029d690
0x42002d54b0: 0x42000d2218 0x4daed9
0x42002d54c0: 0x413bf0 <base_GHCziBase_zdfApplicativeIO2_info+64>
0x420029d6b8
0x42002d54d0: 0x49feb0 <stg_catch_frame_info> 0x0
>>>
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14310#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list