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