qemu tries to create a big window or something: 2046 QT_THROW(std::bad_alloc()); (gdb) where #0 qBadAlloc () at global/qglobal.cpp:2046 #1 0x00007ffff0d3e6bd in QX11PixmapData::toImage (this=0x1f1c400, rect=...) at image/qpixmap_x11.cpp:1555 #2 0x00007ffff0d38d1a in QX11PixmapData::toImage (this=<optimized out>) at image/qpixmap_x11.cpp:1584 #3 0x00007ffff0d263d8 in QPixmap::toImage (this=0x22340a8) at image/qpixmap.cpp:521 #4 0x00007ffff642b16b in KImageCache::insertPixmap(QString const&, QPixmap const&) () from /usr/lib64/libkdeui.so.5 #5 0x00007ffff5e3c58f in ?? () from /usr/lib64/libplasma.so.3 #6 0x00007ffff5e43b59 in ?? () from /usr/lib64/libplasma.so.3 #7 0x00007ffff1af31fa in QMetaObject::activate (sender=0xaa7370, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3576 #8 0x00007ffff1af73b1 in QObject::event (this=0xaa7370, e=<optimized out>) at kernel/qobject.cpp:1193 #9 0x00007ffff0c5b76c in QApplicationPrivate::notify_helper (this=this@entry=0x6963b0, receiver=receiver@entry=0xaa7370, e=e@entry=0x7fffffffdff0) at kernel/qapplication.cpp:4565 #10 0x00007ffff0c61cad in QApplication::notify (this=0x7fffffffe4c0, receiver=0xaa7370, e=0x7fffffffdff0) at kernel/qapplication.cpp:4351 #11 0x00007ffff63cbc3a in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5 #12 0x00007ffff1adf2ad in QCoreApplication::notifyInternal (this=0x7fffffffe4c0, receiver=0xaa7370, event=0x7fffffffdff0) at kernel/qcoreapplication.cpp:953 #13 0x00007ffff1b0ec8c in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:231 #14 QTimerInfoList::activateTimers (this=0x696e78) at kernel/qeventdispatcher_unix.cpp:636 #15 0x00007ffff1b0f350 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x605410) at kernel/qeventdispatcher_unix.cpp:893 #16 0x00007ffff1b0fce8 in QEventDispatcherUNIX::processEvents (this=this@entry=0x605410, flags=...) at kernel/qeventdispatcher_unix.cpp:963 #17 0x00007ffff0cf8f96 in QEventDispatcherX11::processEvents (this=0x605410, flags=...) at kernel/qeventdispatcher_x11.cpp:152 #18 0x00007ffff1adde6f in QEventLoop::processEvents (this=this@entry=0x7fffffffe330, flags=...) at kernel/qeventloop.cpp:149 #19 0x00007ffff1ade165 in QEventLoop::exec (this=this@entry=0x7fffffffe330, flags=...) at kernel/qeventloop.cpp:204 #20 0x00007ffff1ae35b9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225 #21 0x00007ffff0c59f3c in QApplication::exec () at kernel/qapplication.cpp:3823 #22 0x00007ffff7ab87a3 in kdemain (argc=2, argv=0x7fffffffe608) at /usr/src/debug/kde-workspace-4.11.12/kwin/main.cpp:597 #23 0x00007ffff76b3b05 in __libc_start_main (main=0x400730 <main(int, char**)>, argc=2, argv=0x7fffffffe608, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe5f8) at libc-start.c:285 #24 0x000000000040075e in _start () at ../sysdeps/x86_64/start.S:122 (gdb) up #1 0x00007ffff0d3e6bd in QX11PixmapData::toImage (this=0x1f1c400, rect=...) at image/qpixmap_x11.cpp:1555 1555 Q_CHECK_PTR(xiWrapper.xi); (gdb) l 1550 { 1551 QXImageWrapper xiWrapper; 1552 xiWrapper.xi = XGetImage(X11->display, hd, rect.x(), rect.y(), rect.width(), rect.height(), 1553 AllPlanes, (depth() == 1) ? XYPixmap : ZPixmap); 1554 1555 Q_CHECK_PTR(xiWrapper.xi); 1556 if (!xiWrapper.xi) 1557 return QImage(); 1558 1559 if (!x11_mask && canTakeQImageFromXImage(xiWrapper)) (gdb) p rect $1 = (const QRect &) @0x7fffffffd950: {x1 = 0, y1 = 0, x2 = 797, y2 = 33196} Is this qt or kde bug?
Packages on my system: kdebase4-artwork-4.14.1-1.2.noarch kdebase4-libkonq-4.14.1-1.2.x86_64 kdebase4-openSUSE-13.2-6.7.x86_64 kdebase4-runtime-4.14.1-1.2.x86_64 kdebase4-runtime-branding-openSUSE-13.2-6.7.x86_64 kdebase4-session-4.12-4.1.noarch kdebase4-wallpapers-4.14.1-1.2.noarch kdebase4-workspace-4.11.12-1.2.x86_64 kdebase4-workspace-addons-4.11.12-1.2.x86_64 kdebase4-workspace-branding-openSUSE-13.2-6.7.x86_64 kdebase4-workspace-debugsource-4.11.12-1.2.x86_64 kdebase4-workspace-ksysguardd-4.11.12-1.2.x86_64 kdebase4-workspace-liboxygenstyle-4.11.12-1.2.x86_64 kdebase4-workspace-libs-4.11.12-1.2.x86_64 kdebase4-workspace-plasma-calendar-4.11.12-1.2.x86_64 kde-gtk-config-2.2.1-5.1.x86_64 kde-gtk-config-lang-2.2.1-5.1.noarch kdelibs3-3.5.10-84.1.x86_64 kdelibs3-default-style-3.5.10-84.1.x86_64 kdelibs4-4.14.1-1.2.x86_64 kdelibs4-branding-openSUSE-13.2-6.15.noarch kdelibs4-core-4.14.1-1.2.x86_64 kdenlive-0.9.8-14.2.x86_64 kdepimlibs4-4.14.1-1.2.x86_64 kdepim4-runtime-4.14.1-1.2.x86_64 kde-susetranslations-12.1-21.1.noarch kde4-filesystem-4.14-3.1.x86_64 kde4-kgreeter-plugins-4.11.12-1.2.x86_64 kde4-l10n-cs-4.14.0-3.2.noarch kde4-l10n-en_GB-data-4.14.0-3.2.noarch kde4-l10n-en_GB-doc-4.14.0-3.2.noarch libkdecore4-4.14.1-1.2.x86_64 libkdecore4-debuginfo-4.14.1-1.2.x86_64 libkdepimlibs4-4.14.1-1.2.x86_64 libkde4-4.14.1-1.2.x86_64 liblockdev1-1.0.3_git201003141408-29.1.x86_64 liblockdev1-32bit-1.0.3_git201003141408-29.1.x86_64 libqtweetlib1_0-0.5-10.1.x86_64 libqt4-4.8.6-7.2.x86_64 libqt4-debuginfo-4.8.6-7.2.x86_64 libqt4-debugsource-4.8.6-7.2.x86_64 libqt4-linguist-4.8.6-7.2.x86_64 libqt4-qt3support-4.8.6-7.2.x86_64 libqt4-sql-4.8.6-7.2.x86_64 libqt4-sql-mysql-4.8.6-7.2.x86_64 libqt4-sql-sqlite-4.8.6-7.2.x86_64 libqt4-sql-32bit-4.8.6-7.2.x86_64 libqt4-x11-4.8.6-7.2.x86_64 libqt4-x11-debuginfo-4.8.6-7.2.x86_64 libqt4-x11-32bit-4.8.6-7.2.x86_64 libqt4-32bit-4.8.6-7.2.x86_64
The crash is in Qt, so it's a Qt bug.
dammit. https://bugreports.qt-project.org/browse/QTBUG-41857
It's not exactly a bug in Qt either: > $1 = (const QRect &) @0x7fffffffd950: {x1 = 0, y1 = 0, x2 = 797, y2 = 33196} the window causes the allocation of a 100MB image in plasma (aurorae decoration, I assume) alone (plus whatnot is required else for such giant window) The "bug" is in QEmu for creating a window of that size (causing this ressource allocation) for probably no actual reason. ==> You should be able to work around that with a Window rule. 1st, create a blind window rule ("kcmshell4 kwinrules", simply skip any detection) to force the maximum window size to something reasonable (ie. eg. not much beyond your screen resolution) - you'll get a warning for creating a blind rule, but that's ok. 2nd, open that particular client 3rd, add a more finegrained ("special window rule") to force down the maximum size of the particular client 4th, remove the blind rule. 5th, profit ;-)
vte package update causes this. The monitor should not be that huge, of course. Anyway, why is there Q_CHECK_PTR(xiWrapper.xi)? The NULL is handled fine the line below, so it makes sense to remove the CHECK for me. What do you think?
Q_CHECK_PTR only aborts in builds w/o the QT_NO_EXCEPTIONS flag. Otherwise it yells a warning in builds w/o QT_NO_DEBUG set and otherwise does nothing. The following nullptr handling is required. I'm actually a bit surprised that KWin is build w/ exceptions enabled - Qt isn't exception safe and afair we don't make use of it either. Downstream thing?
PS: this btw. somehow implies you're using the native graphicssystem along the Aurorae decoration? Raster don't - raster should work better. (QML/QGraphicsScene doesn't like the native graphicssystem)
(In reply to Thomas Lübking from comment #6) > Downstream thing? Perhaps, what should I report exactly, since I am confused by the lines you wrote. I.e. what flag where should suse turn off/on? (In reply to Thomas Lübking from comment #7) > PS: this btw. somehow implies you're using the native graphicssystem along > the Aurorae decoration? > Raster don't - raster should work better. (QML/QGraphicsScene doesn't like > the native graphicssystem) What do I know :)? How can I check and fix?
(In reply to Jiri Slaby from comment #8) > Perhaps, what should I report exactly, since I am confused by the lines you > wrote. I.e. what flag where should suse turn off/on? It's not necessarily a bug, but you can ask "Does SuSE actually undefine QT_NO_EXCEPTIONS for KWin builds and if so: why?" > What do I know :)? How can I check and fix? run: "kcmshell4 kwincompositing" and in the 3rd tab ("Advanced") set the graphicssystem to "raster" (KWin will restart on applying the setting, that's normal - graphicssystem cannot be changed online)
Thank you for reporting this bug and helping us to make KDE software better. Unfortunately by now the version is no longer supported and the code changed a lot with KWin 5 and the underlying libraries like Qt 5. The code paths we see in the backtrace are not present at all in the current version.