Bug 183776

Summary: image in krdc is corrupted, and it crashes
Product: [Applications] krdc Reporter: Piotr Mitas <yabolus>
Component: VNCAssignee: Urs Wolfer <uwolfer>
Status: RESOLVED DUPLICATE    
Severity: crash CC: cesti_alain, flightsim, korossy, nt1277
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description Piotr Mitas 2009-02-09 14:32:02 UTC
Version:            (using KDE 4.2.0)
Compiler:          gcc version 4.3.3 (Gentoo 4.3.3 p1.0, pie-10.1.5) 
OS:                Linux
Installed from:    Gentoo Packages

I tried to help my friend a bit with his new kubuntu 8.10, and when I connected to his krfb server, it looked like this: 

http://imagebin.ca/view/TiQ7K2r.html

And when I disconnected, it crashed:

(it said that the backtrace "looks useless" and that my packages were build in a way... blah blah...   but I build everything with -g so it shouldn't complain?)


[Thread debugging using libthread_db enabled]
[New Thread 0xb602f700 (LWP 31694)]
[New Thread 0xb476cb90 (LWP 31853)]
0xffffe424 in __kernel_vsyscall ()
[Current thread is 0 (LWP 31694)]

Thread 2 (Thread 0xb476cb90 (LWP 31853)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6779166 in nanosleep () from /lib/libc.so.6
#2  0xb6778f8b in __sleep (seconds=0) at ../sysdeps/unix/sysv/linux/sleep.c:138
#3  0xb794b6b8 in KCrash::startDrKonqi (argv=0xb476b638, argc=17) at /var/tmp/portage/kde-base/kdelibs-4.2.0-r1/work/kdelibs-4.2.0/kdeui/util/kcrash.cpp:412
#4  0xb794c03c in KCrash::defaultCrashHandler (sig=11) at /var/tmp/portage/kde-base/kdelibs-4.2.0-r1/work/kdelibs-4.2.0/kdeui/util/kcrash.cpp:337
#5  <signal handler called>
#6  memcpy () at ../sysdeps/i386/i686/memcpy.S:75
#7  0x003714fc in ?? ()
#8  0xb7bba778 in CopyRectangle (client=0xb3f14008, buffer=0xb3f39868 "���", x=63, y=381, w=381, h=1) at /usr/include/bits/string3.h:52
#9  0xb7bbe60e in DecompressJpegRect32 (client=0xb3f14008, x=63, y=704, w=381, h=22) at tight.c:580
#10 0xb7bbeb17 in HandleTight32 (client=0xb3f14008, rx=63, ry=704, rw=381, rh=22) at tight.c:146
#11 0xb7bc8d0b in HandleRFBServerMessage (client=0xb3f14008) at rfbproto.c:1434
#12 0x080647f5 in VncClientThread::run (this=0x8e3df4c) at /var/tmp/portage/kde-base/krdc-4.2.0/work/krdc-4.2.0/krdc/vnc/vncclientthread.cpp:288
#13 0xb69c42ee in QThreadPrivate::start (arg=0x8e3df4c) at thread/qthread_unix.cpp:191
#14 0xb694719b in start_thread (arg=0xb476cb90) at pthread_create.c:297
#15 0xb67ad91e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb602f700 (LWP 31694)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb67a6e91 in select () from /lib/libc.so.6
#2  0xb605d438 in _xcb_conn_wait (c=0x8afd280, cond=0xbfe14fec, vector=0x0, count=0x0) at xcb_conn.c:340
#3  0xb605f249 in xcb_wait_for_reply (c=0x8afd280, request=6033514, e=0xbfe15068) at xcb_in.c:365
#4  0xb64049f1 in _XReply (dpy=0x8af3d60, rep=0xbfe150bc, extra=0, discard=0) at xcb_io.c:366
#5  0xb63e1258 in XGetImage (dpy=0x8af3d60, d=35651921, x=0, y=0, width=600, height=64, plane_mask=4294967295, format=2) at GetImage.c:77
#6  0xb6ff9edf in QX11PixmapData::toImage (this=0x8c685f0) at image/qpixmap_x11.cpp:1394
#7  0xb6fed2eb in QPixmap::toImage (this=0x8c6ac00) at image/qpixmap.cpp:435
#8  0xb7016c1e in QBrush::textureImage (this=0x8e98088) at painting/qbrush.cpp:165
#9  0xb70a81e1 in QSpanData::setup (this=0x8e981a8, brush=@0x8e98088, alpha=256) at painting/qpaintengine_raster.cpp:5240
#10 0xb70a9b4c in QRasterPaintEngine::updateState (this=0x8e27058, state=@0x8ded5d0) at painting/qpaintengine_raster.cpp:1353
#11 0xb702dbeb in QPainterPrivate::updateStateImpl (this=0x8d7cee0, newState=0x8ded5d0) at painting/qpainter.cpp:884
#12 0xb702dcbb in QPainterPrivate::updateState (this=0x8d7cee0, newState=0x8ded5d0) at painting/qpainter.cpp:912
#13 0xb7037e91 in QPainter::drawPath (this=0xbfe15ae8, path=@0xbfe15b74) at painting/qpainter.cpp:2828
#14 0xb7032db9 in QPainterPrivate::draw_helper (this=0x8de5568, originalPath=@0xbfe15b74, op=<value optimized out>) at painting/qpainter.cpp:364
#15 0xb7035588 in QPainter::drawRects (this=0xbfe15fd4, rects=0xbfe15c70, rectCount=1) at painting/qpainter.cpp:2961
#16 0xb703745f in QPainter::drawPixmap (this=0xbfe15fd4, r=@0xbfe15d88, pm=@0xbfe15e44, sr=@0xbfe15da8) at ../../include/QtGui/../../src/gui/painting/qpainter.h:582
#17 0xb5e758f1 in OxygenHelper::renderWindowBackground (this=0x8b4b910, p=0xbfe15fd4, clipRect=@0xbfe15f78, widget=0x8b57cb8, pal=@0x8b803e8, y_shift=-23) at /usr/include/qt4/QtGui/qpainter.h:756
#18 0xb5e82d4b in OxygenStyle::eventFilter (this=0x8b14188, obj=0x8b57cb8, ev=0xbfe1641c) at /var/tmp/portage/kde-base/kstyles-4.2.0/work/kstyles-4.2.0/kstyles/oxygen/oxygen.cpp:3484
#19 0xb6ab2a38 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x8aebba8, receiver=0x8b57cb8, event=0xbfe1641c) at kernel/qcoreapplication.cpp:700
#20 0xb6f2c8d2 in QApplicationPrivate::notify_helper (this=0x8aebba8, receiver=0x8b57cb8, e=0xbfe1641c) at kernel/qapplication.cpp:3805
#21 0xb6f347ba in QApplication::notify (this=0xbfe17358, receiver=0x8b57cb8, e=0xbfe1641c) at kernel/qapplication.cpp:3774
#22 0xb78dfa4d in KApplication::notify (this=0xbfe17358, receiver=0x8b57cb8, event=0xbfe1641c) at /var/tmp/portage/kde-base/kdelibs-4.2.0-r1/work/kdelibs-4.2.0/kdeui/kernel/kapplication.cpp:307
#23 0xb6ab3828 in QCoreApplication::notifyInternal (this=0xbfe17358, receiver=0x8b57cb8, event=0xbfe1641c) at kernel/qcoreapplication.cpp:593
#24 0xb6f8b8be in qt_sendSpontaneousEvent (receiver=0x8b57cb8, event=0xbfe14ebc) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#25 0xb6f818d6 in QWidgetPrivate::drawWidget (this=0x8b80378, pdev=0x8b819e4, rgn=@0xbfe165e4, offset=@0x8b57d34, flags=<value optimized out>, sharedPainter=0x8c55678) at kernel/qwidget.cpp:4642
#26 0xb70e5eee in QWidgetBackingStore::cleanRegion (this=0x8b57d28, rgn=@0xbfe16658, widget=0x8b57cb8, recursiveCopyToScreen=false) at painting/qbackingstore.cpp:1045
#27 0xb70e62a5 in qt_syncBackingStore (rgn={d = 0xbfe16658, static shared_empty = {ref = {_q_value = 1117}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, widget=0x8b57cb8, 
    recursive=<value optimized out>) at painting/qbackingstore.cpp:238
#28 0xb70e6313 in qt_syncBackingStore (rgn={d = 0xbfe1674c, static shared_empty = {ref = {_q_value = 1117}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, widget=0x8b57cb8)
    at painting/qbackingstore.cpp:245
#29 0xb6f8ef10 in QETWidget::translatePaintEvent (this=0x8b57cb8, event=0xbfe16b00) at kernel/qapplication_x11.cpp:4634
#30 0xb6f9a94d in QApplication::x11ProcessEvent (this=0xbfe17358, event=0xbfe16b00) at kernel/qapplication_x11.cpp:3066
#31 0xb6f9b3c0 in QETWidget::translateMouseEvent (this=0x8bf4a40, event=0xbfe1707c) at kernel/qapplication_x11.cpp:3780
#32 0xb6f9a0ad in QApplication::x11ProcessEvent (this=0xbfe17358, event=0xbfe1707c) at kernel/qapplication_x11.cpp:3166
#33 0xb6fc1602 in x11EventSourceDispatch (s=0x8aeebb0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#34 0xb6623280 in IA__g_main_context_dispatch (context=0x8aede90) at gmain.c:2144
#35 0xb6626953 in g_main_context_iterate (context=0x8aede90, block=1, dispatch=1, self=0x8aebe90) at gmain.c:2778
#36 0xb6626b11 in IA__g_main_context_iteration (context=0x8aede90, may_block=1) at gmain.c:2841
#37 0xb6addbd8 in QEventDispatcherGlib::processEvents (this=0x8aeba28, flags={i = -1075744200}) at kernel/qeventdispatcher_glib.cpp:325
#38 0xb6fc0d45 in QGuiEventDispatcherGlib::processEvents (this=0x8aeba28, flags={i = -1075744152}) at kernel/qguieventdispatcher_glib.cpp:204
#39 0xb6ab1f2a in QEventLoop::processEvents (this=0xbfe172e0, flags={i = -1075744088}) at kernel/qeventloop.cpp:149
#40 0xb6ab20e2 in QEventLoop::exec (this=0xbfe172e0, flags={i = -1075744024}) at kernel/qeventloop.cpp:200
#41 0xb6ab4725 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#42 0xb6f2c767 in QApplication::exec () at kernel/qapplication.cpp:3337
#43 0x0807955d in main (argc=1, argv=0xbfe174f4) at /var/tmp/portage/kde-base/krdc-4.2.0/work/krdc-4.2.0/krdc/main.cpp:95
#0  0xffffe424 in __kernel_vsyscall ()
Comment 1 Urs Wolfer 2009-02-14 16:25:53 UTC
Can you reproduce this issue? If yes, how?
Comment 2 Tamás Németh 2009-04-09 10:38:07 UTC
Corrupted image seems to be the fault of krfb instead of krdc. See the infamous bug:

https://bugs.kde.org/show_bug.cgi?id=162493

This is a persistent and very annoying bug. I beg the developers to fix it!
Comment 3 Urs Wolfer 2009-05-16 12:53:47 UTC
Is this crash reproducible?

Image corruption is a fault of Krfb, as comment #2 already told.
Comment 4 Micool 2009-05-28 20:58:05 UTC
Have the same  here with 2 Kubuntu 9.04 jaunty
krfb running on one desktop
krdc client on a laptop

and vice versa
reproductible
Comment 5 Urs Wolfer 2009-07-12 17:17:23 UTC
Can you reproduce this crash with any other VNC server?
Comment 6 Pal Körössy 2009-08-09 13:39:40 UTC
Same here on OpenSUSE 11.1/KDE4.3
Comment 7 Micool 2009-08-21 11:51:29 UTC
no I didn't try an other server but I tryed some other viewers like tightvnc and realvnc : same result. I wonder if this is not linked to the hardware acceleration of the desktop with kde 4 and krfb
Comment 8 Urs Wolfer 2009-09-11 22:24:04 UTC

*** This bug has been marked as a duplicate of bug 162493 ***
Comment 9 Urs Wolfer 2010-06-07 07:31:39 UTC
*** Bug 240964 has been marked as a duplicate of this bug. ***