Bug 501483

Summary: kwin crashes when closing Java dialog boxes
Product: Red Hat Enterprise Linux 5 Reporter: Olivier Fourdan <ofourdan>
Component: kdebaseAssignee: Than Ngo <than>
Status: CLOSED ERRATA QA Contact: desktop-bugs <desktop-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3CC: kem, pknirsch, tao, vbenes
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: kdebase-3.5.4-24.el5 Doc Type: Bug Fix
Doc Text:
Due to incorrect handling of transient groups, closing a dialog box of a Java application could cause the KWin window manager to terminate unexpectedly. This update applies an upstream patch that corrects this error, and KWin no longer crashes when a Java dialog box is closed.
Story Points: ---
Clone Of: 210713 Environment:
Last Closed: 2011-05-11 07:30:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Proposed patch (from upstream SVN rev. 613275) none

Description Olivier Fourdan 2009-05-19 12:41:45 UTC
Created attachment 344610 [details]
Proposed patch (from upstream SVN rev. 613275)

+++ This bug was initially created as a clone of Bug #210713 +++

The bug is also present in kdebase/kwin for EL5

Description of problem:

kwin crashes with Java applications when updating transients groups.

Version-Release number of selected component (if applicable):

kdebase-3.5.4-19

How reproducible:

Use reproducer

Steps to Reproduce:
1. install SUN java 1.5
2. Build the reproducer from BZ#210713
   javac DialogTest.java
3. run the reproducer
   java DialogTest
3. click on "create dialog" to create a dialog then "New dialog" to create a dozen of dialogs, then close them using the button "close dialog" on each one
4. If no crash repeat step 3
  
Actual results:

kwin crashes

#6  0x003d398d in KWinInternal::Client::findModal (this=0x9d732f0)
   at /usr/lib/qt-3.3/include/qvaluelist.h:475
#7  0x003d39b0 in KWinInternal::Client::findModal (this=0x9d65700)
   at group.cpp:746
#8  0x003d39b0 in KWinInternal::Client::findModal (this=0x9d6f920)
   at group.cpp:746
#9  0x0040bd55 in KWinInternal::Workspace::takeActivity (this=0x9d007a8,
   c=0x9d6f920, flags=3, handled=false) at activation.cpp:322
#10 0x0040bf5c in KWinInternal::Workspace::requestFocus (this=0x9d007a8,
   c=0x9d6f920, force=true) at activation.cpp:305
#11 0x0040bb46 in KWinInternal::Workspace::activateClient (this=0x9d007a8,
   c=0x9d6f920, force=true) at activation.cpp:283
#12 0x0040e9ae in KWinInternal::RootInfo::changeActiveWindow (this=0x9cfa138,
   w=6291523, src=FromTool, timestamp=350111738, active_window=0)
   at events.cpp:128
#13 0x00adb85f in NETRootInfo::event () from /usr/lib/libkdecore.so.4
#14 0x00adba63 in NETRootInfo::event () from /usr/lib/libkdecore.so.4
#15 0x003fd9a2 in KWinInternal::Workspace::netCheck (this=0x9d007a8,
   e=0xbf857fa8) at events.cpp:503
#16 0x0041b7dc in KWinInternal::Workspace::workspaceEvent (this=0x9d007a8,
   e=0xbf857fa8) at events.cpp:205
#17 0x0041c04e in KWinInternal::Application::x11EventFilter (this=0xbf858178,
   e=0xbf857fa8) at main.cpp:154
#18 0x026f1724 in ?? () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x02701f53 in QApplication::x11ProcessEvent ()
  from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x0271419b in QEventLoop::processEvents ()
  from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x027854a0 in QEventLoop::enterLoop ()
  from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x02785356 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x0276ba8f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x0041da53 in kdemain (argc=1, argv=0xbf858354) at main.cpp:282
#25 0x080484a2 in main (argc=) at kwin.la.cpp:2

Expected results:

No crash

Additional info:

This is bug #117677, attaching patch from upstream.

    http://websvn.kde.org/?view=rev&revision=613275

There are also other fixes that might be of interest, but not directly linked to that bug:

rev. 613270 => Don't move a group transient with a group set to another group
rev. 613846 => Fix for upstream bug #138834 - Not directly related but we can mention it in the bug
rev. 748513 => Fix for upstream bug #153360 - A circular transient relationship causes kwin to crash

Comment 12 RHEL Program Management 2009-11-06 18:48:51 UTC
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".

Comment 14 RHEL Program Management 2010-08-09 18:33:35 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated in the
current release, Red Hat is unfortunately unable to address this
request at this time. Red Hat invites you to ask your support
representative to propose this request, if appropriate and relevant,
in the next release of Red Hat Enterprise Linux.

Comment 16 RHEL Program Management 2011-01-11 20:58:28 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated in the
current release, Red Hat is unfortunately unable to address this
request at this time. Red Hat invites you to ask your support
representative to propose this request, if appropriate and relevant,
in the next release of Red Hat Enterprise Linux.

Comment 17 RHEL Program Management 2011-01-11 22:41:00 UTC
This request was erroneously denied for the current release of
Red Hat Enterprise Linux.  The error has been fixed and this
request has been re-proposed for the current release.

Comment 20 Jaromir Hradilek 2011-03-30 13:48:40 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Due to incorrect handling of transient groups, closing a dialog box of a Java application could cause the KWin window manager to terminate unexpectedly. This update applies an upstream patch that corrects this error, and KWin no longer crashes when a Java dialog box is closed.

Comment 22 errata-xmlrpc 2011-05-11 07:30:59 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0501.html