Crash on loading a specific wav file

Bug #880352 reported by Phlogistique
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
RJ Skerry-Ryan
1.10
Fix Released
Critical
RJ Skerry-Ryan
1.9
Fix Released
Critical
RJ Skerry-Ryan

Bug Description

I got a crash with the current trunk by loading the attached file in Mixxx. I'm attaching two logs as a follow up.

Mixxx compiled under Arch Linux with "scons prefix=$HOME tuned=1 qtdir=/usr/share/qt"

Tags: libsndfile wav

Related branches

Revision history for this message
Phlogistique (noe-rubinstein) wrote :
Revision history for this message
Phlogistique (noe-rubinstein) wrote :
Revision history for this message
Phlogistique (noe-rubinstein) wrote :
RJ Skerry-Ryan (rryan)
Changed in mixxx:
importance: Undecided → High
importance: High → Critical
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hi Phlogistique,

Is this 100% reproducible by you? Could you please get us a backtrace for this? See http://mixxx.org/wiki/doku.php/creating_backtraces

That will help nail down which part of Mixxx is crashing.

Thanks,
RJ

tags: added: libsndfile
tags: added: wav
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Also, what version of libsndfile do you have built?

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hi Phlogistique,

Could you please check what version of libsndfile you have built? We're in the process of releasing Mixxx 1.9.2 this weekend and we'd love to get to the bottom of this before we release it.

Thanks,
RJ

Revision history for this message
Phlogistique (noe-rubinstein) wrote :

Here is the backtrace with 1.10:

(gdb) bt
#0 0xb7fde424 in __kernel_vsyscall ()
#1 0xb4f6d96f in raise () from /lib/libc.so.6
#2 0xb4f6f2f5 in abort () from /lib/libc.so.6
#3 0xb4fa7bba in ?? () from /lib/libc.so.6
#4 0xb4fae5f2 in ?? () from /lib/libc.so.6
#5 0xb4faf292 in ?? () from /lib/libc.so.6
#6 0xb4fb237d in free () from /lib/libc.so.6
#7 0xb51a36af in operator delete(void*) () from /usr/lib/libstdc++.so.6
#8 0xb51a370b in operator delete[](void*) () from /usr/lib/libstdc++.so.6
#9 0x081455c9 in process (iLen=7015, pIn=0xa5105f78, this=0x85665c0) at src/analyserrg.cpp:53
#10 AnalyserGain::process (this=0x85665c0, pIn=0xa5105f78, iLen=7015) at src/analyserrg.cpp:37
#11 0x08145b59 in AnalyserQueue::doAnalysis (this=0x8575888, tio=..., pSoundSource=0x8750af0)
    at src/analyserqueue.cpp:102
#12 0x081474d5 in AnalyserQueue::run (this=0x8575888) at src/analyserqueue.cpp:165
#13 0xb5655253 in ?? () from /usr/lib/libQtCore.so.4
#14 0xb4f2bca7 in start_thread () from /lib/libpthread.so.0
#15 0xb5011dee in clone () from /lib/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
(gdb)

I don't think I can reproduce with 1.9. I'll check that right now.

Revision history for this message
Phlogistique (noe-rubinstein) wrote :

Reproduced with 1.9;

(gdb) bt
#0 0xb7fde424 in __kernel_vsyscall ()
#1 0xb4f6d96f in raise () from /lib/libc.so.6
#2 0xb4f6f2f5 in abort () from /lib/libc.so.6
#3 0xb4fa7bba in ?? () from /lib/libc.so.6
#4 0xb4fae5f2 in ?? () from /lib/libc.so.6
#5 0xb4faff8e in ?? () from /lib/libc.so.6
#6 0xb4fb1ec8 in malloc () from /lib/libc.so.6
#7 0xb51a5877 in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
#8 0xb5c49c7a in QPainter::QPainter() () from /usr/lib/libQtGui.so.4
#9 0x08199168 in WGLWaveformViewer::paintEvent (this=0x8845610, event=0xbfffec84) at src/widget/wglwaveformviewer.cpp:56
#10 0xb5b448ae in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11 0xb7ebda22 in QGLWidget::event(QEvent*) () from /usr/lib/libQtOpenGL.so.4
#12 0xb5aeaa24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#13 0xb5aefe78 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#14 0xb574fb2e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#15 0xb5b4175b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#16 0xb5d2168e in QWidgetPrivate::repaint_sys(QRegion const&) () from /usr/lib/libQtGui.so.4
#17 0xb5b37050 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#18 0xb5b4523f in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0xb7ebda22 in QGLWidget::event(QEvent*) () from /usr/lib/libQtOpenGL.so.4
#20 0xb5aeaa24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0xb5aefe78 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0xb574fb2e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#23 0xb5753303 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#24 0xb575345c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#25 0xb577da14 in ?? () from /usr/lib/libQtCore.so.4
#26 0xb4adffaf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0xb4ae06e0 in ?? () from /usr/lib/libglib-2.0.so.0
#28 0xb4ae097a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#29 0xb577de4a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#30 0xb5b9df8a in ?? () from /usr/lib/libQtGui.so.4
#31 0xb574eb6d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#32 0xb574edb1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0xb575350d in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#34 0xb5ae8894 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#35 0x080f95e2 in main (argc=1, argv=0xbffff6d4) at src/main.cpp:303
(gdb)

Revision history for this message
Phlogistique (noe-rubinstein) wrote :

libsndfile is libsndfile 1.0.25-1 installed from ArchLinux's pacman.

Revision history for this message
Phlogistique (noe-rubinstein) wrote :
Revision history for this message
Phlogistique (noe-rubinstein) wrote :
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Found an invalid read/write from AnalyserGain thanks to the hints in your backtrace and valgrind. Fixed in 1.9.x and trunk/1.10 as soon as I merge it. Phlogistique -- please test the 1.9 branch and see if that fixes the crash.

Changed in mixxx:
status: New → Confirmed
assignee: nobody → RJ Ryan (rryan)
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Confirmed → In Progress
Revision history for this message
Phlogistique (noe-rubinstein) wrote :

Fixed it for me.

RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: In Progress → Fix Committed
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6037

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.