Run e.g Gwenview->Plugins->Batch Processing->Resize Images. It crashes immediately if run with Oxygen widget style (doesn't crash otherwise). The ASSERT line is: ASSERT failure in QVector<T>::at: "index out of range", file ../../include/QtCore/../../../../../sources/kde-trunk/qt-copy/src/corelib/tools/qvector.h, line 338 Here is the backtrace, indicating the crash comes from Oxygen: Application: Gwenview (gwenview), signal: Aborted [Current thread is 1 (Thread 0x7f23611617f0 (LWP 25988))] Thread 2 (Thread 0x7f2350619910 (LWP 25989)): #0 0x00007f235fd65049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f23600144c1 in QWaitConditionPrivate::wait (this=0x80f610, time=18446744073709551615) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:87 #2 0x00007f2360014269 in QWaitCondition::wait (this=0x80f360, mutex=0x80f358, time=18446744073709551615) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/thread/qwaitcondition_unix.cpp:159 #3 0x00007f2360ab00cc in Gwenview::SemanticInfoThread::run (this=0x80f340) at /home/andris/development/sources/kde-trunk/kdegraphics/gwenview/lib/semanticinfo/nepomuksemanticinfobackend.cpp:132 #4 0x00007f2360012ec9 in QThreadPrivate::start (arg=0x80f340) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/thread/qthread_unix.cpp:244 #5 0x00007f235fd6065d in start_thread () from /lib64/libpthread.so.0 #6 0x00007f235c76d14d in clone () from /lib64/libc.so.6 #7 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f23611617f0 (LWP 25988)): [KCrash Handler] #5 0x00007f235c6ce4e5 in raise () from /lib64/libc.so.6 #6 0x00007f235c6cf9b0 in abort () from /lib64/libc.so.6 #7 0x00007f2360006c81 in qt_message_output (msgType=QtFatalMsg, buf=0x11dd9c8 "ASSERT failure in QVector<T>::at: \"index out of range\", file ../../include/QtCore/../../../../../sources/kde-trunk/qt-copy/src/corelib/tools/qvector.h, line 338") at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/global/qglobal.cpp:2226 #8 0x00007f2360006e60 in qt_message (msgType=QtFatalMsg, msg=0x7f23601c7190 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fff98f8b120) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/global/qglobal.cpp:2272 #9 0x00007f23600076cd in qFatal (msg=0x7f23601c7190 "ASSERT failure in %s: \"%s\", file %s, line %d") at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/global/qglobal.cpp:2455 #10 0x00007f2360006853 in qt_assert_x (where=0x7f235dc44979 "QVector<T>::at", what=0x7f235dc448e8 "index out of range", file=0x7f235dc44908 "../../include/QtCore/../../../../../sources/kde-trunk/qt-copy/src/corelib/tools/qvector.h", line=338) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/global/qglobal.cpp:1997 #11 0x00007f235d3abcef in QVector<QLayoutStruct>::at (this=0x116ac08, i=1) at ../../include/QtCore/../../../../../sources/kde-trunk/qt-copy/src/corelib/tools/qvector.h:338 #12 0x00007f235d3c8c57 in QGridLayoutPrivate::distribute (this=0x116ab30, r=..., hSpacing=-1, vSpacing=-1) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qgridlayout.cpp:947 #13 0x00007f235d3ca6fb in QGridLayout::setGeometry (this=0x1166470, rect=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qgridlayout.cpp:1455 #14 0x00007f235d3d4132 in QLayoutPrivate::doResize (this=0x116ab30, r=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qlayout.cpp:681 #15 0x00007f235d3d6371 in QLayout::activate (this=0x1166470) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qlayout.cpp:1259 #16 0x00007f235d3d4238 in QLayout::widgetEvent (this=0x1166470, e=0x7fff98f8bcc0) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qlayout.cpp:707 #17 0x00007f235d39b3c8 in QApplicationPrivate::notify_helper (this=0x69e0f0, receiver=0x1165520, e=0x7fff98f8bcc0) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qapplication.cpp:4244 #18 0x00007f235d39b25a in QApplication::notify (this=0x7fff98f8d1f0, receiver=0x1165520, e=0x7fff98f8bcc0) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qapplication.cpp:4218 #19 0x00007f235ee0c89b in KApplication::notify (this=0x7fff98f8d1f0, receiver=0x1165520, event=0x7fff98f8bcc0) at /home/andris/development/sources/kde-trunk/kdelibs/kdeui/kernel/kapplication.cpp:302 #20 0x00007f236013d3a8 in QCoreApplication::notifyInternal (this=0x7fff98f8d1f0, receiver=0x1165520, event=0x7fff98f8bcc0) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qcoreapplication.cpp:704 #21 0x00007f236014132d in QCoreApplication::sendEvent (receiver=0x1165520, event=0x7fff98f8bcc0) at ../../include/QtCore/../../../../../sources/kde-trunk/qt-copy/src/corelib/kernel/qcoreapplication.h:215 #22 0x00007f235d40c660 in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x116a910, recursive=true, disableUpdates=true) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qwidget.cpp:7070 #23 0x00007f235d40c739 in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x1162d90, recursive=true, disableUpdates=true) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qwidget.cpp:7082 #24 0x00007f235d40c739 in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x115d840, recursive=true, disableUpdates=true) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qwidget.cpp:7082 #25 0x00007f235d40c739 in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x855880, recursive=true, disableUpdates=true) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qwidget.cpp:7082 #26 0x00007f235d405d31 in QWidgetPrivate::prepareToRender (this=0x855880, region=..., renderFlags=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qwidget.cpp:5149 #27 0x00007f235d404bdb in QWidget::render (this=0x10c01e0, target=0x7fff98f8c1e0, targetOffset=..., sourceRegion=..., renderFlags=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qwidget.cpp:4853 #28 0x00007f235d4c4579 in QPixmap::grabWidget (widget=0x10c01e0, rect=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/image/qpixmap.cpp:1090 #29 0x00007f235515a63f in Oxygen::TransitionWidget::grab (this=0xa9f260, widget=0x10c01e0, rect=...) at /home/andris/development/sources/kde-trunk/kdebase/runtime/kstyles/oxygen/transitions/oxygentransitionwidget.cpp:86 #30 0x00007f235515523c in Oxygen::LineEditData::timerEvent (this=0x10f6f50, event=0x7fff98f8cd20) at /home/andris/development/sources/kde-trunk/kdebase/runtime/kstyles/oxygen/transitions/oxygenlineeditdata.cpp:81 #31 0x00007f2360156fdf in QObject::event (this=0x10f6f50, e=0x7fff98f8cd20) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qobject.cpp:1215 #32 0x00007f235d39b408 in QApplicationPrivate::notify_helper (this=0x69e0f0, receiver=0x10f6f50, e=0x7fff98f8cd20) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qapplication.cpp:4253 #33 0x00007f235d398936 in QApplication::notify (this=0x7fff98f8d1f0, receiver=0x10f6f50, e=0x7fff98f8cd20) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qapplication.cpp:3663 #34 0x00007f235ee0c89b in KApplication::notify (this=0x7fff98f8d1f0, receiver=0x10f6f50, event=0x7fff98f8cd20) at /home/andris/development/sources/kde-trunk/kdelibs/kdeui/kernel/kapplication.cpp:302 #35 0x00007f236013d3a8 in QCoreApplication::notifyInternal (this=0x7fff98f8d1f0, receiver=0x10f6f50, event=0x7fff98f8cd20) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qcoreapplication.cpp:704 #36 0x00007f236014132d in QCoreApplication::sendEvent (receiver=0x10f6f50, event=0x7fff98f8cd20) at ../../include/QtCore/../../../../../sources/kde-trunk/qt-copy/src/corelib/kernel/qcoreapplication.h:215 #37 0x00007f236017d981 in QTimerInfoList::activateTimers (this=0x69f150) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:603 #38 0x00007f236017ea4d in QEventDispatcherUNIX::activateTimers (this=0x6862c0) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:862 #39 0x00007f236017ed6d in QEventDispatcherUNIX::processEvents (this=0x6862c0, flags=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:924 #40 0x00007f235d4828fe in QEventDispatcherX11::processEvents (this=0x6862c0, flags=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qeventdispatcher_x11.cpp:152 #41 0x00007f236013a3a0 in QEventLoop::processEvents (this=0x7fff98f8d130, flags=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qeventloop.cpp:149 #42 0x00007f236013a4f6 in QEventLoop::exec (this=0x7fff98f8d130, flags=...) at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qeventloop.cpp:201 #43 0x00007f236013daaa in QCoreApplication::exec () at /home/andris/development/sources/kde-trunk/qt-copy/src/corelib/kernel/qcoreapplication.cpp:981 #44 0x00007f235d3984d4 in QApplication::exec () at /home/andris/development/sources/kde-trunk/qt-copy/src/gui/kernel/qapplication.cpp:3572 #45 0x0000000000443db0 in main (argc=<value optimized out>, argv=<value optimized out>) at /home/andris/development/sources/kde-trunk/kdegraphics/gwenview/app/main.cpp:95
It is reproducible with today's trunk and Qt 4.6 branch.
mmm. As in bug 216215 this happens in a QWidget::render called by Oxygen on a valid widget ...
Hi. I can reproduce ... I'm pretty much at a loss here though. 1/ other plugins do not create a crash, while pretty much the same window is shown 2/ can you tell me how you infer an infinite loop in QLineEdit painting from the crash report above ? (I'm not arguing, I just don't see it.) Will try to look a bit inside Qt (since from the debug output I put inside oxygen I did not find anything suspicious).
oops sorry for the comment on not infinite loop in comment #3. This was actually referring to bug #21845.
This still happens (trunk, qt 4.6.1). :(
Hi, Still can't reproduce here. With kde either from trunk or using kde4.4.0 :-( Therefore hard to debug :-( Still looking.
Hi, Still can't reproduce here. With kde either from trunk or using kde4.4.0 :-( Therefore hard to debug :-( Still looking. In the meanwhile, as a temporary solution you can manually disable lineEdit animations by adding: LineEditTransitionsEnabled=false in ~/.kde4/share/config/oxygenrc (or ~/.kde/share/config/oxygenrc) Will keep you posted if I find something suspicious. under the [style] section.
Sorry. I meant: "By adding: LineEditTransitionsEnabled=false in ~/.kde4/share/config/oxygenrc (or ~/.kde/share/config/oxygenrc) under the [Style] section. (uppercase S)"
SVN commit 1090822 by hpereiradacosta: Remove "GrabFromWindow" flag, cause unnecessary, and might cause crash (notably in KIPI plugin). CCBUG: 218417 M +2 -1 oxygenlineeditdata.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1090822
Hi again. Could you try update after commit from comment #9. Its a bit of a shot in the dark (since I can't reproduce), but might be the reason ... Keep me posted. I'll backport (and close the bug) if this fixes that. Thanks
Nor the patch or the LineEditTransitionsEnabled=false fixes it, but turning off the animations does (with AnimationsEnabled=false or the GUI).
Still there in 4.5.0 ?
Reproducible with trunk. Disabling Text editor transitions (with oxygen-settings) makes it go away.
interesting, comment #13 sort of contradicts comment #11 (about adding LineEditTransitionsEnabled=false ...), since this is pretty much what oxygen-settings do. Well. Might have been a typo when trying to add it manually. Anyway, comment #13 makes sense, based on the crash report (namely line #30 Oxygen::LineEditData::timerEvent)
SVN commit 1173847 by hpereiradacosta: do not grab widget on show/resiwe/move events. This creates artifacts and possibly crashes. Instead, just reset the end pixmap. This will bypass some of the animations but should fix the above. CCBUG: 218417 M +1 -4 oxygenlineeditdata.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1173847
Still crashing ?
I just tested (sorry, for a long time I didn't use Oxygen for performance reasons, I just switched back now) and works fine, no crash.