Summary: | KWindowSystem::setMainWindow kills new parent on deletion with Qt 5.9 | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kwindowsystem | Reporter: | Fabian Vogt <fabian> |
Component: | general | Assignee: | Martin Flöser <mgraesslin> |
Status: | RESOLVED UPSTREAM | ||
Severity: | critical | CC: | arojas, elvis.angelaccio, felixonmars, heiko.becker, jjm, kde, kdelibs-bugs |
Priority: | NOR | ||
Version: | 5.34.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: | https://bugreports.qt.io/browse/QTBUG-61140 | ||
Latest Commit: | Version Fixed In: |
Description
Fabian Vogt
2017-05-31 13:05:11 UTC
If you're reporting a crash, upload a backtrace.
>X11 BadWindow errors.
That warning wouldn't (or shouldn't) cause a crash. I doubt it's related.
(In reply to David Edmundson from comment #1) > If you're reporting a crash, upload a backtrace. > > >X11 BadWindow errors. > > That warning wouldn't (or shouldn't) cause a crash. I doubt it's related. The firefox crash is a result of GDK giving up and trying to make a coredump. Sometimes it shows a helpful message though: Gdk-WARNING **: GdkWindow 0x3400010 unexpectedly destroyed eang hit a very likely related issue: The akonadi agent configuration dialogs in kmail cause the parent window to get hidden when closing. It's impossible to show the configuration window again after that. XCB BadWindow messages appear on stderr when it happens. I can reliably reproduce this issue as well. Setting as confirmed due to this. Curiously, kdialog --attach is not affected, at least not reliably. lucab reported some crashes, but can't reproduce them. I guess that the destruction of windows in kdialog happens in a different order. Same happens here with Qt 5.9 and the KIO cookie dialogue (with cookie option set to "Ask for confirmation"). Starting Konqueror and going to a website which will set a cookie opens the main window, then the cookie dialogue on top of it, then closes the main window when a button is pressed and the cookie dialogue closes. The Konqueror process continues running, as shown by the HTTP fetching and rendering continuing, but the window is hidden. There are usually about 6-8 "BadWindow" message shown, but no crash. Just did some tests with gdb and a breakpoint on xcb_destroy_window. The result is that Qt 5.9 actually calls it for foreign windows (also for kdialog, but for some reason tha shows less ill effects) while Qt 5.7 (likely 5.8 as well) does not. I'll try to produce a minimal testcase as likely expected by upstream Qt, report it and link it here. *** Bug 379624 has been marked as a duplicate of this bug. *** Bug has been accepted upstream, and a patch has been merged to 5.9 branch, see https://codereview.qt-project.org/#/c/196296/ |