wangqr / Aegisub

Win64 nightly builds available at GHA artifact, also at following link:
https://ftp.wangqr.tk/aegisub/
Other
799 stars 49 forks source link

Deadlock playing an audio time range #180

Open mateon1 opened 1 year ago

mateon1 commented 1 year ago

No idea if this is reproducible, only happened once so far. I was syncing up audio in karaoke mode, I believe I may have pressed two hotkeys at once or something similar

Version: 3.3.3 from nixpkgs unstable

Backtrace:

#0  __futex_lock_pi64 (futex_word=futex_word@entry=0x32aca10, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:180
#1  0x00007fb8206a2ce6 in __pthread_mutex_lock_full (mutex=0x32aca10) at pthread_mutex_lock.c:441
#2  0x00007fb81ddd588e in pa_mutex_lock () from /nix/store/6g70y8ayzq7s5gjry9cx54z8bma54p4p-libpulseaudio-16.1/lib/pulseaudio/libpulsecommon-16.1.so
#3  0x00000000008f4aba in (anonymous namespace)::PulseAudioPlayer::Play(long, long) ()
#4  0x000000000075a3a1 in AudioController::PlayRange(TimeRange const&) ()
#5  0x0000000000504eac in (anonymous namespace)::audio_play_begin::operator()(agi::Context*) ()
#6  0x00000000007dff3b in hotkey::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, agi::Context*, wxKeyEvent&) ()
#7  0x000000000075bebf in AudioDisplay::OnKeyDown(wxKeyEvent&) ()
#8  0x00007fb821c07dc2 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
   from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#9  0x00007fb821c0821e in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
   from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#10 0x00007fb821c08570 in wxEvtHandler::TryHereOnly(wxEvent&) () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#11 0x00007fb821c0861a in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#12 0x00007fb821c08721 in wxEvtHandler::ProcessEvent(wxEvent&) () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#13 0x00007fb821c09e57 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#14 0x00007fb8213b1dda in gtk_window_key_press_callback () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_gtk3u_core-3.2.so.0
#15 0x00007fb81fe9d989 in _gtk_marshal_BOOLEAN__BOXED (closure=0x2ddb170, return_value=0x7ffde2d18810, n_param_values=<optimized out>, param_values=0x7ffde2d18870, 
    invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk/gtkmarshalers.c:84
#16 0x00007fb81fa244d0 in g_closure_invoke (closure=0x2ddb170, return_value=return_value@entry=0x7ffde2d18810, n_param_values=2, 
    param_values=param_values@entry=0x7ffde2d18870, invocation_hint=invocation_hint@entry=0x7ffde2d187f0) at ../gobject/gclosure.c:832
#17 0x00007fb81fa373a6 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x2ddabd0, 
    emission_return=emission_return@entry=0x7ffde2d18960, instance_and_params=instance_and_params@entry=0x7ffde2d18870) at ../gobject/gsignal.c:3812
#18 0x00007fb81fa3dbfd in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffde2d18a10)
    at ../gobject/gsignal.c:3575
#19 0x00007fb81fa3e59f in g_signal_emit (instance=instance@entry=0x2ddabd0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3622
#20 0x00007fb820151384 in gtk_widget_event_internal (widget=widget@entry=0x2ddabd0, event=event@entry=0x3380320) at ../gtk/gtkwidget.c:7812
#21 0x00007fb820153bf1 in gtk_widget_event_internal (event=0x3380320, widget=0x2ddabd0) at ../gtk/gtkwidget.c:7383
#22 0x00007fb820172d3b in gtk_window_propagate_key_event (window=0x20766c0, event=0x3380320) at ../gtk/gtkwindow.c:8259
#23 0x00007fb821398a31 in wxgtk_tlw_key_press_event () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_gtk3u_core-3.2.so.0
#24 0x00007fb81fe9d989 in _gtk_marshal_BOOLEAN__BOXED (closure=0x21502b0, return_value=0x7ffde2d18d00, n_param_values=<optimized out>, param_values=0x7ffde2d18d60, 
    invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk/gtkmarshalers.c:84
#25 0x00007fb81fa244d0 in g_closure_invoke (closure=0x21502b0, return_value=return_value@entry=0x7ffde2d18d00, n_param_values=2, 
    param_values=param_values@entry=0x7ffde2d18d60, invocation_hint=invocation_hint@entry=0x7ffde2d18ce0) at ../gobject/gclosure.c:832
#26 0x00007fb81fa373a6 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x20766c0, 
    emission_return=emission_return@entry=0x7ffde2d18e50, instance_and_params=instance_and_params@entry=0x7ffde2d18d60) at ../gobject/gsignal.c:3812
#27 0x00007fb81fa3dbfd in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffde2d18f00)
    at ../gobject/gsignal.c:3575
#28 0x00007fb81fa3e59f in g_signal_emit (instance=instance@entry=0x20766c0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3622
#29 0x00007fb820151384 in gtk_widget_event_internal (widget=0x20766c0, event=0x3380320) at ../gtk/gtkwidget.c:7812
#30 0x00007fb82000532f in propagate_event (widget=widget@entry=0x20766c0, event=event@entry=0x3380320, captured=captured@entry=0, topmost=topmost@entry=0x0)
    at ../gtk/gtkmain.c:2681
#31 0x00007fb82000666c in gtk_propagate_event (widget=widget@entry=0x20766c0, event=event@entry=0x3380320) at ../gtk/gtkmain.c:2725
#32 0x00007fb820006d86 in gtk_main_do_event (event=0x3380320) at ../gtk/gtkmain.c:1921
#33 gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1691
#34 0x00007fb820aa9715 in _gdk_event_emit (event=event@entry=0x3380320) at ../gdk/gdkevents.c:73
#35 0x00007fb820b01f02 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../gdk/x11/gdkeventsource.c:367
#36 0x00007fb81f922ead in g_main_dispatch (context=0x1f6a070) at ../glib/gmain.c:3460
#37 g_main_context_dispatch (context=context@entry=0x1f6a070) at ../glib/gmain.c:4200
#38 0x00007fb81f923158 in g_main_context_iterate (context=0x1f6a070, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4276
#39 0x00007fb81f92340f in g_main_loop_run (loop=loop@entry=0x335c3e0) at ../glib/gmain.c:4479
#40 0x00007fb820005fd5 in gtk_main () at ../gtk/gtkmain.c:1329
#41 0x00007fb8213831c5 in wxGUIEventLoop::DoRun() () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_gtk3u_core-3.2.so.0
#42 0x00007fb821adc3bd in wxEventLoopBase::Run() () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#43 0x00007fb821aa752b in wxAppConsoleBase::MainLoop() () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#44 0x00000000007ed74f in AegisubApp::OnRun() ()
#45 0x00007fb821b23267 in wxEntry(int&, wchar_t**) () from /nix/store/xmklpcjb4h9n3k4hjr5jwcvm5l7w9lfy-wxwidgets-3.2.2.1/lib/libwx_baseu-3.2.so.0
#46 0x00000000004f639e in main ()