Bug#790825: vlc crashes when laptop is undocked

Michael Biebl biebl at debian.org
Sat Jul 4 13:00:14 UTC 2015


Am 03.07.2015 um 09:32 schrieb Sebastian Ramacher:
> Thanks. I think this is a Qt 5 issue. I am able to produce a similar backtrace
> with the following example program [1]:

[example program]

> Can you confirm that this example also crashes for you?

Yes, this minimal program crashes as well when my system is undocked.
For completeness sake, backtrace is attached.

So this looks like a Qt5 issue indeed. I don't remember seeing those
crashes with Qt4, so this looks like a regression.

Thanks,
Michael


-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
-------------- next part --------------
Starting program: /home/michael/bug/helloworld 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffece58700 (LWP 3741)]

Program received signal SIGSEGV, Segmentation fault.
QWidgetPrivate::drawWidget (this=this at entry=0x694320, pdev=pdev at entry=0x6d3eb0, rgn=..., offset=..., flags=flags at entry=4, 
    sharedPainter=sharedPainter at entry=0x0, backingStore=0x6d8740) at kernel/qwidget.cpp:5552
5552	kernel/qwidget.cpp: Datei oder Verzeichnis nicht gefunden.
#0  QWidgetPrivate::drawWidget (this=this at entry=0x694320, pdev=pdev at entry=0x6d3eb0, rgn=..., offset=..., flags=flags at entry=4, 
    sharedPainter=sharedPainter at entry=0x0, backingStore=0x6d8740) at kernel/qwidget.cpp:5552
        paintEngine = 0x69e4b0
        grabbed = <optimized out>
        asRoot = false
        alsoOnScreen = false
        toBePainted = {d = 0x6b0f30, static shared_empty = {ref = {atomic = {_q_value = -1}}, qt_rgn = 0x7ffff7734a00 <qrp>}}
        onScreen = false
        recursive = true
        alsoInvisible = false
#1  0x00007ffff78cecc1 in QWidgetPrivate::paintSiblingsRecursive (this=this at entry=0x6cf870, pdev=pdev at entry=0x6d3eb0, siblings=..., index=<optimized out>, 
    rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x6d8740) at kernel/qwidget.cpp:5743
        wRegion = {d = 0x6b0f30, static shared_empty = {ref = {atomic = {_q_value = -1}}, qt_rgn = 0x7ffff7734a00 <qrp>}}
        w = <optimized out>
        boundingRect = {x1 = <optimized out>, y1 = 0, x2 = <optimized out>, y2 = 201}
        dirtyBoundingRect = false
        exludeOpaqueChildren = false
        excludeNativeChildren = false
        widgetPos = {xp = 1, yp = 1}
        hasMask = false
#2  0x00007ffff78cdb07 in QWidgetPrivate::drawWidget (this=0x6cf870, pdev=0x6d3eb0, rgn=..., offset=..., flags=flags at entry=5, 
    sharedPainter=sharedPainter at entry=0x0, backingStore=0x6d8740) at kernel/qwidget.cpp:5600
        asRoot = true
        alsoOnScreen = false
        toBePainted = {d = 0x787250, static shared_empty = {ref = {atomic = {_q_value = -1}}, qt_rgn = 0x7ffff7734a00 <qrp>}}
        onScreen = <optimized out>
        recursive = true
        alsoInvisible = false
#3  0x00007ffff789e0bb in QWidgetBackingStore::doSync (this=this at entry=0x6d8740) at kernel/qwidgetbackingstore.cpp:1230
        flags = 5
        repaintAllWidgets = false
        inTopLevelResize = <optimized out>
        tlwRect = <optimized out>
        surfaceGeometry = <optimized out>
        dirtyCopy = {d = 0x698e90, static shared_empty = {ref = {atomic = {_q_value = -1}}, qt_rgn = 0x7ffff7734a00 <qrp>}}
        updatesDisabled = <optimized out>
        toClean = {d = 0x698e90, static shared_empty = {ref = {atomic = {_q_value = -1}}, qt_rgn = 0x7ffff7734a00 <qrp>}}
        opaqueNonOverlappedWidgets = {a = 32, s = 0, ptr = 0x7fffffffcb10, {
            array = "\000\000\000\000\000\000\000\000\020px\000\000\000\000\000\020px\000\000\000\000\000\020px\000\000\000\000\000\000\000\000\000\001\000\000\000\000\063P\244>\247\232\260`\337\377\377\377\177\000\000`\337\377\377\377\177\000\000\220\315\377\377\377\177\000\000\240\367a\000\000\000\000\000\001\004\000\000\000\000\000\000\240\337\377\377\377\177\000\000\005\000 \002\000\000\000\000\334\n\211\367\377\177\000\000`\337\377\377\377\177\000\000\220\315\377\377\377\177\000\000`\337\377\377\377\177\000\000\000\000\000\000\000\000\000\000\001\004\000\000\000\000\000\000\260_\211\367\377\177\000\000\000\000\000\000\000\000\000\000\067\311Q\367\377\177\000\000\240\367a\000\000\000\000\000\002\000\000\000\000\000\000\000 \322\377\377\377\177\000\000"..., 
            q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        beginPaintInfo = {wasFlushed = 0, nothingToPaint = 0, backingStoreRecreated = 0}
#4  0x00007ffff789e459 in QWidgetBackingStore::sync (this=0x6d8740) at kernel/qwidgetbackingstore.cpp:1036
No locals.
#5  0x00007ffff78bf21f in QWidgetPrivate::syncBackingStore (this=0x6cf870) at kernel/qwidget.cpp:1894
No locals.
#6  0x00007ffff78d4218 in QWidget::event (this=this at entry=0x7fffffffdf60, event=event at entry=0x7fffffffd060) at kernel/qwidget.cpp:8962
No locals.
#7  0x00007ffff79d273e in QFrame::event (this=this at entry=0x7fffffffdf60, e=e at entry=0x7fffffffd060) at widgets/qframe.cpp:526
        result = <optimized out>
#8  0x00007ffff7a5c333 in QAbstractScrollArea::event (this=0x7fffffffdf60, e=0x7fffffffd060) at widgets/qabstractscrollarea.cpp:1142
No locals.
#9  0x00007ffff7890adc in QApplicationPrivate::notify_helper (this=this at entry=0x61f7a0, receiver=receiver at entry=0x7fffffffdf60, e=e at entry=0x7fffffffd060)
    at kernel/qapplication.cpp:3720
        consumed = <optimized out>
#10 0x00007ffff7895fb0 in QApplication::notify (this=0x7fffffffdfa0, receiver=0x7fffffffdf60, e=0x7fffffffd060) at kernel/qapplication.cpp:3503
        w = 0x7fffffffdf60
        extra = <optimized out>
        isProxyWidget = <optimized out>
        res = <optimized out>
#11 0x00007ffff6fa33ab in QCoreApplication::notifyInternal (this=0x7fffffffdfa0, receiver=receiver at entry=0x7fffffffdf60, event=event at entry=0x7fffffffd060)
    at kernel/qcoreapplication.cpp:935
        threadData = 0x61f910
        loopLevelCounter = {threadData = 0x61f910}
        result = false
        cbdata = {0x7fffffffdf60, 0x7fffffffd060, 0x7fffffffd00f}
        d = <optimized out>
#12 0x00007ffff789f51f in sendEvent (event=0x7fffffffd060, receiver=0x7fffffffdf60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
No locals.
#13 QWidgetBackingStore::sendUpdateRequest (this=<optimized out>, widget=0x7fffffffdf60, updateTime=<optimized out>) at kernel/qwidgetbackingstore.cpp:456
        event = {_vptr.QEvent = 0x7ffff71ddc70 <vtable for QEvent+16>, static staticMetaObject = {d = {superdata = 0x0, 
              stringdata = 0x7ffff716a140 <qt_meta_stringdata_QEvent>, data = 0x7ffff7169b80 <qt_meta_data_QEvent>, static_metacall = 0x0, 
              relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 77, posted = 0, spont = 0, m_accept = 1, reserved = 13}
#14 0x00007ffff78a010d in QWidgetBackingStore::markDirty (this=0x6d8740, rect=..., widget=<optimized out>, 
    updateTime=updateTime at entry=QWidgetBackingStore::UpdateNow, bufferState=bufferState at entry=QWidgetBackingStore::BufferInvalid)
    at kernel/qwidgetbackingstore.cpp:639
        widgetRect = {x1 = 0, y1 = 0, x2 = 201, y2 = 201}
        translatedRect = {x1 = 0, y1 = 0, x2 = 201, y2 = 201}
#15 0x00007ffff78ebde4 in QWidgetWindow::repaintWindow (this=0x69e030) at kernel/qwidgetwindow.cpp:648
        this = 0x69e030
#16 0x00007ffff6fd412e in QMetaObject::activate (sender=sender at entry=0x69e030, signalOffset=<optimized out>, local_signal_index=local_signal_index at entry=0, 
    argv=argv at entry=0x7fffffffd2d0) at kernel/qobject.cpp:3717
        receiverInSameThread = <optimized out>
        sw = {receiver = 0x69e030, previousSender = 0x7fffffffd4b0, currentSender = {sender = 0x69e030, signal = 3, ref = 1}, switched = true}
        callFunction = 0x7ffff7c3df70 <QWidgetWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>
        receiver = 0x69e030
        method_relative = 1
        c = 0x695c50
        last = 0x695c50
        locker = {val = 140737339357136}
        connectionLists = {connectionLists = 0x69a180}
        list = <optimized out>
        signal_index = 3
        empty_argv = {0x0}
        currentThreadId = 0x7ffff7fb7780
#17 0x00007ffff6fd47a7 in QMetaObject::activate (sender=sender at entry=0x69e030, m=m at entry=0x7ffff771fbc0 <QWindow::staticMetaObject>, 
    local_signal_index=local_signal_index at entry=0, argv=argv at entry=0x7fffffffd2d0) at kernel/qobject.cpp:3582
No locals.
#18 0x00007ffff72d7c2f in QWindow::screenChanged (this=this at entry=0x69e030, _t1=_t1 at entry=0x0) at .moc/moc_qwindow.cpp:626
        _a = {0x0, 0x7fffffffd2c8}
#19 0x00007ffff72d8485 in QWindowPrivate::emitScreenChangedRecursion (this=this at entry=0x6b6a90, newScreen=newScreen at entry=0x0) at kernel/qwindow.cpp:366
No locals.
#20 0x00007ffff72dbbb3 in QWindowPrivate::setTopLevelScreen (this=0x6b6a90, newScreen=0x0, recreate=<optimized out>) at kernel/qwindow.cpp:387
        shouldRecreate = <optimized out>
#21 0x00007ffff72dbd55 in QWindow::screenDestroyed (this=0x69e030, object=<optimized out>) at kernel/qwindow.cpp:1720
        wasVisible = true
#22 0x00007ffff6fd3aba in call (a=0x7fffffffd520, r=0x69e030, this=0x6952d0) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
No locals.
#23 QMetaObject::activate (sender=sender at entry=0x639ee0, signalOffset=<optimized out>, local_signal_index=local_signal_index at entry=0, 
    argv=argv at entry=0x7fffffffd520) at kernel/qobject.cpp:3702
        obj = {d = 0x6952d0}
        receiverInSameThread = <optimized out>
        sw = {receiver = 0x69e030, previousSender = 0x0, currentSender = {sender = 0x639ee0, signal = 0, ref = 1}, switched = true}
        callFunction = <optimized out>
        receiver = 0x69e030
        method_relative = 0
        c = 0x693ba0
        last = 0x698840
        locker = {val = 140737339356968}
        connectionLists = {connectionLists = 0x69a150}
        list = <optimized out>
        signal_index = 0
        empty_argv = {0x0}
        currentThreadId = 0x7ffff7fb7780
#24 0x00007ffff6fd47a7 in QMetaObject::activate (sender=sender at entry=0x639ee0, m=m at entry=0x7ffff71d9980 <QObject::staticMetaObject>, 
    local_signal_index=local_signal_index at entry=0, argv=argv at entry=0x7fffffffd520) at kernel/qobject.cpp:3582
No locals.
#25 0x00007ffff6fd484f in QObject::destroyed (this=this at entry=0x639ee0, _t1=_t1 at entry=0x639ee0) at .moc/moc_qobject.cpp:206
        _a = {0x0, 0x7fffffffd518}
#26 0x00007ffff6fdd1bb in QObject::~QObject (this=0x639ee0, __in_chrg=<optimized out>) at kernel/qobject.cpp:903
        d = 0x639f00
#27 0x00007ffff72fa589 in QScreen::~QScreen (this=0x639ee0, __in_chrg=<optimized out>) at kernel/qscreen.cpp:77
No locals.
#28 0x00007ffff72c0e2a in QPlatformScreen::~QPlatformScreen (this=0x63a4c0, __in_chrg=<optimized out>) at kernel/qplatformscreen.cpp:57
No locals.
#29 0x00007ffff7f32179 in QXcbScreen::~QXcbScreen (this=0x63a4c0, __in_chrg=<optimized out>) at qxcbscreen.cpp:222
No locals.
#30 0x00007ffff7f24fbb in QXcbConnection::updateScreens (this=this at entry=0x62c100) at qxcbconnection.cpp:286
        i = 0
        activeScreens = {q_hash = {{d = 0x6d78e0, e = 0x6d78e0}}}
        it = {data = 0x62db84, rem = 0, index = 864}
        screenNumber = <optimized out>
        xcbScreenNumber = <optimized out>
        newScreens = {<QListSpecialMethods<QXcbScreen*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, 
                begin = 0, end = 0, array = {0x0}}, d = 0x6d7820}, d = 0x6d7820}}
        primaryScreen = <optimized out>
#31 0x00007ffff7f25c8d in QXcbConnection::handleXcbEvent (this=this at entry=0x62c100, event=event at entry=0x7fffe8003e60) at qxcbconnection.cpp:961
        change_event = <optimized out>
        result = 0
        dispatcher = 0x64e2a0
        handled = false
        response_type = 89
#32 0x00007ffff7f26ecb in QXcbConnection::processXcbEvents (this=0x62c100) at qxcbconnection.cpp:1303
        accepted = false
        it = 0x7ffff707a430 <qt_array+48>
        event = 0x7fffe8003e60
        eventGuard = {d = 0x7fffe8003e60}
        response_type = <optimized out>
        i = 0
        connection_error = <optimized out>
        eventqueue = 0x637d98
#33 0x00007ffff6fd4e8a in QObject::event (this=0x62c100, e=<optimized out>) at kernel/qobject.cpp:1245
        mce = <optimized out>
        sw = {receiver = 0x62c100, previousSender = 0x0, currentSender = {sender = 0x637d80, signal = 5, ref = 1}, switched = true}
#34 0x00007ffff7890adc in QApplicationPrivate::notify_helper (this=this at entry=0x61f7a0, receiver=receiver at entry=0x62c100, e=e at entry=0x7fffe8003fb0)
    at kernel/qapplication.cpp:3720
        consumed = <optimized out>
#35 0x00007ffff7895fb0 in QApplication::notify (this=0x7fffffffdfa0, receiver=0x62c100, e=0x7fffe8003fb0) at kernel/qapplication.cpp:3503
        w = 0x62c100
        extra = <optimized out>
        isProxyWidget = <optimized out>
        res = <optimized out>
#36 0x00007ffff6fa33ab in QCoreApplication::notifyInternal (this=0x7fffffffdfa0, receiver=0x62c100, event=event at entry=0x7fffe8003fb0)
    at kernel/qcoreapplication.cpp:935
        threadData = 0x61f910
        loopLevelCounter = {threadData = 0x61f910}
        result = false
        cbdata = {0x62c100, 0x7fffe8003fb0, 0x7fffffffdbff}
        d = <optimized out>
#37 0x00007ffff6fa541b in sendEvent (event=0x7fffe8003fb0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
No locals.
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver at entry=0x0, event_type=event_type at entry=0, data=0x61f910)
    at kernel/qcoreapplication.cpp:1552
        e = 0x7fffe8003fb0
        pe = <optimized out>
        r = <optimized out>
        unlocker = {m = <synthetic pointer>}
        event_deleter = {d = 0x7fffe8003fb0}
        locker = {val = 6420792}
        startOffset = 0
        i = @0x61f92c: 1
        cleanup = {receiver = 0x0, event_type = 0, data = 0x61f910, exceptionCaught = true}
#39 0x00007ffff6fa5a18 in QCoreApplication::sendPostedEvents (receiver=receiver at entry=0x0, event_type=event_type at entry=0)
    at kernel/qcoreapplication.cpp:1410
        data = <optimized out>
#40 0x00007ffff6ffbf33 in postEventSourceDispatch (s=0x64e300) at kernel/qeventdispatcher_glib.cpp:271
        source = 0x64e300
#41 0x00007ffff5a0fc3d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#42 0x00007ffff5a0ff20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#43 0x00007ffff5a0ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#44 0x00007ffff6ffc347 in QEventDispatcherGlib::processEvents (this=0x64e2a0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
        d = 0x64abe0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#45 0x00007ffff6fa0b62 in QEventLoop::exec (this=this at entry=0x7fffffffdee0, flags=..., flags at entry=...) at kernel/qeventloop.cpp:204
        locker = {val = 6420992}
        ref = {d = 0x69bf30, locker = @0x7fffffffde60, exceptionCaught = true}
        d = 0x69bf30
#46 0x00007ffff6fa87ac in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
        threadData = 0x61f910
        eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff71e1150 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, 
                stringdata = 0x7ffff710dc80 <qt_meta_stringdata_QObject>, data = 0x7ffff710db40 <qt_meta_data_QObject>, 
                static_metacall = 0x7ffff6fdd430 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
                extradata = 0x0}}, d_ptr = {d = 0x69bf30}, static staticQtMetaObject = {d = {superdata = 0x0, 
                stringdata = 0x7ffff7155780 <qt_meta_stringdata_Qt>, data = 0x7ffff7152f00 <qt_meta_data_Qt>, static_metacall = 0x0, 
                relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff71d9980 <QObject::staticMetaObject>, 
              stringdata = 0x7ffff7169740 <qt_meta_stringdata_QEventLoop>, data = 0x7ffff71696c0 <qt_meta_data_QEventLoop>, 
              static_metacall = 0x7ffff7053550 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, 
              extradata = 0x0}}}
        returnCode = <optimized out>
#47 0x0000000000401361 in main ()
No symbol table info available.
A debugging session is active.

	Inferior 1 [process 3731] will be killed.

Quit anyway? (y or n) 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20150704/f4cbf9c4/attachment.sig>


More information about the pkg-multimedia-maintainers mailing list