Segfault starting library scanner

Bug #1443451 reported by Daniel Schürmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
Daniel Schürmann

Bug Description

This happens not reliable with Mixxx 1.12 alpha Apr 9 2015 from Nicos repro. (Has no version)
Still trying to fins a schema.

Debug [LibraryScanner 1]: LibraryHashDAO::initialize LibraryScanner(0x3a509a0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug [LibraryScanner 1]: CueDAO::initialize LibraryScanner(0x3a509a0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug [LibraryScanner 1]: TrackDAO::initialize LibraryScanner(0x3a509a0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug [LibraryScanner 1]: DirectoryDAO::initialize LibraryScanner(0x3a509a0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug [LibraryScanner 1]: LibraryScanner event loop starting.
Debug [Controller]: Found 0x0 0x0 "r4368" S/N 0x0 "Interface 0"
Warning [Controller]: USB permissions problem (or device error.) Your account needs write access to USB HID controllers.
[New Thread 0x7fff6f58a700 (LWP 8174)]
Debug [Controller]: Found 0x0 0x0 "r256" S/N 0x0 "Interface 0"
Warning [Controller]: USB permissions problem (or device error.) Your account needs write access to USB HID controllers.
Debug [Controller]: ControllerManager::getControllerList
Debug [Controller]: Controller polling stopped.
Debug [Main]: Opened PortAudio stream successfully... starting
Debug [Main]: Dynamically loaded PortAudio library
[New Thread 0x7fff6ed89700 (LWP 8175)]
Debug [Main]: PortAudio: Started stream successfully
Debug []: SSE: Enabling denormals to zero mode
Debug [Main]: Actual sample rate: 44100 Hz, latency: 278.639 ms
Debug []: SSE: Enabling flush to zero mode
Debug [Main]: Using "pulse" as output sound device clock reference
Debug [Main]: 1 output sound devices opened
Debug [Main]: 0 input sound devices opened
Debug [Main]: Displaying mixxx
Debug [Main]: Running Mixxx
Debug [Main]: Registered event listener change listener: true
[New Thread 0x7fff6db88700 (LWP 8177)]
Debug [Main]: LibraryTableModel(0x2e51920) select() took 2 ms 14
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "6" obj: QMenu(0x3902540) ""
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "7" obj: QMenu(0x3902540) ""
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "6" obj: QMenu(0x38fb510) ""
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "7" obj: QMenu(0x38fb510) ""
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "6" obj: QMenu(0x38facc0) ""
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "7" obj: QMenu(0x38facc0) ""
Debug [LibraryScanner 1]: LibraryScanner::slotStartScan
Debug [LibraryScanner 1]: upgrade filename is "/home/dschuermann/.mixxx/DBUPGRADED"
Debug [LibraryScanner 1]: Committing transaction on "LIBRARY_SCANNER" result: true
Debug [LibraryScanner 1]: Legacy importer took 0 ms
Debug [LibraryScanner 1]: Recursively scanning library.
[New Thread 0x7fff6d387700 (LWP 8178)]
Debug [LibraryScanner 1]: LibraryScanner::slotFinishScan
Debug [LibraryScanner 1]: Recursive scanning finished cleanly.
Debug [LibraryScanner 1]: Committing transaction on "LIBRARY_SCANNER" result: true
Debug [LibraryScanner 1]: Marking tracks in changed directories as verified
Debug [LibraryScanner 1]: Marking unchanged directories and tracks as verified
Debug [LibraryScanner 1]: Checking remaining unverified tracks.
Debug [LibraryScanner 1]: Marking unverified tracks as deleted.
Debug [LibraryScanner 1]: Marking unverified directories as deleted.
Debug [LibraryScanner 1]: Detecting moved files.
Debug [LibraryScanner 1]: Committing transaction on "LIBRARY_SCANNER" result: true
Debug [LibraryScanner 1]: Detecting cover art for unscanned files.
Debug [LibraryScanner 1]: Scan finished cleanly
Debug [LibraryScanner 1]: Scan took: 34500477 ns. 0 unchanged directories. 1 changed/added directories. 14 tracks verified from changed/added directories. 0 new tracks.
Debug [Main]: LibraryTableModel(0x2e51920) select() took 2 ms 14
Debug [Main]: MissingTableModel(0x480ece0) select() took 0 ms 0
Debug [Main]: HiddenTableModel(0x477c8b0) select() took 0 ms 0
Debug [Main]: AnalysisLibraryTableModel(0x49f0f60) select() took 1 ms 14
Debug [Main]: LibraryTableModel(0x2e51920) select() took 3 ms 14
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "6" obj: QMenu(0x38facc0) ""
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "7" obj: QMenu(0x38facc0) ""
Debug [LibraryScanner 1]: LibraryScanner::slotStartScan
Debug [LibraryScanner 1]: upgrade filename is "/home/dschuermann/.mixxx/DBUPGRADED"
Debug [LibraryScanner 1]: Committing transaction on "LIBRARY_SCANNER" result: true
Debug [LibraryScanner 1]: Legacy importer took 0 ms
Debug [LibraryScanner 1]: Recursively scanning library.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff6fd8b700 (LWP 8173)]
0x00007ffff550c674 in QObject::metaObject (this=0x7fff6803b280)
    at .moc/release-shared/moc_qobject.cpp:95
95 .moc/release-shared/moc_qobject.cpp: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 0x00007ffff550c674 in QObject::metaObject (this=0x7fff6803b280)
    at .moc/release-shared/moc_qobject.cpp:95
#1 0x00007ffff5502769 in QMetaObject::cast (this=0xda96e0, obj=0x7fff6803b280)
    at kernel/qmetaobject.cpp:274
#2 0x00000000009b15b5 in ScannerTask::qt_static_metacall (_o=0x7fff6803b280,
    _c=<optimized out>, _id=2, _a=0x7fff4c016fe0)
    at lin64_build/library/scanner/moc_scannertask.cc:63
#3 0x00007ffff5515446 in QObject::event (this=0x7fff6803b280,
    e=<optimized out>) at kernel/qobject.cpp:1195
#4 0x00007ffff5ebf894 in notify_helper (e=0x7fff4c018270,
    receiver=0x7fff6803b280, this=0x11e0420) at kernel/qapplication.cpp:4559
#5 QApplicationPrivate::notify_helper (this=0x11e0420,
    receiver=0x7fff6803b280, e=0x7fff4c018270) at kernel/qapplication.cpp:4531
#6 0x00007ffff5ec4713 in QApplication::notify (this=0x7fffffffdd30,
    receiver=0x7fff6803b280, e=0x7fff4c018270) at kernel/qapplication.cpp:4420
#7 0x0000000000a095d7 in MixxxApplication::notify (this=0x7fffffffdd30,
    target=0x7fff6803b280, event=0x7fff4c018270)
    at src/mixxxapplication.cpp:138
#8 0x00007ffff54fbe9c in QCoreApplication::notifyInternal (this=
    0x7fffffffdd30, receiver=0x7fff6803b280, event=0x7fff4c018270)
    at kernel/qcoreapplication.cpp:876
---Type <return> to continue, or q <return> to quit---
#9 0x00007ffff54ffc6a in sendEvent (event=0x7fff4c018270,
    receiver=0x7fff6803b280)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#10 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0,
    data=0x4371e70) at kernel/qcoreapplication.cpp:1500
#11 0x00007ffff552af93 in sendPostedEvents ()
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#12 postEventSourceDispatch (s=<optimized out>)
    at kernel/qeventdispatcher_glib.cpp:279
#13 0x00007ffff00d1d13 in g_main_dispatch (context=0x7fff680009a0)
    at /build/buildd/glib2.0-2.32.4/./glib/gmain.c:2539
#14 g_main_context_dispatch (context=0x7fff680009a0)
    at /build/buildd/glib2.0-2.32.4/./glib/gmain.c:3075
#15 0x00007ffff00d2060 in g_main_context_iterate (dispatch=1,
    block=<optimized out>, context=0x7fff680009a0, self=<optimized out>)
    at /build/buildd/glib2.0-2.32.4/./glib/gmain.c:3146
#16 g_main_context_iterate (context=0x7fff680009a0, block=<optimized out>,
    dispatch=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.32.4/./glib/gmain.c:3083
#17 0x00007ffff00d2124 in g_main_context_iteration (context=0x7fff680009a0,
    may_block=1) at /build/buildd/glib2.0-2.32.4/./glib/gmain.c:3207
---Type <return> to continue, or q <return> to quit---
#18 0x00007ffff552b3bf in QEventDispatcherGlib::processEvents (this=
    0x7fff680008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#19 0x00007ffff54fac82 in QEventLoop::processEvents (this=<optimized out>,
    flags=...) at kernel/qeventloop.cpp:149
#20 0x00007ffff54faed7 in QEventLoop::exec (this=0x7fff6fd8ab30, flags=...)
    at kernel/qeventloop.cpp:204
#21 0x00007ffff53f9fa7 in QThread::exec (this=<optimized out>)
    at thread/qthread.cpp:501
#22 0x00000000009a3f58 in LibraryScanner::run (this=0x3a509a0)
    at src/library/scanner/libraryscanner.cpp:166
#23 0x00007ffff53fcfcb in QThreadPrivate::start (arg=0x3a509a0)
    at thread/qthread_unix.cpp:298
#24 0x00007ffff31e2e9a in start_thread (arg=0x7fff6fd8b700)
    at pthread_create.c:308
#25 0x00007ffff18b438d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#26 0x0000000000000000 in ?? ()

Revision history for this message
Daniel Schürmann (daschuer) wrote :
Download full text (28.5 KiB)

[New Thread 0x7fff6db88700 (LWP 8423)]
Debug [Main]: LibraryTableModel(0x2e519e0) select() took 2 ms 14
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "6" obj: QMenu(0x38faf90) ""
Warning [Main]: QSpiAccessible::accessibleEvent not handled: "7" obj: QMenu(0x38faf90) ""
Debug [LibraryScanner 1]: LibraryScanner::slotStartScan
Debug [LibraryScanner 1]: upgrade filename is "/home/dschuermann/.mixxx/DBUPGRADED"
Debug [LibraryScanner 1]: Committing transaction on "LIBRARY_SCANNER" result: true
Debug [LibraryScanner 1]: Legacy importer took 0 ms
Debug [LibraryScanner 1]: Recursively scanning library.
[New Thread 0x7fff6d372700 (LWP 8424)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff6fd8b700 (LWP 8418)]
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>,
    receiver=0x7fff68041be0, event=0x7fff4c017850)
    at kernel/qcoreapplication.cpp:978
978 kernel/qcoreapplication.cpp: Datei oder Verzeichnis nicht gefunden.
(gdb) thread apply all bt

Thread 29 (Thread 0x7fff6d372700 (LWP 8424)):
#0 0x00007ffff31e9ccd in write () at ../sysdeps/unix/syscall-template.S:82
#1 0x00007ffff010c951 in g_wakeup_signal (wakeup=<optimized out>)
    at /build/buildd/glib2.0-2.32.4/./glib/gwakeup.c:235
#2 0x00007ffff54ff6dc in QCoreApplication::postEvent (receiver=0x3a6b4f0,
    event=0x7fff4c013680, priority=<optimized out>)
    at kernel/qcoreapplication.cpp:1322
#3 0x00007ffff55105e4 in queued_activate (argv=0x7fff6d371af0,
    c=0x7fff4c0149c0, signal=9, sender=0x7fff4c002190)
    at kernel/qobject.cpp:3431
#4 QMetaObject::activate (sender=0x7fff4c002190, m=<optimized out>,
    local_signal_index=<optimized out>, argv=0x7fff6d371af0)
    at kernel/qobject.cpp:3507
#5 0x00000000009b1ab3 in ScannerTask::trackExists (this=<optimized out>,
    _t1=...) at lin64_build/library/scanner/moc_scannertask.cc:160
#6 0x00000000009a20a4 in ImportFilesTask::run (this=0x7fff4c002190)
    at src/library/scanner/importfilestask.cpp:42
#7 0x00007ffff53f04f2 in QThreadPoolThread::run (this=0x7fff68041950)
    at concurrent/qthreadpool.cpp:107
#8 0x00007ffff53fcfcb in QThreadPrivate::start (arg=0x7fff68041950)
    at thread/qthread_unix.cpp:298
#9 0x00007ffff31e2e9a in start_thread (arg=0x7fff6d372700)
    at pthread_create.c:308
#10 0x00007ffff18b438d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 28 (Thread 0x7fff6db88700 (LWP 8423)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1 0x00007ffff53fd43f in wait (time=30000, this=0x4a6c190)
    at thread/qwaitcondition_unix.cpp:84
#2 QWaitCondition::wait (this=<optimized out>, mutex=0x4a75868, time=30000)
    at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53f05bf in QThreadPoolThread::run (this=0x4b7a460)
    at concurrent/qthreadpool.cpp:141
#4 0x00007ffff53fcfcb in QThreadPrivate::start (arg=0x4b7a460)
    at thread/qthread_unix.cpp:298
#5 0x00007ffff31e2e9a in start_thread (arg=0x7fff6db88700)
    at pthread_create.c:308
#6 0x00007ffff18b438d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/c...

Revision history for this message
Daniel Schürmann (daschuer) wrote :

I can only produce this on one device running Ubuntu Precise

I have tried to change the content of the library folders with no success.

Running without debugger I get:

Debug [LibraryScanner 1]: Legacy importer took 1 ms
Debug [LibraryScanner 1]: Recursively scanning library.
Fatal [LibraryScanner 1]: ASSERT: "staticMetaObject.cast(_o)" in file lin64_build/library/scanner/moc_scannertask.cc, line 63
Abgebrochen (Speicherabzug geschrieben)

Is it timing related?

Revision history for this message
Daniel Schürmann (daschuer) wrote :

An other crasher:

Debug [BrowseThread]: Append last 0
Debug [LibraryScanner 1]: LibraryScanner::slotStartScan
Debug [LibraryScanner 1]: upgrade filename is "/home/daniel/.mixxx/DBUPGRADED"
Debug [LibraryScanner 1]: Committing transaction on "LIBRARY_SCANNER" result: true
Debug [LibraryScanner 1]: Legacy importer took 0 ms
Debug [LibraryScanner 1]: Recursively scanning library.

QMetaObject::activate() at qobject.cpp:3.461 0x7ffff55166e7
directoryHashedAndScanned() at moc_scannertask.cc:138 0x9dc59f
ScannerTask::qt_static_metacall() at moc_scannertask.cc:67 0x9dc59f
QObject::event() at qobject.cpp:1.194 0x7ffff551ac1e
QApplicationPrivate::notify_helper() at qapplication.cpp:4.567 0x7ffff5edae2c
QApplication::notify() at qapplication.cpp:4.353 0x7ffff5ee14a0
MixxxApplication::notify() at mixxxapplication.cpp:138 0xa2ef7e
QCoreApplication::notifyInternal() at qcoreapplication.cpp:953 0x7ffff55024dd
sendEvent() at qcoreapplication.h:231 0x7ffff5505b3d
QCoreApplicationPrivate::sendPostedEvents() at qcoreapplication.cpp:1.577 0x7ffff5505b3d
<...more frames...>

Changed in mixxx:
importance: Undecided → Critical
milestone: none → 1.12.0
status: New → Confirmed
Revision history for this message
Daniel Schürmann (daschuer) wrote :
Changed in mixxx:
status: Confirmed → In Progress
assignee: nobody → Daniel Schürmann (daschuer)
Changed in mixxx:
status: In Progress → 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/7958

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.