Bug 227765

Summary: Konqueror segfault on www.gimpusers.com
Product: [Applications] konqueror Reporter: Sébastien LOSS <sebastien.loss>
Component: khtmlAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, fredrik, sebastien.loss
Priority: NOR    
Version: 4.4.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Sébastien LOSS 2010-02-20 02:01:38 UTC
Version:            (using KDE 4.4.0)
OS:                Linux
Installed from:    Ubuntu Packages

easy to reproduce : go to http://www.gimpusers.com/news/2009-09-19/single-window-mode-gimp-2-8-confirmed.html

scroll down some lines and crash .
Comment 1 Sébastien LOSS 2010-02-20 02:05:59 UTC
(In reply to comment #0)
> Version:            (using KDE 4.4.0)
> OS:                Linux
> Installed from:    Ubuntu Packages
> 
> easy to reproduce : go to
> http://www.gimpusers.com/news/2009-09-19/single-window-mode-gimp-2-8-confirmed.html
> 
> scroll down some lines and crash .

Oups sorry ! The crash append on this url http://www.gimpusers.com/tutorials/creepy-zombie-hand-of-death.html.

here the bug report:

Application: Konqueror (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fdf084eb800 (LWP 6282))]

Thread 6 (Thread 0x7fdeebfff710 (LWP 6334)):
#0  0x00007fdf054e2bc3 in poll () from /lib/libc.so.6
#1  0x00007fdf01ca6b39 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fdf01ca6f0c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fdf06ae6196 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007fdf06abb582 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007fdf06abb95c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fdf069c5d39 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007fdf06a9bdc8 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007fdf069c8755 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007fdf06738b14 in start_thread () from /lib/libpthread.so.0
#10 0x00007fdf054ef07d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fdee666e710 (LWP 7935)):
#0  0x00007fdf0673da39 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fdf069c9672 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fdf069bea29 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007fdf069c8755 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fdf06738b14 in start_thread () from /lib/libpthread.so.0
#5  0x00007fdf054ef07d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fdee5d65710 (LWP 7942)):
#0  0x00007fdf0673da39 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fdf069c9672 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fdf069bea29 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007fdf069c8755 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fdf06738b14 in start_thread () from /lib/libpthread.so.0
#5  0x00007fdf054ef07d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fdee734b710 (LWP 7944)):
#0  0x00007fdf0673da39 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fdf069c9672 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fdf069bea29 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007fdf069c8755 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fdf06738b14 in start_thread () from /lib/libpthread.so.0
#5  0x00007fdf054ef07d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fdee5463710 (LWP 7947)):
#0  0x00007fdf0673da39 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fdf069c9672 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fdf069bea29 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007fdf069c8755 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fdf06738b14 in start_thread () from /lib/libpthread.so.0
#5  0x00007fdf054ef07d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fdf084eb800 (LWP 6282)):
[KCrash Handler]
#5  0x00007fdeeae941eb in ?? () from /usr/lib/libkhtml.so.5
#6  0x00007fdeeadd8e41 in ?? () from /usr/lib/libkhtml.so.5
#7  0x00007fdeeadd9f55 in ?? () from /usr/lib/libkhtml.so.5
#8  0x00007fdeeade25b4 in ?? () from /usr/lib/libkhtml.so.5
#9  0x00007fdeeadc1696 in ?? () from /usr/lib/libkhtml.so.5
#10 0x00007fdeeadc1709 in ?? () from /usr/lib/libkhtml.so.5
#11 0x00007fdeeadc138e in ?? () from /usr/lib/libkhtml.so.5
#12 0x00007fdeeadc1876 in ?? () from /usr/lib/libkhtml.so.5
#13 0x00007fdeeadc1400 in ?? () from /usr/lib/libkhtml.so.5
#14 0x00007fdeeadc1876 in ?? () from /usr/lib/libkhtml.so.5
#15 0x00007fdeeadc1709 in ?? () from /usr/lib/libkhtml.so.5
#16 0x00007fdeeadf4eec in khtml::RenderLayer::paintLayer(khtml::RenderLayer*, QPainter*, QRect const&, bool) () from /usr/lib/libkhtml.so.5
#17 0x00007fdeeadf4e69 in khtml::RenderLayer::paintLayer(khtml::RenderLayer*, QPainter*, QRect const&, bool) () from /usr/lib/libkhtml.so.5
#18 0x00007fdeeadf4e69 in khtml::RenderLayer::paintLayer(khtml::RenderLayer*, QPainter*, QRect const&, bool) () from /usr/lib/libkhtml.so.5
#19 0x00007fdeeac9c10c in KHTMLView::paintEvent(QPaintEvent*) () from /usr/lib/libkhtml.so.5
#20 0x00007fdf05cb0ff2 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x00007fdf060570a6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#22 0x00007fdeeac9e7e5 in KHTMLView::widgetEvent(QEvent*) () from /usr/lib/libkhtml.so.5
#23 0x00007fdeeac9eaff in KHTMLView::eventFilter(QObject*, QEvent*) () from /usr/lib/libkhtml.so.5
#24 0x00007fdf06abc077 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#25 0x00007fdf05c5b04c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x00007fdf05c6166b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007fdf070041d6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#28 0x00007fdf06abcc5c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#29 0x00007fdf05cb953d in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#30 0x00007fdf05cba1d8 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#31 0x00007fdf05cb929a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#32 0x00007fdf05cba1d8 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#33 0x00007fdf05cb929a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#34 0x00007fdf05cba1d8 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#35 0x00007fdf05cb929a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#36 0x00007fdf05cba1d8 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#37 0x00007fdf05cb929a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#38 0x00007fdf05cba1d8 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#39 0x00007fdf05cb929a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#40 0x00007fdf05cba1d8 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#41 0x00007fdf05cba009 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#42 0x00007fdf05cb929a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#43 0x00007fdf05cba1d8 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#44 0x00007fdf05cb929a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#45 0x00007fdf05e72785 in ?? () from /usr/lib/libQtGui.so.4
#46 0x00007fdf05caafa0 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#47 0x00007fdf05cb16f5 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#48 0x00007fdf0607282b in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#49 0x00007fdf0711b1f3 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#50 0x00007fdef8e32e6c in ?? () from /usr/lib/libkdeinit4_konqueror.so
#51 0x00007fdf05c5b07c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#52 0x00007fdf05c6166b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#53 0x00007fdf070041d6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#54 0x00007fdf06abcc5c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#55 0x00007fdf06abf3d7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#56 0x00007fdf06ae6603 in ?? () from /usr/lib/libQtCore.so.4
#57 0x00007fdf01ca2ef0 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#58 0x00007fdf01ca6d28 in ?? () from /lib/libglib-2.0.so.0
#59 0x00007fdf01ca6f0c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#60 0x00007fdf06ae6143 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#61 0x00007fdf05d0a88e in ?? () from /usr/lib/libQtGui.so.4
#62 0x00007fdf06abb582 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#63 0x00007fdf06abb95c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#64 0x00007fdf06abf69b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#65 0x00007fdef8e58cd6 in kdemain () from /usr/lib/libkdeinit4_konqueror.so
#66 0x0000000000406fe8 in _start ()

thanks
Comment 2 Maksim Orlovich 2010-02-20 02:09:30 UTC
Can't confirm
Comment 3 Dario Andres 2010-02-20 03:33:13 UTC
I can't reproduce the crash neither, here using:
Qt: 4.6.2 (kde-qt master commit 62cda737405d0f2163094c44189cfd71ca3c576a
        Date:   Mon Feb 15 14:37:02 2010 +0100)
KDE Development Platform: 4.4.63 (KDE 4.4.63 (KDE 4.5 >= 20100209))
kdelibs svn rev. 1092352 / kdebase svn rev. 1092352
on ArchLinux i686 - Kernel 2.6.32.8
Comment 4 Tommi Tervo 2010-02-20 10:23:04 UTC
Thread 1 (Thread 0xb51ae700 (LWP 20782)):
[KCrash Handler]
#6  0xffffe430 in __kernel_vsyscall ()
#7  0xb587d0cf in raise () from /lib/libc.so.6
#8  0xb587e9e7 in abort () from /lib/libc.so.6
#9  0xb681d964 in qt_message_output (msgType=QtFatalMsg, buf=0x6 <Address 0x6 out of bounds>) at global/qglobal.cpp:2250
#10 0xb681db83 in qt_message (msgType=QtFatalMsg, msg=0xb6999e3c "ASSERT: \"%s\" in file %s, line %d", ap=0xbf931564 "\200\001\232\262\060\001\232\262Y\001") at global/qglobal.cpp:2296
#11 0xb681dca8 in qFatal (msg=0xb6999e3c "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2479
#12 0xb681dd25 in qt_assert (assertion=0xb29a0180 "innerPath.elementCount() == 4 && outerPath.elementCount() == 4", file=0xb29a0130 "/home/teve/kde/kdelibs/khtml/misc/borderarcstroker.cpp", line=345)
    at global/qglobal.cpp:2013
#13 0xb276782e in khtml::BorderArcStroker::createStroke (this=0xbf9319e8, nextOffset=0xbf931cd8) at /home/teve/kde/kdelibs/khtml/misc/borderarcstroker.cpp:345
#14 0xb2673544 in khtml::RenderObject::drawBorderArc (this=0x9abb920, p=0xbf93276c, x=785, y=2649, horThickness=1, vertThickness=1, radius=..., angleStart=0, angleSpan=90, brush=..., textColor=..., 
    style=DOTTED, nextDashOffset=0xbf931cd8) at /home/teve/kde/kdelibs/khtml/rendering/render_object.cpp:1507
#15 0xb2673d8d in khtml::RenderObject::paintBorder (this=0x9abb920, p=0xbf93276c, _tx=626, _ty=2648, w=160, h=2, style=0xa7d54e0, begin=true, end=true)
    at /home/teve/kde/kdelibs/khtml/rendering/render_object.cpp:1595
#16 0xb268379a in khtml::RenderBox::paintBoxDecorations (this=0x9abb920, paintInfo=..., _tx=626, _ty=2648) at /home/teve/kde/kdelibs/khtml/rendering/render_box.cpp:452
#17 0xb26555d8 in khtml::RenderBlock::paintObject (this=0x9abb920, pI=..., _tx=626, _ty=2648, shouldPaintOutline=true) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1782
#18 0xb2655520 in khtml::RenderBlock::paint (this=0x9abb920, pI=..., _tx=626, _ty=2648) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1766
#19 0xb2655701 in khtml::RenderBlock::paintObject (this=0x9abb770, pI=..., _tx=606, _ty=2021, shouldPaintOutline=true) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1800
#20 0xb2655520 in khtml::RenderBlock::paint (this=0x9abb770, pI=..., _tx=606, _ty=2021) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1766
#21 0xb2656005 in khtml::RenderBlock::paintFloats (this=0x96836b0, pI=..., _tx=605, _ty=344, paintSelection=false) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1892
#22 0xb265576e in khtml::RenderBlock::paintObject (this=0x96836b0, pI=..., _tx=605, _ty=344, shouldPaintOutline=true) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1805
#23 0xb2655520 in khtml::RenderBlock::paint (this=0x96836b0, pI=..., _tx=605, _ty=344) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1766
#24 0xb26560c4 in khtml::RenderBlock::paintFloats (this=0xce5cec8, pI=..., _tx=5, _ty=344, paintSelection=false) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1896
#25 0xb265576e in khtml::RenderBlock::paintObject (this=0xce5cec8, pI=..., _tx=5, _ty=344, shouldPaintOutline=true) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1805
#26 0xb2655520 in khtml::RenderBlock::paint (this=0xce5cec8, pI=..., _tx=5, _ty=344) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1766
#27 0xb2655701 in khtml::RenderBlock::paintObject (this=0xa492750, pI=..., _tx=5, _ty=10, shouldPaintOutline=true) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1800
#28 0xb2655520 in khtml::RenderBlock::paint (this=0xa492750, pI=..., _tx=5, _ty=10) at /home/teve/kde/kdelibs/khtml/rendering/render_block.cpp:1766
#29 0xb269aaf4 in khtml::RenderLayer::paintLayer (this=0xb811148, rootLayer=0xe676c98, p=0xbf93276c, paintDirtyRect=..., selectionOnly=false)
    at /home/teve/kde/kdelibs/khtml/rendering/render_layer.cpp:1105
#30 0xb269ad94 in khtml::RenderLayer::paintLayer (this=0x924acc8, rootLayer=0xe676c98, p=0xbf93276c, paintDirtyRect=..., selectionOnly=false)
    at /home/teve/kde/kdelibs/khtml/rendering/render_layer.cpp:1132
#31 0xb269ad94 in khtml::RenderLayer::paintLayer (this=0xe676c98, rootLayer=0xe676c98, p=0xbf93276c, paintDirtyRect=..., selectionOnly=false)
    at /home/teve/kde/kdelibs/khtml/rendering/render_layer.cpp:1132
#32 0xb269a1ee in khtml::RenderLayer::paint (this=0xe676c98, p=0xbf93276c, damageRect=..., selectionOnly=false) at /home/teve/kde/kdelibs/khtml/rendering/render_layer.cpp:999
#33 0xb24f15a2 in KHTMLView::paintEvent (this=0xbbb01b8, e=0xbf932f34) at /home/teve/kde/kdelibs/khtml/khtmlview.cpp:934
#34 0xb5e24baf in QWidget::event (this=0xbbb01b8, event=0xbf932f34) at kernel/qwidget.cpp:8144
#35 0xb62310e5 in QFrame::event (this=0xbbb01b8, e=0xbf932f34) at widgets/qframe.cpp:557
#36 0xb24f8d90 in KHTMLView::widgetEvent (this=0xbbb01b8, e=0xbf932f34) at /home/teve/kde/kdelibs/khtml/khtmlview.cpp:2363
#37 0xb24f8753 in KHTMLView::eventFilter (this=0xbbb01b8, o=0x8c2e948, e=0xbf932f34) at /home/teve/kde/kdelibs/khtml/khtmlview.cpp:2208
#38 0xb692f0ae in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x8068e68, receiver=0x8c2e948, event=0xbf932f34) at kernel/qcoreapplication.cpp:819
#39 0xb5dc43cd in QApplicationPrivate::notify_helper (this=0x8068e68, receiver=0x8c2e948, e=0xbf932f34) at kernel/qapplication.cpp:4296
#40 0xb5dcb2d8 in QApplication::notify (this=0x8c2e948, receiver=0x8c2e948, e=0xbf932f34) at kernel/qapplication.cpp:4265
#41 0xb6f22c68 in KApplication::notify (this=0xbf935200, receiver=0x8c2e948, event=0xbf932f34) at /home/teve/kde/kdelibs/kdeui/kernel/kapplication.cpp:302
#42 0xb692fdde in QCoreApplication::notifyInternal (this=0xbf935200, receiver=0x8c2e948, event=0xbf932f34) at kernel/qcoreapplication.cpp:704
#43 0xb5e2dfbc in sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:218
#44 QWidgetPrivate::drawWidget (event=<value optimized out>, receiver=<value optimized out>) at kernel/qwidget.cpp:5339
#45 0xb5e2ed59 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5452
#46 0xb5e2dd08 in QWidgetPrivate::drawWidget (this=0xbbb04d0, pdev=0x8766724, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568) at kernel/qwidget.cpp:5388
#47 0xb5e2ed59 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5452
#48 0xb5e2dd08 in QWidgetPrivate::drawWidget (this=0xa17c710, pdev=0x8766724, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568) at kernel/qwidget.cpp:5388
#49 0xb5e2ed59 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=2, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5452
#50 0xb5e2dd08 in QWidgetPrivate::drawWidget (this=0xe663b70, pdev=0x8766724, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568) at kernel/qwidget.cpp:5388
#51 0xb5e2ed59 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5452
#52 0xb5e2dd08 in QWidgetPrivate::drawWidget (this=0xc52b418, pdev=0x8766724, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568) at kernel/qwidget.cpp:5388
#53 0xb5e2ed59 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=5, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5452
#54 0xb5e2dd08 in QWidgetPrivate::drawWidget (this=0x833af88, pdev=0x8766724, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568) at kernel/qwidget.cpp:5388
#55 0xb5e2ed59 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5452
#56 0xb5e2eb97 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5439
#57 0xb5e2dd08 in QWidgetPrivate::drawWidget (this=0x833ace0, pdev=0x8766724, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568) at kernel/qwidget.cpp:5388
#58 0xb5e2ed59 in QWidgetPrivate::paintSiblingsRecursive (this=0x0, pdev=0x8766724, siblings=..., index=47, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8766568)
    at kernel/qwidget.cpp:5452
#59 0xb5e2dd08 in QWidgetPrivate::drawWidget (this=0x80f5450, pdev=0x8766724, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x8766568) at kernel/qwidget.cpp:5388
#60 0xb600fb08 in QWidgetBackingStore::sync (this=0x8766568) at painting/qbackingstore.cpp:1291
#61 0xb5e1e32b in QWidgetPrivate::syncBackingStore (this=0x80f5450) at kernel/qwidget.cpp:1672
#62 0xb5e25384 in QWidget::event (this=0x80f5178, event=0x9214ca0) at kernel/qwidget.cpp:8291
#63 0xb6250294 in QMainWindow::event (this=0x80f5178, event=0x9214ca0) at widgets/qmainwindow.cpp:1433
#64 0xb70188d3 in KMainWindow::event (this=0x80f5178, ev=0x9214ca0) at /home/teve/kde/kdelibs/kdeui/widgets/kmainwindow.cpp:1103
#65 0xb705ba3f in KXmlGuiWindow::event (this=0x80f5178, ev=0x9214ca0) at /home/teve/kde/kdelibs/kdeui/xmlgui/kxmlguiwindow.cpp:131
#66 0xb784fae1 in KonqMainWindow::event (this=0x80f5178, e=0x9214ca0) at /home/teve/kde/kdebase/apps/konqueror/src/konqmainwindow.cpp:5637
#67 0xb5dc43fc in QApplicationPrivate::notify_helper (this=0x8068e68, receiver=0x80f5178, e=0x9214ca0) at kernel/qapplication.cpp:4300
#68 0xb5dcb2d8 in QApplication::notify (this=0x80f5178, receiver=0x80f5178, e=0x9214ca0) at kernel/qapplication.cpp:4265
#69 0xb6f22c68 in KApplication::notify (this=0xbf935200, receiver=0x80f5178, event=0x9214ca0) at /home/teve/kde/kdelibs/kdeui/kernel/kapplication.cpp:302
#70 0xb692fdde in QCoreApplication::notifyInternal (this=0xbf935200, receiver=0x80f5178, event=0x9214ca0) at kernel/qcoreapplication.cpp:704
#71 0xb69327e3 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:215
#72 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1345
#73 0xb693293c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#74 0xb695ce4d in sendPostedEvents () at kernel/qcoreapplication.h:220
#75 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:276
#76 0xb552c4c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#77 0xb552fd98 in ?? () from /usr/lib/libglib-2.0.so.0
#78 0xb552febe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#79 0xb695c931 in QEventDispatcherGlib::processEvents (this=0x8051e08, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#80 0xb5e84e0a in QGuiEventDispatcherGlib::processEvents (this=0x8051e08, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#81 0xb692e44d in QEventLoop::processEvents (this=0xbf935104, flags=) at kernel/qeventloop.cpp:149
#82 0xb692e899 in QEventLoop::exec (this=0xbf935104, flags=...) at kernel/qeventloop.cpp:201
#83 0xb6932a10 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#84 0xb5dc44a4 in QApplication::exec () at kernel/qapplication.cpp:3579
#85 0xb78824c3 in kdemain (argc=1, argv=0xbf9354c4) at /home/teve/kde/kdebase/apps/konqueror/src/konqmain.cpp:232
#86 0x080487a9 in main (argc=1, argv=0xbf9354c4) at /home/teve/kde/kbb/apps/konqueror/src/konqueror_dummy.cpp:3
Comment 5 Fredrik Höglund 2010-02-20 18:12:24 UTC
I can't reproduce the problem either.

Could you add some debug output before the assert that prints out the sweepLength and the inner and outer rects and paths?

QPainterPath::arcTo() should never insert more than one cubic bezier as long as the sweep length is <= 90 degrees, which it is according to the backtrace.
Comment 6 Tommi Tervo 2010-02-20 18:33:21 UTC
konqueror(30814)/khtml khtml::BorderArcStroker::createStroke: sweepLength: 90 innerRect: QRectF(785,2628 0x0) outerRect: QRectF(784,2627 2x2) innerPath: QPainterPath: Element count=0                                                                         
outerPath:QPainterPath: Element count=4                                              
-> MoveTo(x=786, y=2628)                                                             
-> CurveTo(x=786, y=2627.45)                                                         
-> CurveToData(x=785.552, y=2627)                                                    
-> CurveToData(x=785, y=2627)                                                        
ASSERT: "innerPath.elementCount() == 4 && outerPath.elementCount() == 4" in file /home/teve/kde/kdelibs/khtml/misc/borderarcstroker.cpp, line 345
Comment 7 Fredrik Höglund 2010-02-22 00:15:43 UTC
SVN commit 1094031 by fredrik:

Avoid hitting an assert when drawing a dashed or dotted border arc with
a radius that's smaller than or equal to the border width.

Thanks to Tommi Tervo for debugging.
Fixed for: 4.4.1
BUG: 227765


 M  +4 -0      borderarcstroker.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1094031