View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008503 | ardour | bugs | public | 2020-12-15 23:03 | 2020-12-15 23:03 |
Reporter | rosslagerwall | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | random |
Status | new | Resolution | open | ||
Platform | Arch | OS | Linux | OS Version | (any) |
Product Version | 6.5 | ||||
Summary | 0008503: Segfault when quitting (related to jack) | ||||
Description | Since upgrading to 6.5, I get sporadic segfaults when quitting Ardour. It has happened several times, but not consistently. It seems to be related to jack clean up. The stack trace is below but unfortunately I didn't have full debugging information. I will try to capture better stack trace in case it is useful. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007fe585a1b8e7 in std::_Rb_tree<void*, std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> >, std::_Select1st<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >, std::less<void*>, std::allocator<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > > >::_M_erase(std::_Rb_tree_node<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >*) [clone .isra.0] () from /usr/lib/ardour6/backends/libjack_audiobackend.so [Current thread is 1 (Thread 0x7fe58d841d40 (LWP 5757))] (gdb) bt #0 0x00007fe585a1b8e7 in std::_Rb_tree<void*, std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> >, std::_Select1st<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >, std::less<void*>, std::allocator<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > > >::_M_erase(std::_Rb_tree_node<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >*) [clone .isra.0] () at /usr/lib/ardour6/backends/libjack_audiobackend.so 0000001 0x00007fe585a1b8b8 in std::_Rb_tree<void*, std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> >, std::_Select1st<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >, std::less<void*>, std::allocator<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > > >::_M_erase(std::_Rb_tree_node<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >*) [clone .isra.0] () at /usr/lib/ardour6/backends/libjack_audiobackend.so #2 0x00007fe585a1b8b8 in std::_Rb_tree<void*, std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> >, std::_Select1st<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >, std::less<void*>, std::allocator<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > > >::_M_erase(std::_Rb_tree_node<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >*) [clone .isra.0] () at /usr/lib/ardour6/backends/libjack_audiobackend.so #3 0x00007fe585a21452 in ARDOUR::JACKAudioBackend::~JACKAudioBackend() () at /usr/lib/ardour6/backends/libjack_audiobackend.so 0000004 0x00007fe585a21d59 in ARDOUR::JACKAudioBackend::~JACKAudioBackend() () at /usr/lib/ardour6/backends/libjack_audiobackend.so 0000005 0x00007fe585a174c2 in deinstantiate() () at /usr/lib/ardour6/backends/libjack_audiobackend.so #6 0x00007fe59877ed0f in ARDOUR::AudioEngine::~AudioEngine() () at /usr/lib/ardour6/libardour.so.3 #7 0x00007fe59877fd21 in ARDOUR::AudioEngine::destroy() () at /usr/lib/ardour6/libardour.so.3 0000008 0x00007fe5988a1da4 in ARDOUR::cleanup() () at /usr/lib/ardour6/libardour.so.3 0000009 0x000056529ac3ad40 in main () (gdb) frame 0 #0 0x00007fe585a1b8e7 in std::_Rb_tree<void*, std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> >, std::_Select1st<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >, std::less<void*>, std::allocator<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > > >::_M_erase(std::_Rb_tree_node<std::pair<void* const, boost::shared_ptr<ARDOUR::JackPort> > >*) [clone .isra.0] () from /usr/lib/ardour6/backends/libjack_audiobackend.so (gdb) info locals No symbol table info available. (gdb) disas Dump of assembler code for function _ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0: 0x00007fe585a1b8a0 <+0>: test %rdi,%rdi 0x00007fe585a1b8a3 <+3>: je 0x7fe585a1b910 <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+112> 0x00007fe585a1b8a5 <+5>: push %r12 0x00007fe585a1b8a7 <+7>: push %rbp 0x00007fe585a1b8a8 <+8>: push %rbx 0x00007fe585a1b8a9 <+9>: mov %rdi,%rbx 0x00007fe585a1b8ac <+12>: mov 0x18(%rbx),%rdi 0x00007fe585a1b8b0 <+16>: mov %rbx,%r12 0x00007fe585a1b8b3 <+19>: callq 0x7fe585a1b8a0 <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0> 0x00007fe585a1b8b8 <+24>: mov 0x30(%r12),%rbp 0x00007fe585a1b8bd <+29>: mov 0x10(%rbx),%rbx 0x00007fe585a1b8c1 <+33>: test %rbp,%rbp 0x00007fe585a1b8c4 <+36>: je 0x7fe585a1b8cc <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+44> 0x00007fe585a1b8c6 <+38>: lock decl 0x8(%rbp) 0x00007fe585a1b8ca <+42>: je 0x7fe585a1b8e0 <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+64> 0x00007fe585a1b8cc <+44>: mov %r12,%rdi 0x00007fe585a1b8cf <+47>: callq 0x7fe585a146d0 <_ZdlPv@plt> 0x00007fe585a1b8d4 <+52>: test %rbx,%rbx 0x00007fe585a1b8d7 <+55>: jne 0x7fe585a1b8ac <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+12> 0x00007fe585a1b8d9 <+57>: pop %rbx 0x00007fe585a1b8da <+58>: pop %rbp 0x00007fe585a1b8db <+59>: pop %r12 0x00007fe585a1b8dd <+61>: retq 0x00007fe585a1b8de <+62>: xchg %ax,%ax 0x00007fe585a1b8e0 <+64>: mov 0x0(%rbp),%rax 0x00007fe585a1b8e4 <+68>: mov %rbp,%rdi => 0x00007fe585a1b8e7 <+71>: callq *0x10(%rax) 0x00007fe585a1b8ea <+74>: lock decl 0xc(%rbp) 0x00007fe585a1b8ee <+78>: jne 0x7fe585a1b8cc <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+44> 0x00007fe585a1b8f0 <+80>: mov 0x0(%rbp),%rax 0x00007fe585a1b8f4 <+84>: mov %rbp,%rdi 0x00007fe585a1b8f7 <+87>: mov 0x18(%rax),%rdx 0x00007fe585a1b8fb <+91>: cmp 0x2642e(%rip),%rdx # 0x7fe585a41d30 0x00007fe585a1b902 <+98>: jne 0x7fe585a1b911 <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+113> 0x00007fe585a1b904 <+100>: callq *0x8(%rax) 0x00007fe585a1b907 <+103>: jmp 0x7fe585a1b8cc <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+44> 0x00007fe585a1b909 <+105>: nopl 0x0(%rax) 0x00007fe585a1b910 <+112>: retq 0x00007fe585a1b911 <+113>: callq *%rdx 0x00007fe585a1b913 <+115>: jmp 0x7fe585a1b8cc <_ZNSt8_Rb_treeIPvSt4pairIKS0_N5boost10shared_ptrIN6ARDOUR8JackPortEEEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E.isra.0+44> End of assembler dump. | ||||
Additional Information | I'm using jack as the audio backend. I compiled Ardour from the 6.5 tag. | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2020-12-15 23:03 | rosslagerwall | New Issue |