tablet crash
Boudewijn Rempt
boud at valdyas.org
Thu Mar 24 15:10:49 UTC 2016
On Thu, 24 Mar 2016, Fazekas László wrote:
> I've just tried a Wacom tablet with Krita (to try Dmitry's new eraser
> mode later), but it always crashes the program when I close the "new
> document" dialog with the stylus. This not happens if I'm using the
> mouse. It seems that Krita processes some tablet events after the window
> closed (and probably deleted): the window address is not null but points
> to an invalid address.
>
> This is not a bug report because I'm not sure about what Qt version
> needed for Krita right now. I see in the code that there are tablet
> related parts specially for Qt 5.5. I'm using Qt 5.4, maybe that's the
> problem? Is Krita still compatible with Qt 5.4? Or we still care about
> bugs for Qt 5.4?
>
Qt 5.6 is the best version. This issue is known, I ran into it as well. It's not strictly a krita issue: it's an issue in the Qt code for handling tablets we forked, and it happens before xcb is trying to do stuff before the tablet is initialized. I've tried to find a workaround, but haven't found it yet.
> Fazek
>
> If somebody interested, this is the stack when it crashed:
>
> Core was generated by `/home/fazekas/Asztal/krita-dev/i/bin/krita'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0 0x00007f1bfd7b542a in
> QtSharedPointer::ExternalRefCountData::getAndRef(QObject const*) () from
> /opt/qt54/lib/libQt5Core.so.5
> (gdb) bt
> #0 0x00007f1bfd7b542a in
> QtSharedPointer::ExternalRefCountData::getAndRef(QObject const*) () from
> /opt/qt54/lib/libQt5Core.so.5
> #1 0x00007f1bff14eaf7 in QWeakPointer<QWindow> (ptr=0x8afba40,
> this=0x8ac50c0) at /opt/qt54/include/QtCore/qsharedpointer_impl.h:695
> #2 QPointer (p=0x8afba40, this=0x8ac50c0) at
> /opt/qt54/include/QtCore/qpointer.h:62
> #3 UserEvent (t=QWindowSystemInterfacePrivate::Tablet, time=25202,
> w=0x8afba40, this=0x8ac50b0)
> at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/qxcbconnection.cpp:480
> #4 InputEvent (mods=..., t=QWindowSystemInterfacePrivate::Tablet,
> time=25202, w=0x8afba40, this=0x8ac50b0)
> at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/qxcbconnection.cpp:492
> #5 TabletEvent (mods=..., uid=760565727315, z=0, rotation=0,
> tpressure=0, yTilt=9, xTilt=-28, pressure=0, b=..., pointerType=1,
> device=2, global=...,
> local=..., time=25202, w=0x8afba40, this=0x8ac50b0) at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/qxcbconnection.cpp:509
> #6 QWindowSystemInterface::handleTabletEvent (w=0x8afba40, local=...,
> global=..., device=2, pointerType=1, buttons=..., pressure=0, xTilt=-28,
> yTilt=9,
> tangentialPressure=0, rotation=0, z=0, uid=760565727315, modifiers=...)
> at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/qxcbconnection.cpp:563
> #7 0x00007f1bff149320 in QXcbConnection::xi2ReportTabletEvent
> (this=this at entry=0x13e57d0, tabletData=..., event=event at entry=0x8a82ed0)
> at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/qxcbconnection_xi2.cpp:887
> #8 0x00007f1bff14967b in QXcbConnection::xi2HandleTabletEvent
> (this=this at entry=0x13e57d0, event=event at entry=0x8a82ed0,
> tabletData=0x13e6198,
> window=window at entry=0x8afba40) at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/qxcbconnection_xi2.cpp:721
> #9 0x00007f1bff14c7d1 in QXcbConnection::xi2HandleEvent
> (this=0x13e57d0, event=0x8a82ed0)
> at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/qxcbconnection_xi2.cpp:502
> #10 0x00007f1bff14fa76 in KisXi2EventFilter::nativeEventFilter
> (this=0x7f1bff599640
> <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>,
> eventType=..., message=0x7f1be8006f50, result=<optimized out>) at
> /home/fazekas/Asztal/krita-dev/krita/libs/ui/input/wintab/kis_xi2_event_filter.cpp:115
> #11 0x00007f1bfd94e840 in
> QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*,
> long*) () from /opt/qt54/lib/libQt5Core.so.5
> #12 0x00007f1bef3d3c2d in
> QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from
> /opt/qt54/plugins/platforms/libqxcb.so
> #13 0x00007f1bef3d4f1b in QXcbConnection::processXcbEvents() () from
> /opt/qt54/plugins/platforms/libqxcb.so
> #14 0x00007f1bfd981cf6 in QObject::event(QEvent*) () from
> /opt/qt54/lib/libQt5Core.so.5
> #15 0x00007f1bfe26f81c in QApplicationPrivate::notify_helper(QObject*,
> QEvent*) () from /opt/qt54/lib/libQt5Widgets.so.5
> #16 0x00007f1bfe274670 in QApplication::notify(QObject*, QEvent*) ()
> from /opt/qt54/lib/libQt5Widgets.so.5
> #17 0x00007f1bff0a1d47 in KisApplication::notify (this=<optimized out>,
> receiver=0xe177f0, event=0x7f1be8006e60)
> at /home/fazekas/Asztal/krita-dev/krita/libs/ui/KisApplication.cpp:514
> #18 0x00007f1bfd951665 in QCoreApplication::notifyInternal(QObject*,
> QEvent*) () from /opt/qt54/lib/libQt5Core.so.5
> #19 0x00007f1bfd9534ff in
> QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
> () from /opt/qt54/lib/libQt5Core.so.5
> #20 0x00007f1bfd9a9573 in postEventSourceDispatch(_GSource*, int
> (*)(void*), void*) () from /opt/qt54/lib/libQt5Core.so.5
> #21 0x00007f1bf7d6be04 in g_main_context_dispatch () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #22 0x00007f1bf7d6c048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #23 0x00007f1bf7d6c0ec in g_main_context_iteration () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #24 0x00007f1bfd9a89ec in
> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
> () from /opt/qt54/lib/libQt5Core.so.5
> #25 0x00007f1bfd94f5cb in
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
> /opt/qt54/lib/libQt5Core.so.5
> #26 0x00007f1bfd956c36 in QCoreApplication::exec() () from
> /opt/qt54/lib/libQt5Core.so.5
> #27 0x0000000000402e1b in main (argc=1, argv=0x7ffc6e126fb8) at
> /home/fazekas/Asztal/krita-dev/krita/krita/main.cc:178
>
> _______________________________________________
> Krita mailing list
> kimageshop at kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>
--
Boudewijn Rempt | http://www.krita.org, http://www.valdyas.org
More information about the kimageshop
mailing list