Bug 173650 - karbon asserts if using a tablet
Summary: karbon asserts if using a tablet
Status: RESOLVED FIXED
Alias: None
Product: karbon
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Jan Hambrecht
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-27 01:33 UTC by Elián Hanisch
Modified: 2010-04-15 00:08 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elián Hanisch 2008-10-27 01:33:55 UTC
Version:           2.0 beta-2 (using 4.1.2 (KDE 4.1.2), Kubuntu packages)
Compiler:          gcc
OS:                Linux (i686) release 2.6.24-21-generic

if play around with karbon while using a tablet, it will eventually crash. These crashes seems to occur at random times without a way for reproduce them accurately, most of the time while drawing with the freehand tool, but I got a crash when I used the scrollbar or when I maximized the window with the stylus. If I use just the mouse I don't get crashes, but if I grab the stylus eventually it crashes again.

I have a Wacom Bamboo tablet, using linuxwacom 0.8.1-5 drivers.

backtraces:

Application: Karbon14 (karbon), signal SIGABRT
[Thread debugging using libthread_db enabled]
[New Thread 0xb465b6e0 (LWP 20816)]
[KCrash handler]
#6  0xb7f9b410 in __kernel_vsyscall ()
#7  0xb58a5085 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb58a6a01 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb6e21367 in qt_message_output () from /usr/lib/libQtCore.so.4
#10 0xb6e21458 in qFatal () from /usr/lib/libQtCore.so.4
#11 0xb6e21505 in qt_assert () from /usr/lib/libQtCore.so.4
#12 0xb7d9a4ff in KoPathTool::mousePressEvent (this=0x8b877e0, 
    event=0xbf91d280)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/libs/flake/tools/KoPathTool.cpp:417
#13 0xb7d56cdf in KoToolProxy::tabletEvent (this=0x8917860, event=0xbf91d810, 
    point=@0xbf91d2c0)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/libs/flake/KoToolProxy.cpp:189
#14 0xb7f788bc in KarbonCanvas::tabletEvent (this=0x89e4508, e=0xbf91d810)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/karbon/ui/widgets/KarbonCanvas.cpp:231
#15 0xb61e6bd9 in QWidget::event () from /usr/lib/libQtGui.so.4
#16 0xb618ef9c in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#17 0xb6194676 in QApplication::notify () from /usr/lib/libQtGui.so.4
#18 0xb755e483 in KApplication::notify () from /usr/lib/kde4/lib/libkdeui.so.5
#19 0xb6f150b9 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#20 0xb61ed1ec in ?? () from /usr/lib/libQtGui.so.4
#21 0xb61f9679 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#22 0xb6222c2a in ?? () from /usr/lib/libQtGui.so.4
#23 0xb563dcc6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0xb5641083 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0xb564163e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0xb6f409f8 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#27 0xb6222a25 in ?? () from /usr/lib/libQtGui.so.4
#28 0xb6f1433d in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#29 0xb6f144cd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#30 0xb6f1674d in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#31 0xb618e897 in QApplication::exec () from /usr/lib/libQtGui.so.4
#32 0xb7f97e48 in kdemain (argc=1, argv=0xbf91e0a4)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/karbon/main.cc:50
#33 0x08048936 in main (argc=)
    at /home/m4v-kde3/dev/kde/build/koffice/trunk/karbon/karbon_dummy.cpp:3
#0  0xb7f9b410 in __kernel_vsyscall ()



Application: Karbon14 (karbon), signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0xb46296e0 (LWP 23983)]
[KCrash handler]
#6  0xb2ebec36 in KarbonPencilTool::mouseReleaseEvent (this=0x8cd4c88, 
    event=0xbf8a8210)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/karbon/plugins/tools/KarbonPencilTool.cpp:111
#7  0xb7d24d4f in KoToolProxy::tabletEvent (this=0x8aeea38, event=0xbf8a87a0, 
    point=@0xbf8a8250)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/libs/flake/KoToolProxy.cpp:196
#8  0xb7f468bc in KarbonCanvas::tabletEvent (this=0x8a46230, e=0xbf8a87a0)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/karbon/ui/widgets/KarbonCanvas.cpp:231
#9  0xb61b4bd9 in QWidget::event () from /usr/lib/libQtGui.so.4
#10 0xb615cf9c in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#11 0xb6162676 in QApplication::notify () from /usr/lib/libQtGui.so.4
#12 0xb752c483 in KApplication::notify () from /usr/lib/kde4/lib/libkdeui.so.5
#13 0xb6ee30b9 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#14 0xb61bb1ec in ?? () from /usr/lib/libQtGui.so.4
#15 0xb61c7679 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#16 0xb61f0c2a in ?? () from /usr/lib/libQtGui.so.4
#17 0xb560bcc6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0xb560f083 in ?? () from /usr/lib/libglib-2.0.so.0
#19 0xb560f63e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0xb6f0e9f8 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#21 0xb61f0a25 in ?? () from /usr/lib/libQtGui.so.4
#22 0xb6ee233d in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#23 0xb6ee24cd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#24 0xb6ee474d in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#25 0xb615c897 in QApplication::exec () from /usr/lib/libQtGui.so.4
#26 0xb7f65e48 in kdemain (argc=1, argv=0xbf8a9034)
    at /home/m4v-kde3/dev/kde/src/koffice/trunk/karbon/main.cc:50
#27 0x08048936 in main (argc=)
    at /home/m4v-kde3/dev/kde/build/koffice/trunk/karbon/karbon_dummy.cpp:3
#0  0xb7f69410 in __kernel_vsyscall ()
Comment 1 Elián Hanisch 2008-10-27 01:43:03 UTC
these are the relevant parts of my xorg.conf

Section "ServerLayout"
	InputDevice    "stylus" "SendCoreEvents"
	InputDevice    "cursor" "SendCoreEvents"
	InputDevice    "eraser" "SendCoreEvents"
	InputDevice    "pad"
EndSection

Section "InputDevice"
	Identifier     "stylus"
	Driver         "wacom"
	Option         "Device" "/dev/input/wacom"
	Option         "Type" "stylus"
	Option	     "USB"	"on"
EndSection

Section "InputDevice"
    Identifier     "eraser"
    Driver         "wacom"
    Option         "Device" "/dev/input/wacom"
    Option         "Type" "eraser"
	Option		   "USB"	"on"
EndSection

Section "InputDevice"
    Identifier     "cursor"
    Driver         "wacom"
    Option         "Device" "/dev/input/wacom"
    Option         "Type" "cursor"
    Option 		   "Speed" "1.5"
    Option		   "USB"	"on"
EndSection

Section "InputDevice"
        Driver          "wacom"
        Identifier      "pad"
        Option          "Device"        "/dev/input/wacom"
        Option          "Type"          "pad"
        Option          "USB"           "on"
EndSection
Comment 2 Jan Hambrecht 2009-01-06 23:29:24 UTC
I have no tablet so i am unable to reproduce or try to fix the crash. :-(
Comment 3 Elián Hanisch 2009-01-25 13:49:08 UTC
The bug is still there unfortunately, but this time around I can't get a crash, karbon just hangs, consuming a good deal of CPU. svn r916284
Comment 4 Thomas Zander 2009-01-25 20:03:08 UTC
multiple people have confirmed this.
I recall adding code in the proxy to handle this; need to check why its failing.
Comment 5 Elián Hanisch 2009-01-25 20:06:39 UTC
a way I use for sure crash it:

1. create a path
2. double click in the path for edit it (stylus or mouse, doesn't matter)
3. try to double click with the stylus outside the path for leave the edit mode
4. crash

I crashed several times in a row this way
Comment 6 Elián Hanisch 2009-06-09 20:02:12 UTC
I can't reproduce this for the time being

trunk r979085
Comment 7 Jan Hambrecht 2010-04-15 00:08:43 UTC
Seems to be fixed.