Bug 50601 - kwin crashes when closing Xnest/rdesktop window
Summary: kwin crashes when closing Xnest/rdesktop window
Status: RESOLVED REMIND
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-11-12 14:14 UTC by lenar
Modified: 2002-12-17 15:29 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 lenar 2002-11-12 14:14:41 UTC
Version:            (using KDE KDE 3.0.9)
Installed from:    Debian testing/unstable Packages
OS:          Linux

When using Xnest or rdesktop everything is just fine until you close Xnest/rdesktop window by using that cross in upper right corner of window. Window will be closed but kwin either disappears or disappears and message stating Signal 11 happened is shown.
By using ALT+F2 and manually starting kwin after crash one can successfully start kwin again.
Comment 1 Lubos Lunak 2002-11-12 16:15:46 UTC
 I cannot reproduce the problem. Please provide a backtrace from the crash (either from the 
crash dialog, or run KWin from gdb). 
 
Comment 2 Michael Brade 2002-12-03 19:42:55 UTC
Same here, it seems to happen at least when using "Glow" window decoration. 
Backtrace as follows: 
 
[New Thread 1024 (LWP 24327)] 
0x40fea099 in wait4 () from /lib/libc.so.6 
#0  0x40fea099 in wait4 () from /lib/libc.so.6 
#1  0x410628e4 in __DTOR_END__ () from /lib/libc.so.6 
#2  0x40ea6177 in waitpid () from /lib/libpthread.so.0 
#3  0x405ce18b in KCrash::defaultCrashHandler (sig=11) 
    at /mnt/KDE/kde-cvs/kdelibs/kdecore/kcrash.cpp:235 
#4  0x40ea3bc4 in pthread_sighandler () from /lib/libpthread.so.0 
#5  <signal handler called> 
#6  0x40b62470 in QGListIterator::QGListIterator () 
   from /opt/qt-3.1/lib/libqt-mt.so.3 
#7  0x4092e86c in QObject::activate_filters () 
   from /opt/qt-3.1/lib/libqt-mt.so.3 
#8  0x4092e771 in QObject::event () from /opt/qt-3.1/lib/libqt-mt.so.3 
#9  0x408e58d6 in QApplication::internalNotify () 
   from /opt/qt-3.1/lib/libqt-mt.so.3 
#10 0x408e56d6 in QApplication::notify () from /opt/qt-3.1/lib/libqt-mt.so.3 
#11 0x4055e6ff in KApplication::notify (this=0xbfffead8, receiver=0x816a378,  
    event=0xbfffe8ec) at /mnt/KDE/kde-cvs/kdelibs/kdecore/kapplication.cpp:437 
#12 0x408ca205 in QEventLoop::activateTimers () 
   from /opt/qt-3.1/lib/libqt-mt.so.3 
#13 0x408aca8d in QEventLoop::processEvents () 
   from /opt/qt-3.1/lib/libqt-mt.so.3 
#14 0x408f5b50 in QEventLoop::enterLoop () from /opt/qt-3.1/lib/libqt-mt.so.3 
#15 0x408f5a97 in QEventLoop::exec () from /opt/qt-3.1/lib/libqt-mt.so.3 
#16 0x408e5a46 in QApplication::exec () from /opt/qt-3.1/lib/libqt-mt.so.3 
#17 0x416450e3 in kdemain (argc=1, argv=0x805ac50) 
    at /mnt/KDE/kde-cvs/kdebase/kwin/main.cpp:271 
#18 0x0804cf36 in launch (argc=1, _name=0x805c78c "kwin", args=0x805c791 "",  
    cwd=0x0, envc=0, envs=0x805c795 "", reset_env=false, tty=0x0,  
    avoid_loops=false, startup_id_str=0x8050496 "0") 
    at /mnt/KDE/kde-cvs/kdelibs/kinit/kinit.cpp:547 
#19 0x0804dd18 in handle_launcher_request (sock=-1) 
    at /mnt/KDE/kde-cvs/kdelibs/kinit/kinit.cpp:1023 
#20 0x0804e1fb in handle_requests (waitForPid=0) 
    at /mnt/KDE/kde-cvs/kdelibs/kinit/kinit.cpp:1189 
#21 0x0804f0b5 in main (argc=3, argv=0xbffff0a4, envp=0xbffff0b4) 
    at /mnt/KDE/kde-cvs/kdelibs/kinit/kinit.cpp:1534 
#22 0x40f5f7ee in __libc_start_main () from /lib/libc.so.6 
 
Comment 3 lenar 2002-12-03 19:50:45 UTC
when closing rdesktop: 
 
Program received signal SIGSEGV, Segmentation fault. 
[Switching to Thread 16384 (LWP 32752)] 
0x41e91a3e in malloc () from /usr/lib/libkdecore.so.4 
(gdb) bt 
#0  0x41e91a3e in malloc () from /usr/lib/libkdecore.so.4 
#1  0x4134506f in QImage::create () from /usr/lib/libqt-mt.so.3 
#2  0x4134513f in QImage::create () from /usr/lib/libqt-mt.so.3 
#3  0x4134445a in QImage::QImage () from /usr/lib/libqt-mt.so.3 
#4  0x42443dd1 in KImageEffect::gradient () from /usr/lib/libkdefx.so.4 
#5  0x424435aa in KPixmapEffect::gradient () from /usr/lib/libkdefx.so.4 
#6  0x40116b13 in Glow::GlowClient::paintEvent () from /usr/lib/kde3/kwin_glow.so 
#7  0x41398b43 in QWidget::event () from /usr/lib/libqt-mt.so.3 
#8  0x4131c193 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 
#9  0x4131bf94 in QApplication::notify () from /usr/lib/libqt-mt.so.3 
#10 0x41dd6a1a in KApplication::notify () from /usr/lib/libkdecore.so.4 
#11 0x412faaef in QWidget::repaint () from /usr/lib/libqt-mt.so.3 
#12 0x4011757d in Glow::GlowClient::activeChange () from /usr/lib/kde3/kwin_glow.so 
#13 0x40050a89 in KWinInternal::Client::setActive () from /usr/lib/kwin.so 
#14 0x4004d50a in KWinInternal::Client::windowEvent () from /usr/lib/kwin.so 
#15 0x400328a1 in KWinInternal::Workspace::workspaceEvent () from /usr/lib/kwin.so 
#16 0x40054b90 in Application::x11EventFilter () from /usr/lib/kwin.so 
#17 0x412c675c in qt_set_x11_event_filter () from /usr/lib/libqt-mt.so.3 
#18 0x412cec0a in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 
#19 0x412e0eb2 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 
#20 0x4132d6ee in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 
#21 0x4132d64b in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 
#22 0x4131c2ea in QApplication::exec () from /usr/lib/libqt-mt.so.3 
#23 0x4005523e in kdemain () from /usr/lib/kwin.so 
#24 0x08048eb8 in strcpy () 
#25 0x41029a5f in __libc_start_main () from /lib/libc.so.6 
 
Comment 4 Lubos Lunak 2002-12-05 12:54:30 UTC
Subject: kdeartwork/kwin-styles/glow

CVS commit by lunakl: 

clicked() may result in deleting the button (and hence m_timer), don't
touch anything after that.
Fixes Xnest crash in #50601.
CCMAIL: 50601@bugs.kde.org


  M +3 -3      glowbutton.cpp   1.13


--- kdeartwork/kwin-styles/glow/glowbutton.cpp:1.12	Wed Aug 28 18:00:41 2002
@@ -145,14 +145,14 @@
 void GlowButton::mouseReleaseEvent( QMouseEvent *e )
 {
 	QPoint p = mapToParent(mapFromGlobal(e->globalPos()));
+	if( ! m_timer->isActive() ) {
+		m_timer->start(m_updateTime);
+	}
 	if( ! geometry().contains(p) ) {
 		m_timerStatus = Stop;
 	} else {
 		emit clicked();
 		emit clicked(e->button());
-	}
-	if( ! m_timer->isActive() ) {
-		m_timer->start(m_updateTime);
 	}
 	KWinWidgetButton::mouseReleaseEvent(e);
 }

Comment 5 Lubos Lunak 2002-12-05 12:58:24 UTC
 The Xnest bug should be fixed, and it could probably fix the rdesktop problem as well, but I 
cannot test it. I don't know how to test rdesktop (no Windows here around). 
 
Comment 6 Lubos Lunak 2002-12-17 15:29:15 UTC
 Complain if the rdesktop problem remains.