segfault with duplicate_tags.wav

Bug #1606054 reported by Daniel Schürmann
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Undecided
Unassigned

Bug Description

The duplicate_tags.wav from the taglib test suite produces strange random segfaults.
Since the segfault happens when the track is loaded to a deck.
Since the backtrace locks differen every time, I assume it is a memory corruption.

Debug [AnalyzerQueue 1]: Opened AudioSource for file "file:///home/daniel/Downloads/taglib-1.10/tests/data/duplicate_tags.wav" with provider "libsndfile"
Debug [AnalyzerQueue 1]: AnalysisDAO fetched 0 analyses, 0 bytes for track 97 in 0 ms
fidlib error: Frequency of 600Hz out of range with sampling rate of 1000Hz

Program received signal SIGSEGV, Segmentation fault.
QThreadStorageData::get (this=this@entry=0x0) at thread/qthreadstorage.cpp:125
125 if (tls.size() <= id)
(gdb) bt
#0 QThreadStorageData::get (this=this@entry=0x0)
    at thread/qthreadstorage.cpp:125
#1 0x00007ffff5bb1d76 in qThreadStorage_localData<QFontCache> (d=...)
    at ../../include/QtCore/../../src/corelib/thread/qthreadstorage.h:76
#2 localData (this=0x0)
    at ../../include/QtCore/../../src/corelib/thread/qthreadstorage.h:150
#3 QFontCache::instance () at text/qfont.cpp:2790
#4 0x00007ffff5bd3fed in getEngineData (key=..., d=0x14b56a0)
    at text/qfontdatabase.cpp:1051
#5 QFontDatabase::load (d=d@entry=0x14b56a0, script=script@entry=0)
    at text/qfontdatabase_x11.cpp:1982
#6 0x00007ffff5bb1e79 in QFontPrivate::engineForScript (this=0x14b56a0,
    script=script@entry=0) at text/qfont.cpp:305
#7 0x00007ffff5be7962 in QTextEngine::fontEngine (
    this=this@entry=0x7fffffff7bd0, si=..., ascent=ascent@entry=0x3ec5d06c,
    descent=descent@entry=0x3ec5d068, leading=leading@entry=0x3ec5d070)
    at text/qtextengine.cpp:1936
#8 0x00007ffff5be8113 in QTextEngine::shapeTextWithHarfbuzz (
    this=this@entry=0x7fffffff7bd0, item=item@entry=0)
    at text/qtextengine.cpp:1195
#9 0x00007ffff5be9212 in QTextEngine::shapeText (
    this=this@entry=0x7fffffff7bd0, item=item@entry=0)
    at text/qtextengine.cpp:935
---Type <return> to continue, or q <return> to quit---
#10 0x00007ffff5be9535 in QTextEngine::shape (this=this@entry=0x7fffffff7bd0,
    item=item@entry=0) at text/qtextengine.cpp:1450
#11 0x00007ffff5becfc5 in QTextEngine::shapeLine (
    this=this@entry=0x7fffffff7bd0, line=...) at text/qtextengine.cpp:875
#12 0x00007ffff5af0706 in QPainter::drawText (this=this@entry=0x7fffffffaee0,
    p=..., str="C", tf=tf@entry=0,
    justificationPadding=justificationPadding@entry=0)
    at painting/qpainter.cpp:6138
#13 0x00007ffff5af0e0a in QPainter::drawText (this=this@entry=0x7fffffffaee0,
    p=..., str="C") at painting/qpainter.cpp:5968
#14 0x0000000000beeff2 in WOverview::paintEvent (this=0x3afd08b0)
    at src/widget/woverview.cpp:421
#15 0x00007ffff59ec300 in QWidget::event (this=this@entry=0x3afd08b0,
    event=event@entry=0x7fffffffb790) at kernel/qwidget.cpp:8533
#16 0x0000000000c2a176 in WWidget::event (this=0x3afd08b0, e=0x7fffffffb790)
    at src/widget/wwidget.cpp:96
#17 0x00007ffff599ce2c in QApplicationPrivate::notify_helper (
    this=this@entry=0x1256310, receiver=receiver@entry=0x3afd08b0,
    e=e@entry=0x7fffffffb790) at kernel/qapplication.cpp:4567
#18 0x00007ffff59a34a0 in QApplication::notify (
    this=this@entry=0x7fffffffdf30, receiver=receiver@entry=0x3afd08b0,
    e=e@entry=0x7fffffffb790) at kernel/qapplication.cpp:4353
#19 0x00000000009d821e in MixxxApplication::notify (this=0x7fffffffdf30,
---Type <return> to continue, or q <return> to quit---
    target=0x3afd08b0, event=0x7fffffffb790) at src/mixxxapplication.cpp:137
#20 0x00007ffff4fc44dd in QCoreApplication::notifyInternal (this=
    0x7fffffffdf30, receiver=receiver@entry=0x3afd08b0,
    event=event@entry=0x7fffffffb790) at kernel/qcoreapplication.cpp:953
#21 0x00007ffff59e6a21 in sendSpontaneousEvent (event=0x7fffffffb790,
    receiver=0x3afd08b0)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#22 QWidgetPrivate::drawWidget (this=this@entry=0x3afd8b00, pdev=pdev@entry=
    0x14e0ba0, rgn=..., offset=..., flags=flags@entry=4,
    sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5599
#23 0x00007ffff59e7450 in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=<optimized out>, index@entry=5, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5808
#24 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=5, index@entry=6, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#25 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
---Type <return> to continue, or q <return> to quit---
    siblings=QList<QObject *>, index=6, index@entry=7, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#26 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=7, index@entry=8, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#27 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=8, index@entry=20, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#28 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=20, index@entry=21, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#29 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=21, index@entry=22, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
---Type <return> to continue, or q <return> to quit---
#30 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=22, index@entry=23, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#31 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=23, index@entry=24, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#32 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=24, index@entry=25, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#33 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=25, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#34 0x00007ffff59e65dc in QWidgetPrivate::drawWidget (
    this=this@entry=0x37c0aae0, pdev=pdev@entry=0x14e0ba0, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
---Type <return> to continue, or q <return> to quit---
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5652
#35 0x00007ffff59e7450 in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c09b50, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=<optimized out>, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5808
#36 0x00007ffff59e65dc in QWidgetPrivate::drawWidget (
    this=this@entry=0x37c09b50, pdev=pdev@entry=0x14e0ba0, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5652
#37 0x00007ffff59e7450 in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c05900, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=<optimized out>, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5808
#38 0x00007ffff59e65dc in QWidgetPrivate::drawWidget (
    this=this@entry=0x37c05900, pdev=pdev@entry=0x14e0ba0, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5652
#39 0x00007ffff59e7450 in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c04f50, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=<optimized out>, rgn=..., offset=...,

    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
---Type <return> to continue, or q <return> to quit---
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5808
#40 0x00007ffff59e65dc in QWidgetPrivate::drawWidget (
    this=this@entry=0x37c04f50, pdev=pdev@entry=0x14e0ba0, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5652
#41 0x00007ffff59e7450 in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c03790, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=<optimized out>, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5808
#42 0x00007ffff59e65dc in QWidgetPrivate::drawWidget (
    this=this@entry=0x37c03790, pdev=pdev@entry=0x14e0ba0, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5652
#43 0x00007ffff59e7450 in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c01520, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=<optimized out>, index@entry=1, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5808
#44 0x00007ffff59e72bf in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x37c01520, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=1, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
---Type <return> to continue, or q <return> to quit---
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5795
#45 0x00007ffff59e65dc in QWidgetPrivate::drawWidget (
    this=this@entry=0x37c01520, pdev=pdev@entry=0x14e0ba0, rgn=...,
    offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5652
#46 0x00007ffff59e7450 in QWidgetPrivate::paintSiblingsRecursive (
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
    this=this@entry=0x149a370, pdev=pdev@entry=0x14e0ba0,
    siblings=QList<QObject *>, index=<optimized out>, rgn=..., offset=...,
    flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5808

#47 0x00007ffff59e65dc in QWidgetPrivate::drawWidget (this=0x149a370,
    pdev=0x14e0ba0, rgn=..., offset=..., flags=flags@entry=5,
    sharedPainter=sharedPainter@entry=0x0,
    backingStore=backingStore@entry=0x14bcb20) at kernel/qwidget.cpp:5652
#48 0x00007ffff5ba994e in QWidgetBackingStore::sync (this=0x14bcb20)
    at painting/qbackingstore.cpp:1373
#49 0x00007ffff59dbea0 in QWidgetPrivate::syncBackingStore (
    this=this@entry=0x149a370) at kernel/qwidget.cpp:1894
#50 0x00007ffff59ebe7a in QWidget::event (this=0x146d4a0, event=0x14d8c80)
    at kernel/qwidget.cpp:8680
#51 0x00007ffff599ce2c in QApplicationPrivate::notify_helper (
    this=this@entry=0x1256310, receiver=receiver@entry=0x146d4a0,
    e=e@entry=0x14d8c80) at kernel/qapplication.cpp:4567
---Type <return> to continue, or q <return> to quit---
#52 0x00007ffff59a34a0 in QApplication::notify (
    this=this@entry=0x7fffffffdf30, receiver=receiver@entry=0x146d4a0,
    e=e@entry=0x14d8c80) at kernel/qapplication.cpp:4353
#53 0x00000000009d821e in MixxxApplication::notify (this=0x7fffffffdf30,
    target=0x146d4a0, event=0x14d8c80) at src/mixxxapplication.cpp:137

#54 0x00007ffff4fc44dd in QCoreApplication::notifyInternal (
    this=0x7fffffffdf30, receiver=receiver@entry=0x146d4a0,
    event=event@entry=0x14d8c80) at kernel/qcoreapplication.cpp:953
#55 0x00007ffff4fc7b3d in sendEvent (event=0x14d8c80, receiver=0x146d4a0)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#56 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0,

    event_type=event_type@entry=0, data=0x1244f60)
    at kernel/qcoreapplication.cpp:1577
#57 0x00007ffff4fc7fe3 in QCoreApplication::sendPostedEvents (
    receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1470
#58 0x00007ffff4ff1f83 in sendPostedEvents ()
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#59 postEventSourceDispatch (s=0x1258690)
    at kernel/qeventdispatcher_glib.cpp:287
#60 0x00007ffff182de04 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007ffff182e048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#62 0x00007ffff182e0ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#63 0x00007ffff4ff17a1 in QEventDispatcherGlib::processEvents (this=0x1257470,
    flags=...) at kernel/qeventdispatcher_glib.cpp:434
#64 0x00007ffff5a3ebe6 in QGuiEventDispatcherGlib::processEvents (
    this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#65 0x00007ffff4fc30af in QEventLoop::processEvents (this=this@entry=
    0x7fffffffde70, flags=...) at kernel/qeventloop.cpp:149
#66 0x00007ffff4fc33a5 in QEventLoop::exec (this=this@entry=0x7fffffffde70,
    flags=...) at kernel/qeventloop.cpp:204
#67 0x00007ffff4fc8b79 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:1225
#68 0x00007ffff599b37c in QApplication::exec () at kernel/qapplication.cpp:3828
#69 0x000000000048800f in main (argc=1, argv=<optimized out>)
    at src/main.cpp:116
(gdb)
(gdb)
(gdb)

Revision history for this message
Daniel Schürmann (daschuer) wrote :
Changed in mixxx:
assignee: nobody → Uwe Klotz (uklotzde)
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

Very strange. Sometimes even gdb does not return upon the crash.

Changed in mixxx:
status: New → Confirmed
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
Changed in mixxx:
status: Confirmed → Fix Committed
Changed in mixxx:
milestone: none → 2.1.0
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/8612

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

Bug attachments

Remote bug watches

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