View Issue Details

IDProjectCategoryView StatusLast Update
0009265ardourbugspublic2023-03-19 22:53
Reportermth22b Assigned To 
PrioritylowSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformUbuntuOSLinuxOS Version(any)
Product Version7.3 
Summary0009265: crashes while changing tempo/time-signature before/after a time-signature/tempo change
DescriptionWorking from 7.3.43 (self-compiled).
Issues reported here do not happen in 7.2.0 (also self compiled )

New empty session: crashes happen while changing tempo/time-signature before/after a time-signature/tempo change.
Steps To ReproduceCase 1: Crash when changing tempo after/before a time-signature change
Step 1: Start new session from empty template
Step 2: Set new time-signature at location X ( any location after beginning of bar 1)
Step3a: Setting new tempo after location X results in crash at tempo.h:100
Step3b: Setting new tempo before location X results in crash at tempo.h:71

Case 2: Crash when changing time-signature after/before a tempo change
Step 1: Start new session from empty template
Step 2: Set new tempo at location X ( any location after beginning of bar 1)
Step3a: Setting new time-signature after location X results in crash at tempo.h:71
Step3b: Setting new time-signature before location X results in crash at tempo.h:71
Additional InformationThe location of the crash in tempo.h ( 71 or 100 ) depends on ( in addition to the cases above) whether or not the tempo and time-signature changes are an actual change or just keeping the previous value in the time-line.
TagsNo tags attached.

Activities

mth22b

2023-02-28 16:16

reporter  

Case1-3a.png (42,779 bytes)   
Case1-3a.png (42,779 bytes)   
Case1-3a.txt (3,178 bytes)   
Thread 1 "ArdourGUI" received signal SIGSEGV, Segmentation fault.
0x0000555555e50fd2 in Temporal::Point::sclock (this=0x5555a24e7a30) at ../libs/temporal/temporal/tempo.h:100
100             LIBTEMPORAL_API superclock_t sclock() const  { return _sclock; }
(gdb) where
#0  0x0000555555e50fd2 in Temporal::Point::sclock() const (this=0x5555a24e7a30) at ../libs/temporal/temporal/tempo.h:100
#1  0x00007ffff58f8360 in Temporal::TempoMap::reftime(Temporal::TempoMetric const&) const (this=0x0, tm=...) at ../libs/temporal/tempo.cc:650
#2  0x00007ffff58f82cc in Temporal::TempoMetric::reftime() const (this=0x7fffffffcb70) at ../libs/temporal/tempo.cc:642
#3  0x0000555555ee423d in Temporal::TempoMetric::round_to_bar(Temporal::BBT_Time const&) const (this=0x7fffffffcb70, bbt=...) at ../libs/temporal/temporal/tempo.h:502
#4  0x000055555644fa6c in Temporal::TempoMap::round_to_bar(Temporal::BBT_Argument const&) const (this=0x555565be9150, bbt=...) at ../libs/temporal/temporal/tempo.h:859
#5  0x000055555644d150 in MiniTimeline::render(Cairo::RefPtr<Cairo::Context> const&, _cairo_rectangle*) (this=0x555557d5d4b8, ctx=...) at ../gtk2_ardour/mini_timeline.cc:609
#6  0x00007ffff5380ac4 in CairoWidget::on_expose_event(_GdkEventExpose*) (this=0x555557d5d4b8, ev=0x7fffffffd460) at ../libs/gtkmm2ext/cairo_widget.cc:209
#7  0x00007ffff4534459 in Gtk::Widget_Class::expose_event_callback(_GtkWidget*, _GdkEventExpose*) () at /lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#8  0x00007ffff4a914d7 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#9  0x00007ffff4f1ed2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff4f3a624 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff4f3c026 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff4f3c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff4bbd024 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00007ffff4a911c3 in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#15 0x00007ffff48dc4c9 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#16 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#17 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#18 0x00007ffff48d2155 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#19 0x00007ffff48d28e8 in gdk_window_process_all_updates () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#20 0x00007ffff48d298d in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#21 0x00007ffff48ae409 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#22 0x00007ffff4e25c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff4e7a6c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff4e252b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff4a8e2d2 in gtk_main () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#26 0x00007ffff53993fe in Gtkmm2ext::UI::run(Receiver&) (this=0x555557d58f70, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:309
#27 0x00005555563a7c8f in main(int, char**) (argc=1, argv=0x7fffffffdb98) at ../gtk2_ardour/main.cc:469

Case1-3a.txt (3,178 bytes)   
Case1-3b.png (41,034 bytes)   
Case1-3b.png (41,034 bytes)   
Case1-3b.txt (3,017 bytes)   
Thread 1 "ArdourGUI" received signal SIGSEGV, Segmentation fault.
0x0000555555ffbba4 in Temporal::MapOwned::map (this=0x556f65bde9e8) at ../libs/temporal/temporal/tempo.h:71
71              TempoMap const & map() const { return *_map; }
(gdb) where
#0  0x0000555555ffbba4 in Temporal::MapOwned::map() const (this=0x556f65bde9e8) at ../libs/temporal/temporal/tempo.h:71
#1  0x00007ffff58f82b6 in Temporal::TempoMetric::reftime() const (this=0x7fffffffcb70) at ../libs/temporal/tempo.cc:642
#2  0x0000555555ee423d in Temporal::TempoMetric::round_to_bar(Temporal::BBT_Time const&) const (this=0x7fffffffcb70, bbt=...) at ../libs/temporal/temporal/tempo.h:502
#3  0x000055555644fa6c in Temporal::TempoMap::round_to_bar(Temporal::BBT_Argument const&) const (this=0x555565bde950, bbt=...) at ../libs/temporal/temporal/tempo.h:859
#4  0x000055555644d150 in MiniTimeline::render(Cairo::RefPtr<Cairo::Context> const&, _cairo_rectangle*) (this=0x555557d5cdf8, ctx=...) at ../gtk2_ardour/mini_timeline.cc:609
#5  0x00007ffff5380ac4 in CairoWidget::on_expose_event(_GdkEventExpose*) (this=0x555557d5cdf8, ev=0x7fffffffd460) at ../libs/gtkmm2ext/cairo_widget.cc:209
#6  0x00007ffff4534459 in Gtk::Widget_Class::expose_event_callback(_GtkWidget*, _GdkEventExpose*) () at /lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#7  0x00007ffff4a914d7 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#8  0x00007ffff4f1ed2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff4f3a624 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff4f3c026 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff4f3c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff4bbd024 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00007ffff4a911c3 in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00007ffff48dc4c9 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#15 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#16 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#17 0x00007ffff48d2155 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#18 0x00007ffff48d28e8 in gdk_window_process_all_updates () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#19 0x00007ffff48d298d in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#20 0x00007ffff48ae409 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#21 0x00007ffff4e25c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff4e7a6c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff4e252b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff4a8e2d2 in gtk_main () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff53993fe in Gtkmm2ext::UI::run(Receiver&) (this=0x555557d588b0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:309
#26 0x00005555563a7c8f in main(int, char**) (argc=1, argv=0x7fffffffdb98) at ../gtk2_ardour/main.cc:469

Case1-3b.txt (3,017 bytes)   
Case2-3a.png (40,496 bytes)   
Case2-3a.png (40,496 bytes)   
Case2-3a.txt (3,017 bytes)   
Thread 1 "ArdourGUI" received signal SIGSEGV, Segmentation fault.
0x0000555555ffbba4 in Temporal::MapOwned::map (this=0x70725c44dc98) at ../libs/temporal/temporal/tempo.h:71
71              TempoMap const & map() const { return *_map; }
(gdb) where
#0  0x0000555555ffbba4 in Temporal::MapOwned::map() const (this=0x70725c44dc98) at ../libs/temporal/temporal/tempo.h:71
#1  0x00007ffff58f82b6 in Temporal::TempoMetric::reftime() const (this=0x7fffffffcb70) at ../libs/temporal/tempo.cc:642
#2  0x0000555555ee423d in Temporal::TempoMetric::round_to_bar(Temporal::BBT_Time const&) const (this=0x7fffffffcb70, bbt=...) at ../libs/temporal/temporal/tempo.h:502
#3  0x000055555644fa6c in Temporal::TempoMap::round_to_bar(Temporal::BBT_Argument const&) const (this=0x55555c44dc00, bbt=...) at ../libs/temporal/temporal/tempo.h:859
#4  0x000055555644d150 in MiniTimeline::render(Cairo::RefPtr<Cairo::Context> const&, _cairo_rectangle*) (this=0x555557d5d158, ctx=...) at ../gtk2_ardour/mini_timeline.cc:609
#5  0x00007ffff5380ac4 in CairoWidget::on_expose_event(_GdkEventExpose*) (this=0x555557d5d158, ev=0x7fffffffd460) at ../libs/gtkmm2ext/cairo_widget.cc:209
#6  0x00007ffff4534459 in Gtk::Widget_Class::expose_event_callback(_GtkWidget*, _GdkEventExpose*) () at /lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#7  0x00007ffff4a914d7 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#8  0x00007ffff4f1ed2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff4f3a624 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff4f3c026 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff4f3c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff4bbd024 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00007ffff4a911c3 in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00007ffff48dc4c9 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#15 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#16 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#17 0x00007ffff48d2155 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#18 0x00007ffff48d28e8 in gdk_window_process_all_updates () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#19 0x00007ffff48d298d in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#20 0x00007ffff48ae409 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#21 0x00007ffff4e25c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff4e7a6c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff4e252b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff4a8e2d2 in gtk_main () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff53993fe in Gtkmm2ext::UI::run(Receiver&) (this=0x555557d58c10, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:309
#26 0x00005555563a7c8f in main(int, char**) (argc=1, argv=0x7fffffffdb98) at ../gtk2_ardour/main.cc:469

Case2-3a.txt (3,017 bytes)   
Case2-3b.png (39,842 bytes)   
Case2-3b.png (39,842 bytes)   
Case2-3b.txt (3,017 bytes)   
Thread 1 "ArdourGUI" received signal SIGSEGV, Segmentation fault.
0x0000555555ffbba4 in Temporal::MapOwned::map (this=0x555665bdfde8) at ../libs/temporal/temporal/tempo.h:71
71              TempoMap const & map() const { return *_map; }
(gdb) where
#0  0x0000555555ffbba4 in Temporal::MapOwned::map() const (this=0x555665bdfde8) at ../libs/temporal/temporal/tempo.h:71
#1  0x00007ffff58f82b6 in Temporal::TempoMetric::reftime() const (this=0x7fffffffcb70) at ../libs/temporal/tempo.cc:642
#2  0x0000555555ee423d in Temporal::TempoMetric::round_to_bar(Temporal::BBT_Time const&) const (this=0x7fffffffcb70, bbt=...) at ../libs/temporal/temporal/tempo.h:502
#3  0x000055555644fa6c in Temporal::TempoMap::round_to_bar(Temporal::BBT_Argument const&) const (this=0x555565bdfd50, bbt=...) at ../libs/temporal/temporal/tempo.h:859
#4  0x000055555644d150 in MiniTimeline::render(Cairo::RefPtr<Cairo::Context> const&, _cairo_rectangle*) (this=0x555557d5c238, ctx=...) at ../gtk2_ardour/mini_timeline.cc:609
#5  0x00007ffff5380ac4 in CairoWidget::on_expose_event(_GdkEventExpose*) (this=0x555557d5c238, ev=0x7fffffffd460) at ../libs/gtkmm2ext/cairo_widget.cc:209
#6  0x00007ffff4534459 in Gtk::Widget_Class::expose_event_callback(_GtkWidget*, _GdkEventExpose*) () at /lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#7  0x00007ffff4a914d7 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#8  0x00007ffff4f1ed2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff4f3a624 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff4f3c026 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff4f3c863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff4bbd024 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00007ffff4a911c3 in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00007ffff48dc4c9 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#15 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#16 0x00007ffff48dc449 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#17 0x00007ffff48d2155 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#18 0x00007ffff48d28e8 in gdk_window_process_all_updates () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#19 0x00007ffff48d298d in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#20 0x00007ffff48ae409 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#21 0x00007ffff4e25c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff4e7a6c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff4e252b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff4a8e2d2 in gtk_main () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff53993fe in Gtkmm2ext::UI::run(Receiver&) (this=0x555557d57cf0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:309
#26 0x00005555563a7c8f in main(int, char**) (argc=1, argv=0x7fffffffdb98) at ../gtk2_ardour/main.cc:469

Case2-3b.txt (3,017 bytes)   

mth22b

2023-03-03 18:06

reporter   ~0027423

While changing tempo/time-signature before or after time-signature/tempo:
7.3.3 is OK
7.3.6 crashes

mth22b

2023-03-19 22:53

reporter   ~0027482

Resolved in 7.3.75 (commit 73bc7e6)

Issue History

Date Modified Username Field Change
2023-02-28 16:16 mth22b New Issue
2023-02-28 16:16 mth22b File Added: Case1-3a.png
2023-02-28 16:16 mth22b File Added: Case1-3a.txt
2023-02-28 16:16 mth22b File Added: Case1-3b.png
2023-02-28 16:16 mth22b File Added: Case1-3b.txt
2023-02-28 16:16 mth22b File Added: Case2-3a.png
2023-02-28 16:16 mth22b File Added: Case2-3a.txt
2023-02-28 16:16 mth22b File Added: Case2-3b.png
2023-02-28 16:16 mth22b File Added: Case2-3b.txt
2023-03-03 18:06 mth22b Note Added: 0027423
2023-03-19 22:53 mth22b Status new => closed
2023-03-19 22:53 mth22b Resolution open => fixed
2023-03-19 22:53 mth22b Note Added: 0027482