Bug 1398446 - Crash when pressing record button
Summary: Crash when pressing record button
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: audacity
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: David Timms
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-24 22:02 UTC by Richard W.M. Jones
Modified: 2017-04-03 22:53 UTC (History)
2 users (show)

Fixed In Version: audacity-2.1.3-2.fc26 audacity-2.1.3-2.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-04-03 16:07:54 UTC
Type: Bug


Attachments (Terms of Use)

Description Richard W.M. Jones 2016-11-24 22:02:26 UTC
Description of problem:

Audacity reliably crashes when I press the record button.  See
the exact sequence in "Steps to reproduce" below.

Version-Release number of selected component (if applicable):

audacity-2.1.3-0.7.20161109git53a5c93.fc25.x86_64

How reproducible:

100%

Steps to Reproduce:
1. Press Record icon/button, record for a bit then stop.
2. Press Ctrl A to select everything, then Del to delete it.
3. Repeat from step 1.
4. After 2 or 3 iterations, audacity will segfault when the record
   button is pressed.

Additional info:

I captured a core file, and the stack trace is as follows:

Core was generated by `audacity'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f2b2b1d696f in raise () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f2b0c384700 (LWP 23297))]

#0  0x00007f2b2b1d696f in raise () at /lib64/libc.so.6
#1  0x00007f2b2b1d856a in abort () at /lib64/libc.so.6
#2  0x00007f2b2b1cedf7 in __assert_fail_base () at /lib64/libc.so.6
#3  0x00007f2b2b1ceea2 in  () at /lib64/libc.so.6
#4  0x00007f2b32757664 in OnExit (data=<optimized out>)
    at src/hostapi/alsa/pa_linux_alsa.c:3382
#5  0x00007f2b3275b7b6 in CallbackThreadFunc (__frame=<synthetic pointer>)
    at /usr/include/pthread.h:611
#6  0x00007f2b3275b7b6 in CallbackThreadFunc (userData=0x557a7eddf7c0)
    at src/hostapi/alsa/pa_linux_alsa.c:4180
#7  0x00007f2b325316fa in start_thread () at /lib64/libpthread.so.0
#8  0x00007f2b2b2a82af in clone () at /lib64/libc.so.6

That's thread 1, but I believe it's really thread 2 which is causing the problem:

Thread 2 (Thread 0x7f2b32d60ac0 (LWP 23224)):
#0  0x00007f2b2cab8dd2 in g_pattern_match () at /lib64/libglib-2.0.so.0
#1  0x00007f2b2e580fca in gtk_rc_styles_match () at /lib64/libgtk-x11-2.0.so.0
#2  0x00007f2b2e5811b6 in gtk_rc_get_style () at /lib64/libgtk-x11-2.0.so.0
#3  0x00007f2b30c2e485 in wxControl::GetDefaultAttributesFromGTKWidget(_GtkWidget*, bool, int) () at /lib64/libwx_gtk2u_core-3.0-gtk2.so.0
#4  0x00007f2b30c2e8ac in wxControl::GetDefaultAttributes() const ()
    at /lib64/libwx_gtk2u_core-3.0-gtk2.so.0
#5  0x00007f2b30dc49db in wxWindowBase::GetFont() const ()
    at /lib64/libwx_gtk2u_core-3.0-gtk2.so.0
#6  0x00007f2b30bd7585 in wxWindow::DoGetTextExtent(wxString const&, int*, int*, int*, int*, wxFont const*) const () at /lib64/libwx_gtk2u_core-3.0-gtk2.so.0
#7  0x0000557a7d8edd72 in ControlToolBar::WidthForStatusBar(wxStatusBar*) (font=0x0, externalLeading=0x0, descent=0x0, y=0x7ffd888444bc, x=0x7ffd888444b8, string=..., this=0x557a7ede5190) at /usr/include/wx-3.0-gtk2/wx/window.h:1152
#8  0x0000557a7d8edd72 in ControlToolBar::WidthForStatusBar(wxStatusBar*) (state=..., __closure=<synthetic pointer>) at toolbars/ControlToolBar.cpp:1234
#9  0x0000557a7d8edd72 in ControlToolBar::WidthForStatusBar(wxStatusBar*) (this=0x557a7ee9a7c0, sb=sb@entry=0x557a7ede5190) at toolbars/ControlToolBar.cpp:1239
#10 0x0000557a7d6ac4b4 in AudacityProject::OnAudioIORate(int) (this=0x557a7ee77ff0, rate=<optimized out>) at Project.cpp:5090
#11 0x0000557a7d5e8908 in AudioIO::StartStream(std::vector<WaveTrack const*, std::allocator<WaveTrack const*> > const&, std::vector<WaveTrack*, std::allocator<WaveTrack*> > const&, double, double, AudioIOStartStreamOptions const&) (this=0x557a7edef970, playbackTracks=std::vector of length 4, capacity 4 = {...}, captureTracks=std::vector of length 2, capacity 2 = {...}, t0=t0@entry=-0.13, t1=t1@entry=1.7976931348623157e+308, options=...) at AudioIO.cpp:2042
#12 0x0000557a7d8f2fac in ControlToolBar::OnRecord(wxCommandEvent&) (this=0x557a7ee9a7c0, evt=...) at toolbars/ControlToolBar.cpp:1088
#13 0x00007f2b3009968e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () at /lib64/libwx_baseu-3.0-gtk2.so.0
#14 0x00007f2b3021fcd7 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /lib64/libwx_baseu-3.0-gtk2.so.0
#15 0x00007f2b3021fdcb in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /lib64/libwx_baseu-3.0-gtk2.so.0
#16 0x00007f2b30220188 in wxEvtHandler::TryHereOnly(wxEvent&) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#17 0x00007f2b30220213 in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#18 0x00007f2b30220275 in wxEvtHandler::ProcessEvent(wxEvent&) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#19 0x00007f2b30dc27f8 in wxWindowBase::TryAfter(wxEvent&) ()
    at /lib64/libwx_gtk2u_core-3.0-gtk2.so.0
#20 0x0000557a7d92c2b8 in AButton::Click() (this=this@entry=0x557a7ee99780)
    at widgets/AButton.cpp:564
#21 0x0000557a7d92d713 in AButton::OnMouseEvent(wxMouseEvent&) (this=0x557a7ee99780, event=...) at widgets/AButton.cpp:433
#22 0x00007f2b3009968e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () at /lib64/libwx_baseu-3.0-gtk2.so.0
#23 0x00007f2b3021fcd7 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /lib64/libwx_baseu-3.0-gtk2.so.0
#24 0x00007f2b3021fdcb in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /lib64/libwx_baseu-3.0-gtk2.so.0
#25 0x00007f2b30220188 in wxEvtHandler::TryHereOnly(wxEvent&) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#26 0x00007f2b30220213 in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#27 0x00007f2b30220275 in wxEvtHandler::ProcessEvent(wxEvent&) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#28 0x00007f2b3021ffd7 in wxEvtHandler::SafelyProcessEvent(wxEvent&) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#29 0x00007f2b30bdb63b in gtk_window_button_release_callback ()
    at /lib64/libwx_gtk2u_core-3.0-gtk2.so.0
#30 0x00007f2b2e52cace in _gtk_marshal_BOOLEAN__BOXED ()
    at /lib64/libgtk-x11-2.0.so.0
#31 0x00007f2b2cd803e5 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#32 0x00007f2b2cd92432 in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#33 0x00007f2b2cd9ab8f in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#34 0x00007f2b2cd9b43f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#35 0x00007f2b2e65d08c in gtk_widget_event_internal ()
    at /lib64/libgtk-x11-2.0.so.0
#36 0x00007f2b2e52ad84 in gtk_propagate_event () at /lib64/libgtk-x11-2.0.so.0
#37 0x00007f2b2e52b14b in gtk_main_do_event () at /lib64/libgtk-x11-2.0.so.0
#38 0x00007f2b2e18848c in gdk_event_dispatch () at /lib64/libgdk-x11-2.0.so.0
#39 0x00007f2b2caac6ba in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#40 0x00007f2b2caaca70 in g_main_context_iterate.isra ()
    at /lib64/libglib-2.0.so.0
#41 0x00007f2b2caacd92 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#42 0x00007f2b2e52a197 in gtk_main () at /lib64/libgtk-x11-2.0.so.0
#43 0x00007f2b30bad245 in wxGUIEventLoop::DoRun() ()
    at /lib64/libwx_gtk2u_core-3.0-gtk2.so.0
#44 0x00007f2b300db343 in wxEventLoopBase::Run() ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#45 0x00007f2b300a0586 in wxAppConsoleBase::MainLoop() ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#46 0x00007f2b3012d080 in wxEntry(int&, wchar_t**) ()
    at /lib64/libwx_baseu-3.0-gtk2.so.0
#47 0x0000557a7d567f62 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at AudacityApp.cpp:702

Comment 1 David Timms 2016-11-30 11:42:51 UTC
Testing this reproducer on F24 package built from the same source/spec, but couldn't get it to fault.

I booted up a Virtual Machine Manager guest with fresh F25 workstation(install from live), and installed Audacity version above. With the first click of record it immediately aborted.

I then upgraded my F24 laptop to F25 and installed Audacity...25.. I wasn't able to get the sequence to invoke a crash in half an hour of repeats. Some record lengths were 3 or 4 minutes, others only 10 seconds.

I'm thinking it might be due to the speed of VM sound passthrough that caused that. Are you using real or VM hardware ?

Which audio system is selected ?

Comment 2 Richard W.M. Jones 2016-11-30 12:53:38 UTC
Baremetal, pulseaudio using an external USB device (Behringer UCA202).

Comment 3 Fedora Update System 2017-03-26 18:53:08 UTC
audacity-2.1.3-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-c6511f96f9

Comment 4 Fedora Update System 2017-03-27 02:18:59 UTC
audacity-2.1.3-2.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-ec5e8e0240

Comment 5 Fedora Update System 2017-03-27 03:20:52 UTC
audacity-2.1.3-2.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-a20103b1c8

Comment 6 Fedora Update System 2017-04-03 16:07:54 UTC
audacity-2.1.3-2.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2017-04-03 22:53:57 UTC
audacity-2.1.3-2.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.