View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005024 | ardour | bugs | public | 2012-07-19 13:16 | 2020-04-19 20:16 |
| Reporter | wferi | Assigned To | drobilla | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Target Version | 3.0 | ||||
| Summary | 0005024: crash triggered by MIDI feedback and on-the-fly note addition | ||||
| Description | This is how to trigger an assertion: 1. create a new session with default settings 2. add a MIDI track 3. make a feedback connection with QJackCtl from MIDI 1/midi_out 1 to MIDI 1/midi_in 1 3. start recording into the new track 4. try to draw a MIDI note into the region being created (it won't persist) 5. stop the transport ardour-3.0: /usr/include/boost/smart_ptr/shared_ptr.hpp:424: T* boost::shared_ptr<T>::operator->() const [with T = const ARDOUR::MidiSource]: Assertion `px != 0' failed. Program received signal SIGABRT, Aborted. [Switching to Thread 0x7fffd1d4c820 (LWP 4199)] 0x00007fffec73a475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt full #0 0x00007fffec73a475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. 0000001 0x00007fffec73d6f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #2 0x00007fffec733621 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #3 0x00007ffff74727ed in boost::shared_ptr<ARDOUR::MidiSource const>::operator-> ( this=0x7fffd1d4ad90) at /usr/include/boost/smart_ptr/shared_ptr.hpp:424 __PRETTY_FUNCTION__ = "T* boost::shared_ptr<T>::operator->() const [with T = const ARDOUR::MidiSource]" 0000004 0x00007ffff746795b in ARDOUR::MidiModel::NoteDiffCommand::get_state (this=0x4a2f320) at ../libs/ardour/midi_model.cc:729 diff_command = 0x4a5d830 changes = 0x4a2afd0 added_notes = 0x4a5d8b0 removed_notes = 0x7fffed1c7480 0000005 0x00007ffff5bfca37 in UndoTransaction::get_state (this=0x4a2ae10) at ../libs/pbd/undo.cc:148 node = 0x4a5d960 ss = <incomplete type> it = {_M_node = 0x2136be0} #6 0x00007ffff5bfd520 in UndoHistory::get_state (this=0x29de558, depth=19) at ../libs/pbd/undo.cc:357 it = {_M_node = 0x4a5d270} in_order = {<std::_List_base<UndoTransaction*, std::allocator<UndoTransaction*> >> = { _M_impl = {<std::allocator<std::_List_node<UndoTransaction*> >> = {<__gnu_cxx::new_allocator<std::_List_node<UndoTransaction*> >> = {<No data fields>}, <No data fields>}, _M_node = { _M_next = 0x4a5d270, _M_prev = 0x4a5d270}}}, <No data fields>} node = 0x4a1bcc0 #7 0x00007ffff7639b43 in ARDOUR::Session::save_history (this=0x29dce30, snapshot_name=...) at ../libs/ardour/session_state.cc:3218 tree = {_filename = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffed1c7498 ""}}, _root = 0x0, _doc = 0x0, _compression = 0} history_filename = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x4a79a88 "crash.history"}} backup_filename = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x4a5ce68 "crash.history.bak"}} xml_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x4a5ced8 "/home/wferi/ardour/crash/crash.history"}} backup_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x4a7a1e8 "/home/wferi/ardour/crash/crash.history.bak"}} 0000008 0x00007ffff762b2d2 in ARDOUR::Session::save_state (this=0x29dce30, snapshot_name=..., pending=false, switch_to_snapshot=false) at ../libs/ardour/session_state.cc:828 was_dirty = false tree = {_filename = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x4a5d0c8 "/home/wferi/ardour/crash/crash.tmp"}}, _root = 0x4a41c20, _doc = 0x0, _compression = 0} xml_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x4a5cda8 "/home/wferi/ardour/crash/crash.ardour"}} tmp_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x4a5d0c8 "/home/wferi/ardour/crash/crash.tmp"}} 0000009 0x00007ffff766810c in ARDOUR::Session::non_realtime_stop (this=0x29dce30, abort=false, on_entry=1, finished=@0x7fffd1d4b9ef: true) at ../libs/ardour/session_transport.cc:632 xnow = 1342703448 saved = false ptw = 3 rl = {px = 0x7fffdc017570, pn = {pi_ = 0x7fffdc017550}} now = 0x7fffeca8e3a0 did_record = true r = {px = 0x7fffdc017570, pn = {pi_ = 0x7fffdc017550}} auto_return_enabled = false 0000010 0x00007ffff7666d8f in ARDOUR::Session::butler_transport_work (this=0x29dce30) at ../libs/ardour/session_transport.cc:363 on_entry = 1 finished = true ptw = 3 r = {px = 0x7fffdc017570, pn = {pi_ = 0x7fffdc017550}} 0000011 0x00007ffff733dbc2 in ARDOUR::Butler::thread_work (this=0x2944f50) at ../libs/ardour/butler.cc:212 rl = {px = 0x7fffdc017570, pn = {pi_ = 0x7fffdc017550}} err = 0 pfd = {{fd = 34, events = 25, revents = 1}} disk_work_outstanding = false i = {_M_node = 0x7fffdc017570} 0000012 0x00007ffff733d85b in ARDOUR::Butler::_thread_work (arg=0x2944f50) at ../libs/ardour/butler.cc:134 No locals. 0000013 0x00007ffff5beb016 in fake_thread_start (arg=0x43964f0) at ../libs/pbd/pthread_utils.cc:80 ts = 0x43964f0 thread_work = 0x7ffff733d7ea <ARDOUR::Butler::_thread_work(void*)> thread_arg = 0x2944f50 0000014 0x00007fffeca95b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 No symbol table info available. #15 0x00007fffec7e06dd in clone () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. 0000016 0x0000000000000000 in ?? () No symbol table info available. | ||||
| Additional Information | svn revision: 13053 | ||||
| Tags | No tags attached. | ||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-07-19 13:16 | wferi | New Issue | |
| 2012-07-21 02:59 | cth103 | cost | => 0.00 |
| 2012-07-21 02:59 | cth103 | Target Version | => 3.0 |
| 2014-12-17 07:35 | drobilla | Assigned To | => drobilla |
| 2014-12-17 07:35 | drobilla | Status | new => resolved |
| 2014-12-17 07:35 | drobilla | Resolution | open => fixed |
| 2014-12-17 07:52 | drobilla | Note Added: 0016049 | |
| 2020-04-19 20:16 | system | Note Added: 0023123 | |
| 2020-04-19 20:16 | system | Status | resolved => closed |