View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003306 | ardour | bugs | public | 2010-07-07 19:49 | 2011-09-28 16:23 |
| Reporter | colinf | Assigned To | paul | ||
| Priority | normal | Severity | crash | Reproducibility | sometimes |
| Status | closed | Resolution | fixed | ||
| Product Version | SVN/2.0-ongoing | ||||
| Target Version | 2.8.12 | ||||
| Summary | 0003306: AutomationList::truncate_start() called on an empty list | ||||
| Description | When attempting to resize the start of the 'harmonica-10.7' region in the attached session file, the message 'AutomationList::truncate_start() called on an empty list' appears, with 'Press To Exit' the only option. | ||||
| Tags | No tags attached. | ||||
|
2010-07-07 19:49
|
|
|
|
A few more notes: I've not used any automation in this session at all. Choosing 'Region envelope visible' on the region in question doesn't show any automation points at all. 'Reset region envelope' causes the default 0dB envelope to appear on that region, after which resizing it works as expected. |
|
|
I just experienced the same in 3.0 (rev 7504). What i did: - Import a sound file to a stereo track (track 1) - Create a _new_ track (track 2) - Cut out a region from the sound file on track 1 - Move the new region to track 2 - Resize the start of the region Ardour crashes with ardour-3.0: ../libs/evoral/src/ControlList.cpp:681: void Evoral::ControlList::truncate_start(double): Assertion `!_events.empty()' failed |
|
|
Further investigation suggests that the move-to-new-track part is not necessary for getting the assertion failure. |
|
|
Confirmed in 3.0 (not checked in 2.0, yet). |
|
|
Should be fixed in A3 SVN (rev 7510). Could you check, moshisushi? |
|
|
Seems to be a little better now! I imported a drum loop, tried to resize the start of it in different ways. Couldn't make it crash that way. Then i moved it to another track and resized, still no crash. However, i found that these steps will always crash Ardour: 1. Import a sound file to a new track / region. 2. Make a copy of that region, and make the two regions overlap a bit (with crossfades) 3. Adjust (resize) the beginning of the first region to the right. 4. Adjust (resize) the beginning of the first region to the left. |
|
2010-07-27 12:05
|
negative_use_count_bug.txt (6,269 bytes)
Program received signal SIGABRT, Aborted.
0x00007fffecdf3a75 in raise () from /lib/libc.so.6
(gdb) bt
#0 0x00007fffecdf3a75 in raise () from /lib/libc.so.6
#1 0x00007fffecdf75c0 in abort () from /lib/libc.so.6
#2 0x00007ffff6bc77ba in ARDOUR::Source::dec_use_count (this=0x2abab50) at ../libs/ardour/source.cc:288
#3 0x00007ffff6a789d3 in ARDOUR::Region::drop_sources (this=0x7fffdc4fb190) at ../libs/ardour/region.cc:1553
#4 0x00007ffff6a72860 in ~Region (this=0x7fffdc4fb190, __in_chrg=<value optimized out>) at ../libs/ardour/region.cc:420
#5 0x00007ffff67e65e9 in ~AudioRegion (this=0x7fffdc4fb190, __in_chrg=<value optimized out>) at ../libs/ardour/audioregion.cc:220
#6 0x00007ffff6840b90 in ~Crossfade (this=0x7fffdc4fb190, __in_chrg=<value optimized out>) at ../libs/ardour/crossfade.cc:214
#7 0x00007ffff677c5ac in boost::checked_delete<ARDOUR::Crossfade> (x=0x7fffdc4fb190) at /usr/include/boost/checked_delete.hpp:34
#8 0x00007ffff678d722 in boost::detail::sp_counted_impl_p<ARDOUR::Crossfade>::dispose() () from ./../build/default/libs/ardour/libardour.so.3
#9 0x0000000000865706 in boost::detail::sp_counted_base::release (this=0x7fffdc503430)
at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#10 0x0000000000865795 in ~shared_count (this=0x7fffffffc668, __in_chrg=<value optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217
#11 0x000000000095fba0 in ~shared_ptr (this=0x7fffffffc660, __in_chrg=<value optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:169
#12 0x00007ffff6774c92 in ARDOUR::AudioPlaylist::check_dependents (this=0x7fffdc2171d0, r=..., norefresh=false) at ../libs/ardour/audio_playlist.cc:511
#13 0x00007ffff69f1c24 in ARDOUR::Playlist::flush_notifications (this=0x7fffdc2171d0, from_undo=false) at ../libs/ardour/playlist.cc:663
#14 0x00007ffff67729b2 in ARDOUR::AudioPlaylist::flush_notifications (this=0x7fffdc2171d0, from_undo=false) at ../libs/ardour/audio_playlist.cc:246
#15 0x00007ffff69f10ad in ARDOUR::Playlist::release_notifications (this=0x7fffdc2171d0, from_undo=false) at ../libs/ardour/playlist.cc:481
#16 0x00007ffff69f0ffe in ARDOUR::Playlist::thaw (this=0x7fffdc2171d0, from_undo=false) at ../libs/ardour/playlist.cc:465
#17 0x0000000000af5d43 in TrimDrag::finished (this=0x7fffdc4f5bd0, event=0x2abf890, movement_occurred=true) at ../gtk2_ardour/editor_drag.cc:1880
#18 0x0000000000aed184 in Drag::end_grab (this=0x7fffdc4f5bd0, event=0x2abf890) at ../gtk2_ardour/editor_drag.cc:252
#19 0x0000000000aecb81 in DragManager::end_grab (this=0x1ecf790, e=0x2abf890) at ../gtk2_ardour/editor_drag.cc:122
#20 0x0000000000b3ad4f in Editor::button_release_handler (this=0x1e92da0, item=0x7fffdc4b15e0, event=0x2abf890, item_type=RegionViewNameHighlight)
at ../gtk2_ardour/editor_mouse.cc:1115
#21 0x0000000000ae78fa in Editor::canvas_region_view_name_highlight_event (this=0x1e92da0, event=0x2abf890, item=0x7fffdc4b15e0, rv=0x7fffdc4b64e0)
at ../gtk2_ardour/editor_canvas_events.cc:837
#22 0x0000000000955cd7 in sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, RegionView*>::operator() (this=0x7fffdc4b69e0,
_A_a1=@0x7fffffffcca8, _A_a2=@0x7fffffffcc18, _A_a3=@0x7fffdc4b6a08) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1985
#23 0x0000000000ece347 in sigc::adaptor_functor<sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, RegionView*> >::operator()<_GdkEvent* const&, Gnome::Canvas::SimpleRect*&, RegionView*&> (this=0x7fffdc4b69d8, _A_arg1=@0x7fffffffcca8, _A_arg2=@0x7fffdc4b6a00, _A_arg3=@0x7fffdc4b6a08)
at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:123
#24 0x0000000000ecdb0c in sigc::bind_functor<-1, sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, RegionView*>, Gnome::Canvas::SimpleRect*, RegionView*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<_GdkEvent* const&> (this=0x7fffdc4b69d0,
_A_arg1=@0x7fffffffcca8) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1336
#25 0x0000000000ecd116 in sigc::internal::slot_call1<sigc::bind_functor<-1, sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, RegionView*>, Gnome::Canvas::SimpleRect*, RegionView*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, bool, _GdkEvent*>::call_it (
rep=0x7fffdc4b69a0, a_1=@0x7fffffffcca8) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:137
#26 0x00007fffee217f22 in ?? () from /usr/lib/libgnomecanvasmm-2.6.so.1
---Type <return> to continue, or q <return> to quit---
#27 0x00007fffefd57168 in gnome_canvas_marshal_BOOLEAN__BOXED () from /usr/lib/libgnomecanvas-2.so.0
#28 0x00007ffff20fa5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff210e9a4 in ?? () from /usr/lib/libgobject-2.0.so.0
#30 0x00007ffff210f8b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#31 0x00007ffff2110033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#32 0x00007fffefd52972 in ?? () from /usr/lib/libgnomecanvas-2.so.0
#33 0x00007fffefd55426 in ?? () from /usr/lib/libgnomecanvas-2.so.0
#34 0x00007ffff1a08178 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#35 0x00007ffff20fa5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#36 0x00007ffff210e1dd in ?? () from /usr/lib/libgobject-2.0.so.0
#37 0x00007ffff210f8b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#38 0x00007ffff2110033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#39 0x00007ffff1b1f0bf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#40 0x00007ffff1a00643 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#41 0x00007ffff1a0171b in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#42 0x00007ffff167586c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#43 0x00007ffff2f728c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#44 0x00007ffff2f76748 in ?? () from /lib/libglib-2.0.so.0
#45 0x00007ffff2f76c55 in g_main_loop_run () from /lib/libglib-2.0.so.0
#46 0x00007ffff1a01bb7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#47 0x00007ffff57f0f13 in Gtkmm2ext::UI::run (this=0x17f1fb0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:259
#48 0x0000000000ce906f in main (argc=1, argv=0x7fffffffda68) at ../gtk2_ardour/main.cc:433
|
|
|
Seems to be a different problem though.. the use count of some region source turns negative, causing Ardour to abort execution (atomizer 100.wav is my test audio file): "Bad use dec for ZG HH atomizer 100.wav" Full backtrace attached. |
|
|
The problem disappears if "create crossfades automatically" is unchecked |
|
2011-06-03 15:15
|
truncate_start-error.patch (523 bytes)
Index: libs/ardour/automation_event.cc
===================================================================
--- libs/ardour/automation_event.cc (revision 9675)
+++ libs/ardour/automation_event.cc (working copy)
@@ -913,10 +913,9 @@
double first_legal_coordinate;
if (events.empty()) {
- fatal << _("programming error:")
+ cerr << _("programming error:")
<< "AutomationList::truncate_start() called on an empty list"
- << endmsg;
- /*NOTREACHED*/
+ << endmsg;
return;
}
|
|
|
I've had the attached change (truncate_start-error.patch) in my local copy since I originally reported this. I can't see any ill effects from just returning rather than aborting in this case. Is there a reason this is a fatal error? |
|
|
colin's patch applied to 2.X. |
|
|
Fixed in 2.8.12. Thank you! |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2010-07-07 19:49 | colinf | New Issue | |
| 2010-07-07 19:49 | colinf | File Added: empty-list.ardour | |
| 2010-07-07 19:58 | colinf | Note Added: 0008406 | |
| 2010-07-10 10:05 | cth103 | cost | => 0.00 |
| 2010-07-10 10:05 | cth103 | Target Version | => 2.8.12 |
| 2010-07-27 00:48 | moshisushi | Note Added: 0008659 | |
| 2010-07-27 00:59 | moshisushi | Note Added: 0008660 | |
| 2010-07-27 01:01 | cth103 | Note Added: 0008661 | |
| 2010-07-27 01:01 | cth103 | Status | new => confirmed |
| 2010-07-27 02:11 | cth103 | Note Added: 0008663 | |
| 2010-07-27 02:11 | cth103 | Status | confirmed => feedback |
| 2010-07-27 10:31 | moshisushi | Note Added: 0008666 | |
| 2010-07-27 12:05 | moshisushi | File Added: negative_use_count_bug.txt | |
| 2010-07-27 12:07 | moshisushi | Note Added: 0008667 | |
| 2010-07-27 22:23 | moshisushi | Note Added: 0008675 | |
| 2011-06-03 15:15 | colinf | File Added: truncate_start-error.patch | |
| 2011-06-03 15:18 | colinf | Note Added: 0010839 | |
| 2011-06-11 17:00 | paul | Note Added: 0010846 | |
| 2011-06-11 17:00 | paul | Status | feedback => resolved |
| 2011-06-11 17:00 | paul | Resolution | open => fixed |
| 2011-06-11 17:00 | paul | Assigned To | => paul |
| 2011-09-28 16:23 | colinf | Note Added: 0011606 | |
| 2011-09-28 16:23 | colinf | Status | resolved => closed |