View Issue Details

IDProjectCategoryView StatusLast Update
0010102ardourbugspublic2026-01-04 12:23
Reportertristan.tarrant Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
PlatformUbuntuOSLinuxOS Version(any)
Product Version9.0-rc 
Summary0010102: Crash during session load
DescriptionLoading a session created with Ardour 8.x, I get consistent crashes in Temporal::TempoMetric::TempoMetric(Temporal::TempoPoint const&, Temporal::MeterPoint const&) ()
Additional InformationThread 1 "ArdourGUI" received signal SIGSEGV, Segmentation fault.
0x00007ffff6b67e6c in Temporal::TempoMetric::TempoMetric(Temporal::TempoPoint const&, Temporal::MeterPoint const&) ()
   from /usr/local/lib/ardour9/libtemporal.so.0
(gdb) bt
#0 0x00007ffff6b67e6c in Temporal::TempoMetric::TempoMetric(Temporal::TempoPoint const&, Temporal::MeterPoint const&) ()
    at /usr/local/lib/ardour9/libtemporal.so.0
0000001 0x00007ffff6b71472 in Temporal::TempoMap::metric_at(Temporal::BBT_Argument const&, bool) const ()
    at /usr/local/lib/ardour9/libtemporal.so.0
#2 0x000055555625dbf2 in MiniTimeline::render(Cairo::RefPtr<Cairo::Context> const&, _cairo_rectangle*) ()
#3 0x00007ffff68b1d8c in CairoWidget::on_expose_event(_GdkEventExpose*) () at /usr/local/lib/ardour9/libgtkmm2ext.so.0
0000004 0x00007ffff65018a8 in Gtk::Widget_Class::expose_event_callback(_GtkWidget*, _GdkEventExpose*) ()
    at /usr/local/lib/ardour9/libytkmm.so.2
0000005 0x00007ffff5d73e4b in _gtk_marshal_BOOLEAN__BOXED () at /usr/local/lib/ardour9/libytk.so.2
#6 0x00007ffff592973c in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff5948441 in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000008 0x00007ffff59497ed in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000009 0x00007ffff594a108 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000010 0x00007ffff594a1cb in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000011 0x00007ffff5eeb56e in gtk_widget_event_internal () at /usr/local/lib/ardour9/libytk.so.2
0000012 0x00007ffff5d72a1c in gtk_main_do_event () at /usr/local/lib/ardour9/libytk.so.2
0000013 0x00007ffff669e644 in _gdk_window_process_updates_recurse () at /usr/local/lib/ardour9/libydk.so.2
0000014 0x00007ffff669e5ef in _gdk_window_process_updates_recurse () at /usr/local/lib/ardour9/libydk.so.2
#15 0x00007ffff669e5ef in _gdk_window_process_updates_recurse () at /usr/local/lib/ardour9/libydk.so.2
0000016 0x00007ffff669e5ef in _gdk_window_process_updates_recurse () at /usr/local/lib/ardour9/libydk.so.2
#17 0x00007ffff6699f4f in gdk_window_process_updates_internal () at /usr/local/lib/ardour9/libydk.so.2
0000018 0x00007ffff669aac1 in gdk_window_process_all_updates () at /usr/local/lib/ardour9/libydk.so.2
0000019 0x00007ffff5ccf23d in gtk_container_idle_sizer () at /usr/local/lib/ardour9/libytk.so.2
0000020 0x00007ffff6654f99 in gdk_threads_dispatch () at /usr/local/lib/ardour9/libydk.so.2
0000021 0x00007ffff5b07f9b in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000022 0x00007ffff5b095d7 in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000023 0x00007ffff5b097c3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff5d712e5 in gtk_main_iteration () at /usr/local/lib/ardour9/libytk.so.2
0000025 0x00007ffff68c1d83 in Gtkmm2ext::UI::flush_pending(float) () at /usr/local/lib/ardour9/libgtkmm2ext.so.0
0000026 0x0000555555cd3542 in ARDOUR_UI::load_session_stage_two(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
0000027 0x0000555555cd6bc9 in ARDOUR_UI::load_session(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
0000028 0x0000555555cddae5 in ARDOUR_UI::load_session_from_startup_fsm() ()
0000029 0x0000555555ce3405 in ARDOUR_UI::sfsm_response(StartupFSM::Result) ()
0000030 0x000055555671496d in sigc::internal::signal_emit1<void, StartupFSM::Result, sigc::nil>::emit(sigc::internal::signal_impl*, StartupFSM::Result const&) ()
0000031 0x0000555556713adc in StartupFSM::dialog_response_handler(int, StartupFSM::DialogID) ()
0000032 0x00007ffff647173b in (anonymous namespace)::Dialog_signal_response_callback(_GtkDialog*, int, void*) ()
    at /usr/local/lib/ardour9/libytkmm.so.2
0000033 0x00007ffff592973c in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000034 0x00007ffff5948525 in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000035 0x00007ffff5949e9e in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000036 0x00007ffff594a108 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000037 0x00007ffff594a1cb in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000038 0x000055555670f876 in StartupFSM::start_audio_midi_setup() ()
0000039 0x00007ffff647173b in (anonymous namespace)::Dialog_signal_response_callback(_GtkDialog*, int, void*) ()
    at /usr/local/lib/ardour9/libytkmm.so.2
0000040 0x00007ffff592973c in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000041 0x00007ffff5948525 in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000042 0x00007ffff5949e9e in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000043 0x00007ffff594a108 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000044 0x00007ffff594a1cb in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000045 0x00005555566727a7 in SessionDialog::open_button_pressed(_GdkEventButton*) ()
0000046 0x00007ffff6505cd9 in (anonymous namespace)::Widget_signal_button_press_event_callback(_GtkWidget*, _GdkEventButton*, void*) () at /usr/local/lib/ardour9/libytkmm.so.2
0000047 0x00007ffff5d73e4b in _gtk_marshal_BOOLEAN__BOXED () at /usr/local/lib/ardour9/libytk.so.2
0000048 0x00007ffff592973c in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000049 0x00007ffff5947f49 in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000050 0x00007ffff59497ed in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000051 0x00007ffff594a108 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000052 0x00007ffff594a1cb in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000053 0x00007ffff5eeb56e in gtk_widget_event_internal () at /usr/local/lib/ardour9/libytk.so.2
0000054 0x00007ffff5d72155 in gtk_propagate_event () at /usr/local/lib/ardour9/libytk.so.2
0000055 0x00007ffff5d7255b in gtk_main_do_event () at /usr/local/lib/ardour9/libytk.so.2
0000056 0x00007ffff66c1720 in gdk_event_dispatch () at /usr/local/lib/ardour9/libydk.so.2
0000057 0x00007ffff5b07f9b in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000058 0x00007ffff5b095d7 in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000059 0x00007ffff5b09977 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000060 0x00007ffff5d7108f in gtk_main () at /usr/local/lib/ardour9/libytk.so.2
0000061 0x00007ffff68bf821 in Gtkmm2ext::UI::run(Receiver&) () at /usr/local/lib/ardour9/libgtkmm2ext.so.0
0000062 0x0000555555c18932 in main ()
TagsNo tags attached.

Activities

tristan.tarrant

2026-01-04 12:23

reporter   ~0029660

Here is a stack trace from a non-optimized build:

Thread 1 "ArdourGUI" received signal SIGSEGV, Segmentation fault.
Temporal::TempoMetric::TempoMetric (this=0x7fffffff8b90, t=..., m=...) at ../libs/temporal/tempo.cc:777
777 _reftime = _tempo->map().reftime (t, m);
(gdb) bt
#0 Temporal::TempoMetric::TempoMetric (this=0x7fffffff8b90, t=..., m=...) at ../libs/temporal/tempo.cc:777
0000001 0x00007ffff5487328 in Temporal::TempoMap::metric_at (this=0x555557841fa0, bbt=..., can_match=true)
    at ../libs/temporal/tempo.cc:4229
#2 0x0000555555e50821 in Temporal::TempoMap::round_to_bar (this=0x555557841fa0, bbt=...)
    at ../libs/temporal/temporal/tempo.h:974
#3 0x00005555565edf4e in MiniTimeline::render (this=0x555558caf008, ctx=...) at ../gtk2_ardour/mini_timeline.cc:612
0000004 0x00007ffff4d63d0a in CairoWidget::on_expose_event (this=0x555558caf008, ev=0x7fffffff9740)
    at ../libs/gtkmm2ext/cairo_widget.cc:209
0000005 0x00007ffff45be12e in Gtk::Widget_Class::expose_event_callback (self=0x555567e33590, p0=0x7fffffff9740)
    at ../libs/tk/ytkmm/widget.cc:4596
#6 0x00007ffff3d96097 in _gtk_marshal_BOOLEAN__BOXED
    (closure=0x555557fd7ca0, return_value=0x7fffffff91e0, n_param_values=2, param_values=0x7fffffff9280, invocation_hint=0x7fffffff91c0, marshal_data=0x7ffff45be080 <Gtk::Widget_Class::expose_event_callback(_GtkWidget*, _GdkEventExpose*)>)
    at ../libs/tk/ytk/gtkmarshalers.c:84
#7 0x00007ffff3b4273c in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000008 0x00007ffff3b61441 in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000009 0x00007ffff3b627ed in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000010 0x00007ffff3b63108 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000011 0x00007ffff3b631cb in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000012 0x00007ffff3f2dcc9 in gtk_widget_event_internal (widget=0x555567e33590, event=0x7fffffff9740)
    at ../libs/tk/ytk/gtkwidget.c:5058
0000013 0x00007ffff3f2d702 in IA__gtk_widget_send_expose (widget=0x555567e33590, event=0x7fffffff9740)
    at ../libs/tk/ytk/gtkwidget.c:4878
0000014 0x00007ffff3d926c5 in IA__gtk_main_do_event (event=0x7fffffff9740) at ../libs/tk/ytk/gtkmain.c:1571
#15 0x00007ffff50e1eaa in _gdk_window_process_updates_recurse (window=0x55556c2d7bc0, expose_region=0x555567ba92e0)
    at ../libs/tk/ydk/gdkwindow.c:5491
0000016 0x00007ffff50e1d7c in _gdk_window_process_updates_recurse (window=0x55556786b1b0, expose_region=0x5555a6953e90)
    at ../libs/tk/ydk/gdkwindow.c:5455
#17 0x00007ffff50e1d7c in _gdk_window_process_updates_recurse (window=0x55556786afd0, expose_region=0x5555ad5bd4e0)
    at ../libs/tk/ydk/gdkwindow.c:5455
0000018 0x00007ffff50e1d7c in _gdk_window_process_updates_recurse (window=0x555567be50d0, expose_region=0x55556784c350)
    at ../libs/tk/ydk/gdkwindow.c:5455
0000019 0x00007ffff512e9a0 in _gdk_windowing_window_process_updates_recurse (window=0x555567be50d0, region=0x55556784c350)
    at ../libs/tk/ydk/x11/gdkwindow-x11.c:5665
0000020 0x00007ffff50e21cd in gdk_window_process_updates_internal (window=0x555567be50d0) at ../libs/tk/ydk/gdkwindow.c:5658
0000021 0x00007ffff50e240c in IA__gdk_window_process_all_updates () at ../libs/tk/ydk/gdkwindow.c:5764
0000022 0x00007ffff3cdcaef in gtk_container_idle_sizer (data=0x0) at ../libs/tk/ytk/gtkcontainer.c:1360
0000023 0x00007ffff50ae604 in gdk_threads_dispatch (data=0x555557d70280) at ../libs/tk/ydk/gdk.c:535
#24 0x00007ffff4107f9b in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000025 0x00007ffff41095d7 in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000026 0x00007ffff41097c3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
0000027 0x00007ffff3d91ed3 in IA__gtk_main_iteration () at ../libs/tk/ytk/gtkmain.c:1301
0000028 0x00007ffff4d7f606 in Gtkmm2ext::UI::flush_pending (this=0x555557f72df0, timeout=10) at ../libs/gtkmm2ext/gtk_ui.cc:785
0000029 0x0000555555e20971 in ARDOUR_UI::load_session_stage_two
    (this=0x555557f72df0, path="/mnt/wookie/home/tst/Guitar/Ardour/Master of Puppets", snap_name="Master of Puppets", mix_template="") at ../gtk2_ardour/ardour_ui_session.cc:632
0000030 0x0000555555e1fd38 in ARDOUR_UI::load_session
    (this=0x555557f72df0, path="/mnt/wookie/home/tst/Guitar/Ardour/Master of Puppets", snap_name="Master of Puppets", mix_template="") at ../gtk2_ardour/ardour_ui_session.cc:382
0000031 0x0000555555e35c41 in ARDOUR_UI::load_session_from_startup_fsm (this=0x555557f72df0)
    at ../gtk2_ardour/ardour_ui_startup.cc:702
0000032 0x0000555555e348a6 in ARDOUR_UI::sfsm_response (this=0x555557f72df0, r=StartupFSM::LoadSession)
    at ../gtk2_ardour/ardour_ui_startup.cc:555
0000033 0x0000555555e3a625 in sigc::bound_mem_functor1<void, ARDOUR_UI, StartupFSM::Result>::operator()
    (this=0x555557b76be8, _A_a1=@0x7fffffffafb0: StartupFSM::LoadSession)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:2066
0000034 0x0000555555e3a209 in sigc::adaptor_functor<sigc::bound_mem_functor1<void, ARDOUR_UI, StartupFSM::Result> >::operator()<StartupFSM::Result const&> (this=0x555557b76be0, _A_arg1=@0x7fffffffafb0: StartupFSM::LoadSession)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89
0000035 0x0000555555e398b9 in sigc::internal::slot_call<sigc::bound_mem_functor1<void, ARDOUR_UI, StartupFSM::Result>, void, StartupFSM::Result>::call_it (rep=0x555557b76bb0, a_#0=@0x7fffffffafb0: StartupFSM::LoadSession)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:451
0000036 0x0000555556c9948f in sigc::internal::signal_emit1<void, StartupFSM::Result, sigc::nil>::emit
    (impl=0x555557b76c40, _A_a1=@0x7fffffffafb0: StartupFSM::LoadSession) at /usr/include/sigc++-2.0/sigc++/signal.h:1045
0000037 0x0000555556c988e9 in sigc::signal1<void, StartupFSM::Result, sigc::nil>::emit
    (this=0x555557b49780, _A_a1=@0x7fffffffafb0: StartupFSM::LoadSession) at /usr/include/sigc++-2.0/sigc++/signal.h:2965
0000038 0x0000555556c97e71 in sigc::signal1<void, StartupFSM::Result, sigc::nil>::operator()
    (this=0x555557b49780, _A_a1=@0x7fffffffafb0: StartupFSM::LoadSession) at /usr/include/sigc++-2.0/sigc++/signal.h:2981
0000039 0x0000555556c929e4 in StartupFSM::dialog_response_handler
    (this=0x555557b49630, response=-5, dialog_id=StartupFSM::PluginDialog) at ../gtk2_ardour/startup_fsm.cc:337
0000040 0x0000555556c9affe in sigc::bound_mem_functor2<void, StartupFSM, int, StartupFSM::DialogID>::operator()
    (this=0x555557c87630, _A_a1=@0x7fffffffb1f4: -5, _A_a2=@0x555557c87650: StartupFSM::PluginDialog)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:2143
0000041 0x0000555556c9a8d9 in sigc::adaptor_functor<sigc::bound_mem_functor2<void, StartupFSM, int, StartupFSM::DialogID> >::operator()<int const&, StartupFSM::DialogID&>
    (this=0x555557c87628, _A_arg1=@0x7fffffffb1f4: -5, _A_arg2=@0x555557c87650: StartupFSM::PluginDialog)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:108
0000042 0x0000555556c9a2d5 in sigc::bind_functor<-1, sigc::bound_mem_functor2<void, StartupFSM, int, StartupFSM::DialogID>, StartupFSM::DialogID, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<int const&>
    (this=0x555557c87620, _A_arg1=@0x7fffffffb1f4: -5) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1136
0000043 0x0000555556c9a123 in sigc::internal::slot_call1<sigc::bind_functor<-1, sigc::bound_mem_functor2<void, StartupFSM, int, StartupFSM::DialogID>, StartupFSM::DialogID, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, int>::call_it (rep=0x555557c875f0, a_1=@0x7fffffffb1f4: -5) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:170
0000044 0x00007ffff44e5838 in sigc::slot1<void, int>::operator() (this=0x555557cb7348, _A_a1=@0x7fffffffb1f4: -5)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:675
0000045 0x00007ffff44e4816 in (anonymous namespace)::Dialog_signal_response_callback
    (self=0x555557d8f740, p0=-5, data=0x555557cb7340) at ../libs/tk/ytkmm/dialog.cc:85
0000046 0x00007ffff3b4273c in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000047 0x00007ffff3b61525 in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000048 0x00007ffff3b62e9e in ??? () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
0000049 0x00007ffff3b63108 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

Issue History

Date Modified Username Field Change
2026-01-04 12:16 tristan.tarrant New Issue
2026-01-04 12:23 tristan.tarrant Note Added: 0029660