Bug 164203 - Crash after terminating a session and mouse pointer invisible
Summary: Crash after terminating a session and mouse pointer invisible
Status: RESOLVED FIXED
Alias: None
Product: krdc
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-16 10:21 UTC by Juergen Diel
Modified: 2008-08-29 22:46 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
19/08/2008 (2.28 KB, application/octet-stream)
2008-08-19 11:30 UTC, Jean-François Saulais
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Diel 2008-06-16 10:21:22 UTC
Version:            (using KDE 4.0.4)
Installed from:    SuSE RPMs
OS:                Linux

Controlling and controlled machine run Suse 11 RC1 in my local network.
a) The mouse cursor disappears when entering the controlled screen, but still keeps it's functionality, i.e., if you move ver a button, it changes it's appearance and it can be pushed. The cursor re-appears when leaving the window.

b) Crash after closing the connection:
Backtrace:
[?1034h(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb65468e0 (LWP 9545)]
[New Thread 0xb3794b90 (LWP 9700)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#6  0xffffe430 in __kernel_vsyscall ()
#7  0xb683f900 in raise () from /lib/libc.so.6
#8  0xb6841238 in abort () from /lib/libc.so.6
#9  0xb683870e in __assert_fail () from /lib/libc.so.6
#10 0xb7549a46 in pthread_mutex_lock () from /lib/libpthread.so.0
#11 0xb75a3ed7 in ?? () from /usr/lib/libQtCore.so.4
#12 0xb759fdf8 in QMutex::lock () from /usr/lib/libQtCore.so.4
#13 0x0805ff9c in _start ()

Thread 1 (Thread 0xb65468e0 (LWP 9545)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb68dbef1 in select () from /lib/libc.so.6
#2  0xb6590225 in ?? () from /usr/lib/libxcb.so.1
#3  0xb659092e in ?? () from /usr/lib/libxcb.so.1
#4  0xb6590f6d in xcb_send_request () from /usr/lib/libxcb.so.1
#5  0xb73183e6 in _XPutXCBBuffer () from /usr/lib/libX11.so.6
#6  0xb7319a6f in _XSend () from /usr/lib/libX11.so.6
#7  0xb7305196 in ?? () from /usr/lib/libX11.so.6
#8  0xb73053a3 in XPutImage () from /usr/lib/libX11.so.6
#9  0xb6d22f1c in ?? () from /usr/lib/libQtGui.so.4
#10 0xb6d159da in QPixmap::fromImage () from /usr/lib/libQtGui.so.4
#11 0xb6d4c93c in QPaintEngine::drawImage () from /usr/lib/libQtGui.so.4
#12 0xb6de6599 in ?? () from /usr/lib/libQtGui.so.4
#13 0xb6d57ac1 in ?? () from /usr/lib/libQtGui.so.4
#14 0xb6d59ea2 in QPainter::drawRects () from /usr/lib/libQtGui.so.4
#15 0xb6d5e287 in QPainter::drawRoundRect () from /usr/lib/libQtGui.so.4
#16 0xb62fa566 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#17 0xb6305e62 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#18 0xb630c2d8 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#19 0xb7c3e3cc in KStyle::drawPrimitive () from /usr/lib/libkdeui.so.5
#20 0xb7c4461c in KStyle::drawControl () from /usr/lib/libkdeui.so.5
#21 0xb6305936 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#22 0xb6ef454b in ?? () from /usr/lib/libQtGui.so.4
#23 0xb6ed137d in QCommonStyle::drawControl () from /usr/lib/libQtGui.so.4
#24 0xb6f43fb9 in QWindowsStyle::drawControl () from /usr/lib/libQtGui.so.4
#25 0xb6ef21c0 in ?? () from /usr/lib/libQtGui.so.4
#26 0xb6feeeca in QPushButton::paintEvent () from /usr/lib/libQtGui.so.4
#27 0xb6cb4f61 in QWidget::event () from /usr/lib/libQtGui.so.4
#28 0xb6f5872e in QAbstractButton::event () from /usr/lib/libQtGui.so.4
#29 0xb6feea60 in QPushButton::event () from /usr/lib/libQtGui.so.4
#30 0xb6c62ecc in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#31 0xb6c693ea in QApplication::notify () from /usr/lib/libQtGui.so.4
#32 0xb7c3139d in KApplication::notify () from /usr/lib/libkdeui.so.5
#33 0xb767ebc1 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#34 0xb6cbb81e in ?? () from /usr/lib/libQtGui.so.4
#35 0xb6cb1f60 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#36 0xb6cb279f in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#37 0xb6cb2661 in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#38 0xb6cb1cd4 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#39 0xb6cb279f in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#40 0xb6cb1cd4 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#41 0xb6cb279f in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#42 0xb6cb2661 in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#43 0xb6cb1cd4 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#44 0xb6cb279f in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#45 0xb6cb1cd4 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#46 0xb6e003a0 in ?? () from /usr/lib/libQtGui.so.4
#47 0xb6e01152 in ?? () from /usr/lib/libQtGui.so.4
#48 0xb6cb532f in QWidget::event () from /usr/lib/libQtGui.so.4
#49 0xb6f9eb73 in QFrame::event () from /usr/lib/libQtGui.so.4
#50 0xb7001644 in QStackedWidget::event () from /usr/lib/libQtGui.so.4
#51 0xb6c62ecc in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#52 0xb6c693ea in QApplication::notify () from /usr/lib/libQtGui.so.4
#53 0xb7c3139d in KApplication::notify () from /usr/lib/libkdeui.so.5
#54 0xb767ebc1 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#55 0xb767f481 in QCoreApplicationPrivate::sendPostedEvents ()
   from /usr/lib/libQtCore.so.4
#56 0xb76a738a in QEventDispatcherUNIX::processEvents ()
   from /usr/lib/libQtCore.so.4
#57 0xb6ced0a2 in ?? () from /usr/lib/libQtGui.so.4
#58 0xb767d33a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#59 0xb767d4fa in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#60 0xb767f6dd in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#61 0xb6c62d47 in QApplication::exec () from /usr/lib/libQtGui.so.4
#62 0x080722d5 in _start ()
#0  0xffffe430 in __kernel_vsyscall ()
Comment 1 Urs Wolfer 2008-06-19 20:20:50 UTC
Note: please open two separate reports for two different issues next time. Thanks. :)

#1: You are controlling (i.e. running VNC server) also on a Suse machine? Can you please start KRDC from a Konsole and post the debug output here?

#2: How can you reproduce this crash exactly? This backtrace is not really useful because KRDC (KDE) is not compiled with debug information. If you can reproduce this crash, please install debug packages and post the backtrace again.

Thanks!
Comment 2 Jean-François Saulais 2008-08-17 01:17:02 UTC
Hi, I also experienced this bug, not the mouse-related one, but the crash when disconnecting from a remote server.

I'm using krdc 4.1.00 on Fedora 9 (x86) with KDE 4.1.OO, gcc 4.3.0-8.

I ran krdc from yakuake with the --nocrashhandler switch, is this outpt usefull for you ?

QThread: Destroyed while thread is still running         
QMutex::lock: mutex lock failure:                        
*** glibc detected *** krdc: malloc(): memory corruption: 0x08a78e21 ***
======= Backtrace: =========                                            
/lib/libc.so.6[0x788596]                                                
/lib/libc.so.6(__libc_malloc+0x95)[0x789ce5]                            
/usr/lib/libQtCore.so.4(_Z7qMallocj+0x1d)[0x414dabd]                    
/usr/lib/libQtCore.so.4(_ZN11QVectorData6mallocEiiiPS_+0x2f)[0x41a395f] 
/usr/lib/libQtGui.so.4[0x478ebf7]                                       
/usr/lib/libQtGui.so.4[0x478ed77]                                       
/usr/lib/libQtGui.so.4(_ZN12QPainterPath17ensureData_helperEv+0x87)[0x47863d7]
/usr/lib/libQtGui.so.4(_ZN12QPainterPath9addRegionERK7QRegion+0x110)[0x478a7d0]
/usr/lib/libQtGui.so.4[0x4825440]                                              
/usr/lib/libQtGui.so.4[0x4776ddb]                                              
/usr/lib/libQtGui.so.4[0x4776eab]                                              
/usr/lib/libQtGui.so.4(_ZN8QPainter4saveEv+0x3e)[0x4777aee]                    
/usr/lib/libQtGui.so.4[0x47781fa]                                              
/usr/lib/libQtGui.so.4(_ZN8QPainterC1EP12QPaintDevice+0x35)[0x477aab5]         
/usr/lib/libQtGui.so.4(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainter+0x691)[0x46c5a31]
/usr/lib/libQtGui.so.4[0x4832287]                                                                                     
/usr/lib/libQtGui.so.4[0x4833097]                                                                                     
/usr/lib/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x5b6)[0x46c6cd6]                                                   
/usr/lib/libQtGui.so.4(_ZN11QMainWindow5eventEP6QEvent+0x77)[0x4a195c7]                                               
/usr/lib/libkdeui.so.5(_ZN11KMainWindow5eventEP6QEvent+0x68)[0x50b8568]                                               
/usr/lib/libkdeui.so.5(_ZN13KXmlGuiWindow5eventEP6QEvent+0x2c)[0x50f999c]                                             
/usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xbc)[0x466f30c]                     
/usr/lib/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x18a)[0x467723a]                                   
/usr/lib/libkdeui.so.5(_ZN12KApplication6notifyEP7QObjectP6QEvent+0x3d)[0x4ff4ddd]                                    
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0xb1)[0x4243731]                      
/usr/lib/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x2b5)[0x42443a5]     
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication16sendPostedEventsEP7QObjecti+0x2d)[0x42445bd]                           
/usr/lib/libQtCore.so.4[0x426e25f]                                                                                    
/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8)[0x93b0d8]                                                        
/lib/libglib-2.0.so.0[0x93e783]                                                                                       
/lib/libglib-2.0.so.0(g_main_context_iteration+0x71)[0x93e941]
/usr/lib/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x58)[0x426dea8]
/usr/lib/libQtGui.so.4[0x4707d95]
/usr/lib/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x4a)[0x4241e1a]
/usr/lib/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0xea)[0x4241fda]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication4execEv+0xb5)[0x4244685]
/usr/lib/libQtGui.so.4(_ZN12QApplication4execEv+0x27)[0x466f187]
krdc[0x8079285]
/lib/libc.so.6(__libc_start_main+0xe6)[0x72e5d6]
krdc(_ZNK13KXMLGUIClient6actionERK11QDomElement+0xb5)[0x8057541]
======= Memory map: ========
00101000-00109000 r-xp 00000000 08:06 501416     /usr/lib/libXi.so.6.0.0
00109000-0010a000 rw-p 00007000 08:06 501416     /usr/lib/libXi.so.6.0.0
00110000-00111000 r-xp 00110000 00:00 0          [vdso]
00111000-00113000 r-xp 00000000 08:06 508901     /usr/lib/gconv/UTF-16.so
00113000-00114000 r--p 00001000 08:06 508901     /usr/lib/gconv/UTF-16.so
00114000-00115000 rw-p 00002000 08:06 508901     /usr/lib/gconv/UTF-16.so
00115000-0011e000 r-xp 00000000 08:06 501709     /usr/lib/libXcursor.so.1.0.2
0011e000-0011f000 rw-p 00008000 08:06 501709     /usr/lib/libXcursor.so.1.0.2
00121000-00134000 r-xp 00000000 08:06 501719     /usr/lib/libXft.so.2.1.2
00134000-00135000 rw-p 00012000 08:06 501719     /usr/lib/libXft.so.2.1.2
00137000-00147000 r-xp 00000000 08:06 491693     /lib/libbz2.so.1.0.4
00147000-00148000 rw-p 00010000 08:06 491693     /lib/libbz2.so.1.0.4
00148000-0014e000 r-xp 00000000 08:06 501453     /usr/lib/libXrandr.so.2.1.0
0014e000-0014f000 rw-p 00005000 08:06 501453     /usr/lib/libXrandr.so.2.1.0
00150000-00299000 r-xp 00000000 08:06 501974     /usr/lib/libxml2.so.2.6.32
00299000-0029e000 rw-p 00149000 08:06 501974     /usr/lib/libxml2.so.2.6.32
0029e000-0029f000 rw-p 0029e000 00:00 0
002a1000-002e2000 r-xp 00000000 08:06 506365     /usr/lib/libQtXml.so.4.4.1
002e2000-002e5000 rw-p 00040000 08:06 506365     /usr/lib/libQtXml.so.4.4.1
002ed000-002ef000 r-xp 00000000 08:06 491695     /lib/libcom_err.so.2.1
002ef000-002f0000 rw-p 00001000 08:06 491695     /lib/libcom_err.so.2.1
002f2000-002f8000 r-xp 00000000 08:06 506375     /usr/lib/libfam.so.0.0.0
002f8000-002f9000 rw-p 00006000 08:06 506375     /usr/lib/libfam.so.0.0.0
002fd000-00301000 r-xp 00000000 08:06 491696     /lib/libattr.so.1.1.0
00301000-00302000 rw-p 00003000 08:06 491696     /lib/libattr.so.1.1.0
00304000-0030b000 r-xp 00000000 08:06 491697     /lib/libacl.so.1.1.0
0030b000-00Aborted

If not I can also use the debug package, just tell me.
Comment 3 Urs Wolfer 2008-08-17 12:14:21 UTC
Jean-François Saulais: Please generate a backtrace with debug binaries if possible.
Comment 4 Jean-François Saulais 2008-08-19 11:30:19 UTC
Created attachment 26934 [details]
19/08/2008
Comment 5 Jean-François Saulais 2008-08-19 11:32:38 UTC
Comment on attachment 26934 [details]
19/08/2008

hello, here is a backtrace from krdc with kdenetwork-debuginfo 4.1.0-2.
Comment 6 Jean-François Saulais 2008-08-21 02:29:08 UTC
Hello, I forgot to mention that the remote desktop is running Fedora 9 with KDE 4.1 (VNC connection).
I reminded this because I had to login several times tonight to my desktop at work which is running Windows XP and I didn't experience the crash during logout.

Hope this helps,

JF
Comment 7 Guillaume Pothier 2008-08-28 23:11:15 UTC
I just committed a fix to trunk that should fix this issue.
-----------
r854023 | gpothier | 2008-08-28 13:34:01 -0400 (Thu, 28 Aug 2008) | 20 lines                                                                         
                                                                                                                                                     
Fix concurrency issues. In particular this should fix crashes when a 
connection is closed either from krdc or from the server side.                                                                                       
Bug reporters, please check if you can still reproduce the crashes with this patch (this is for trunk, backporting to 4.1 in a few minutes).

Details:                                                                                                                                             
1- Disconnect signals from the client thread to the vncview when the latter is deleted. This Fixes a 100% repeatable crash that occurs when I close a vnc tab that is connected to an ubuntu machine running the vino vnc server (aka gnome desktop sharing)
2- Remove the buf global variable. I wasn't able to get a reproducible crash due only to this variable because of the above item, but getting rid of that variable is the sanest thing to do I think. 
Comment 8 Urs Wolfer 2008-08-29 22:46:10 UTC
Applied a 2nd fix; after these two fixes this issue should be fixed.

SVN commit 854581 by uwolfer:

* Fix crash which happened when painting while thread deleted framebuffer (for
example when VNC server closed connection).
* Replace some returns with asserts.
* Set correct debug areas where possible.