Summary: | Plasma crashes/freezes when trying to resize the Run Command widget | ||
---|---|---|---|
Product: | [Plasma] plasma4 | Reporter: | Dario Andres <andresbajotierra> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED UPSTREAM | ||
Severity: | crash | CC: | aseigo, emdeck, finex, ilkagrad, notmart, simon |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Dario Andres
2009-09-13 14:56:19 UTC
Updating that widget (playground-plasma) fixed the issue.... \o/ Mh, more weirdness.. It seems to only happen if you use the Move button in the right applet handle. I was testing the left handle and it worked after the update... :\ Strange, back trace doesn't include any line with Run Command classes... Maybe this is something with applet handle etc? Can you check if it could reproduced after removing line "setAspectRatioMode(Plasma::IgnoreAspectRatio);" from applet/RunCommandApplet.cpp? Update 1: Still crashes (without changing the code) on: kdelibs svn rev. 1022896 / kdebase svn rev. 1022896 Update 2: still crashes after commenting out the "setAspectRatioMode(Plasma::IgnoreAspectRatio);" line. I'm going to check this with several other widgets I tested some random widgets (mostly clocks) and they work Ok on both handles... I wonder what is the specific thing with the Run Command widget. Maybe try removing that line: "setPreferredWidth(QWIDGETSIZE_MAX);" That didn't worked. I'm now trying to comment out different parts of the code related to the layouting. BTW, this can also be tested quickly using "plasmoidviewer -c desktop runcommand" Thanks I can't reproduce that using KDE 4.3.0 with Qt 4.5.2 on Mandriva 2010.0 beta. And it shouldn't matter that I'm running unreleased version (will go to SVN tomorrow) because there were no changes in layouting (only results dialog changed). :-) I is really weird as it happens only when resizing using handle located on one side but not when is is placed opposite. :-/ May be it is just a bug in the applet handler Reproduced using current trunk (r1022847) Application: Plasma Workspace (plasma-desktop), signal: Segmentation fault [Current thread is 0 (LWP 14745)] Thread 2 (Thread 0x7fd422849910 (LWP 14746)): #0 0x00007fd43f5cddd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fd43f83d34b in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #2 0x00007fd44332e44c in ?? () from /usr/lib/libQtNetwork.so.4 #3 0x00007fd43f83c285 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007fd43f5c957a in start_thread () from /lib/libpthread.so.0 #5 0x00007fd43eb9514d in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fd444e4a7a0 (LWP 14745)): [KCrash Handler] #5 0x00007fd4400d19cf in ?? () from /usr/lib/libQtGui.so.4 #6 0x00007fd44010b2ee in ?? () from /usr/lib/libQtGui.so.4 #7 0x00007fd4401056c9 in QBezier::addToPolygon () from /usr/lib/libQtGui.so.4 #8 0x00007fd440148a38 in QPainterPath::toSubpathPolygons () from /usr/lib/libQtGui.so.4 #9 0x00007fd440149d7b in QPainterPath::toFillPolygons () from /usr/lib/libQtGui.so.4 #10 0x00007fd44014aaf2 in QPainterPath::toFillPolygons () from /usr/lib/libQtGui.so.4 #11 0x00007fd4401d89fa in ?? () from /usr/lib/libQtGui.so.4 #12 0x00007fd4401d93eb in ?? () from /usr/lib/libQtGui.so.4 #13 0x00007fd4401d9884 in ?? () from /usr/lib/libQtGui.so.4 #14 0x00007fd44013e6ec in QPainter::drawPolyline () from /usr/lib/libQtGui.so.4 #15 0x00007fd435b0f05d in OxygenStyle::drawKStylePrimitive (this=<value optimized out>, widgetType=<value optimized out>, primitive=65540, opt=<value optimized out>, r=<value optimized out>, pal=<value optimized out>, flags={i = 131073}, p=0x7fff2b84d460, widget=0x2d65c00, kOpt=0x0) at /usr/include/QtGui/qpainter.h:574 #16 0x00007fd442c6e901 in KStyle::drawPrimitive (this=0x1bf2880, elem=QStyle::PE_IndicatorArrowDown, option=0x7fff2b84cf20, painter=<value optimized out>, widget=0x2d65c00) at /home/test/KDE4/src/kdelibs/kdeui/kernel/kstyle.cpp:989 #17 0x00007fd4440eb420 in Plasma::Style::drawComplexControl (this=0x1ed4be0, control=<value optimized out>, option=<value optimized out>, painter=0x7fff2b84d460, widget=0x2d65c00) at /home/test/KDE4/src/kdelibs/plasma/private/style.cpp:260 #18 0x00007fd44039f008 in QComboBox::paintEvent () from /usr/lib/libQtGui.so.4 #19 0x00007fd440073e60 in QWidget::event () from /usr/lib/libQtGui.so.4 #20 0x00007fd44002569c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #21 0x00007fd44002c96e in QApplication::notify () from /usr/lib/libQtGui.so.4 #22 0x00007fd442c57806 in KApplication::notify (this=0x1b5b3a0, receiver=0x2d65c00, event=0x7fff2b84da50) at /home/test/KDE4/src/kdelibs/kdeui/kernel/kapplication.cpp:302 #23 0x00007fd43f921cec in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #24 0x00007fd44007b253 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4 #25 0x00007fd44007bbff in QWidget::render () from /usr/lib/libQtGui.so.4 #26 0x00007fd44007c97e in QWidget::render () from /usr/lib/libQtGui.so.4 #27 0x00007fd4406059dd in QGraphicsProxyWidget::paint () from /usr/lib/libQtGui.so.4 #28 0x00007fd444122251 in Plasma::ComboBox::paint (this=0x2d704e0, painter=0x7fff2b84f340, option=0x2343d50, widget=0x23210a0) at /home/test/KDE4/src/kdelibs/plasma/widgets/combobox.cpp:198 #29 0x00007fd4405c6ed5 in ?? () from /usr/lib/libQtGui.so.4 #30 0x00007fd4405d949c in ?? () from /usr/lib/libQtGui.so.4 #31 0x00007fd4405db72c in QGraphicsScene::drawItems () from /usr/lib/libQtGui.so.4 #32 0x00007fd4405ecc5e in QGraphicsView::paintEvent () from /usr/lib/libQtGui.so.4 #33 0x00007fd440073e60 in QWidget::event () from /usr/lib/libQtGui.so.4 #34 0x00007fd4403cd2a6 in QFrame::event () from /usr/lib/libQtGui.so.4 #35 0x00007fd4405ea9cb in QGraphicsView::viewportEvent () from /usr/lib/libQtGui.so.4 #36 0x00007fd43f921007 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib/libQtCore.so.4 #37 0x00007fd44002566c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #38 0x00007fd44002c96e in QApplication::notify () from /usr/lib/libQtGui.so.4 #39 0x00007fd442c57806 in KApplication::notify (this=0x1b5b3a0, receiver=0x23210a0, event=0x7fff2b84fa60) at /home/test/KDE4/src/kdelibs/kdeui/kernel/kapplication.cpp:302 #40 0x00007fd43f921cec in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #41 0x00007fd44007b253 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4 #42 0x00007fd4401eb34e in ?? () from /usr/lib/libQtGui.so.4 #43 0x00007fd44006d690 in QWidgetPrivate::syncBackingStore () from /usr/lib/libQtGui.so.4 #44 0x00007fd440073c78 in QWidget::event () from /usr/lib/libQtGui.so.4 #45 0x00007fd4403cd2a6 in QFrame::event () from /usr/lib/libQtGui.so.4 #46 0x00007fd44045ca99 in QAbstractScrollArea::event () from /usr/lib/libQtGui.so.4 #47 0x00007fd44002569c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #48 0x00007fd44002c96e in QApplication::notify () from /usr/lib/libQtGui.so.4 #49 0x00007fd442c57806 in KApplication::notify (this=0x1b5b3a0, receiver=0x23220d0, event=0x1b7b1f0) at /home/test/KDE4/src/kdelibs/kdeui/kernel/kapplication.cpp:302 #50 0x00007fd43f921cec in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #51 0x00007fd43f9228ca in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4 #52 0x00007fd43f94a543 in ?? () from /usr/lib/libQtCore.so.4 #53 0x00007fd43ac44dbe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #54 0x00007fd43ac48568 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #55 0x00007fd43ac48690 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #56 0x00007fd43f94a1b6 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #57 0x00007fd4400b864e in ?? () from /usr/lib/libQtGui.so.4 #58 0x00007fd43f9205f2 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #59 0x00007fd43f9209c4 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #60 0x00007fd43f922b79 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #61 0x00007fd444b1225d in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /home/test/KDE4/src/kdebase/workspace/plasma/shells/desktop/main.cpp:112 #62 0x00007fd43eae89ed in __libc_start_main () from /lib/libc.so.6 #63 0x0000000000400829 in _start () Second back trace gives me one idea, maybe this something connected with hack to use Plasma theming for KHistoryComboBox. Can someone check if it still can be reproduced after removing line: "comboBox->setWidget(m_comboBox);" I have tried it before and it didn't worked. Anyways, I'm going to re-check all later (when I come back and get some time). Thanks *** Bug 210292 has been marked as a duplicate of this bug. *** Just checked now using: Qt: 4.6.0 (Qt git branch 4.6 commit 52aef13521af2137db15ee878893f5c5150471e5 Date: Mon Oct 12 14:18:51 2009 +1000) KDE: 4.3.74 (KDE 4.3.74 (KDE 4.4 >= 20091102)) kdelibs svn rev. 1047120 / kdebase svn rev. 1047120 on ArchLinux i686 - Kernel 2.6.31.5 Now it doesn't crash but freeze, with a related backtrace: --- 0xb59f61b0 in QBezier::split (this=0xbfa48328, firstHalf=0xbfa48368, secondHalf=0xbfa48328) at painting/qbezier_p.h:249 249 firstHalf->y3 = (firstHalf->y2 + c)*.5; (gdb) bt #0 0xb59f61b0 in QBezier::split (this=0xbfa48328, firstHalf=0xbfa48368, secondHalf=0xbfa48328) at painting/qbezier_p.h:249 #1 0xb59f061f in QBezier::addToPolygon (this=0xbfa48468, polygon=0xbfa484a8) at painting/qbezier.cpp:228 #2 0xb5a5987f in QPainterPath::toSubpathPolygons (this=0xbfa4975c, matrix=...) at painting/qpainterpath.cpp:1499 #3 0xb5a599e5 in QPainterPath::toFillPolygons (this=0xbfa4975c, matrix=...) at painting/qpainterpath.cpp:1550 #4 0xb5a59f6b in QPainterPath::toFillPolygons (this=0xbfa4975c, matrix=...) at painting/qpainterpath.cpp:1645 #5 0xb5b0d49b in QX11PaintEnginePrivate::fillPath (this=0x8ad95a0, path=..., gc_mode=QX11PaintEnginePrivate::PenGC, transform=true) at painting/qpaintengine_x11.cpp:1742 #6 0xb5b0dd3f in QX11PaintEngine::drawPath (this=0x8acb0a0, path=...) at painting/qpaintengine_x11.cpp:1805 #7 0xb5b0d1a3 in QX11PaintEngine::drawPolygon (this=0x8acb0a0, polygonPoints=0x8e1cb30, pointCount=3, mode=QPaintEngine::PolylineMode) at painting/qpaintengine_x11.cpp:1712 #8 0xb5a48caa in QPainter::drawPolyline (this=0xbfa4a7a4, points=0x8e1cb30, pointCount=3) at painting/qpainter.cpp:4730 #9 0xb2e91f31 in QPainter::drawPolyline (this=0x81226d8, widgetType=KStyle::WT_Generic, primitive=65540, opt=0xbfa4a3b8, r=..., pal=..., flags=..., p=0xbfa4a7a4, widget=0x8f898c0, kOpt=0x0) at /home/kde-devel/kde/src/qt/include/QtGui/../../src/gui/painting/qpainter.h:581 #10 OxygenStyle::drawGenericPrimitive (this=0x81226d8, widgetType=KStyle::WT_Generic, primitive=65540, opt=0xbfa4a3b8, r=..., pal=..., flags=..., p=0xbfa4a7a4, widget=0x8f898c0, kOpt=0x0) at /home/kde-devel/kde/src/KDE/kdebase/runtime/kstyles/oxygen/oxygen.cpp:2830 #11 0xb2e86d87 in OxygenStyle::drawKStylePrimitive (this=0x81226d8, widgetType=KStyle::WT_Generic, primitive=65540, opt=0xbfa4a3b8, r=..., palette=..., flags=..., p=0xbfa4a7a4, widget=0x8f898c0, kOpt=0x0) at /home/kde-devel/kde/src/KDE/kdebase/runtime/kstyles/oxygen/oxygen.cpp:572 #12 0xb6a56f55 in KStyle::drawPrimitive (this=0x81226d8, elem=QStyle::PE_IndicatorArrowDown, option=0xbfa4a3b8, painter=0xbfa4a7a4, widget=0x8f898c0) at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kstyle.cpp:989 #13 0xb2e8733e in OxygenStyle::drawPrimitive (this=0x81226d8, element=QStyle::PE_IndicatorArrowDown, option=0xbfa4a3b8, p=0xbfa4a7a4, widget=0x8f898c0) at /home/kde-devel/kde/src/KDE/kdebase/runtime/kstyles/oxygen/oxygen.cpp:369 none of this has to do with plasma. it's probably a real bug, but it's somewhere in Qt (or perhaps in the Oxygen style, but it looks less likely given the backtraces) *** Bug 229209 has been marked as a duplicate of this bug. *** |