Bug 149675 - regression: Konqueror crashes viewing main page of wikipedia
Summary: regression: Konqueror crashes viewing main page of wikipedia
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Unclassified
Component: khtml (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: HI crash (vote)
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 150061 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-09-08 21:48 UTC by Keith Neuse
Modified: 2007-10-06 20:32 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Patch (556 bytes, patch)
2007-09-24 11:53 UTC, Allan Sandfeld
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Keith Neuse 2007-09-08 21:48:11 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc version 4.1.2 (Gentoo 4.1.2 p1.0.1) 
OS:                Linux

Open Konqueror4 and browse to http://en.wikipedia.org/wiki/Main_Page. Thats all that is required to reproduce the crash

Here is the back trace:
 [?1034hUsing host libthread_db library "/lib/i686/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1246980400 (LWP 17726)]
[KCrash handler]
#6  0xb3dc8137 in khtmlImLoad::PixmapPlane::paint (this=0x0, dx=20, dy=322, 
    p=0xbfc7f8f8, sx=0, sy=0, sWidth=-1, sHeight=-1)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/imload/pixmapplane.cpp:35
#7  0xb3dc8527 in khtmlImLoad::ImagePainter::paint (this=0xbfc7f090, dx=20, 
    dy=322, p=0xbfc7f8f8, sx=0, sy=0, width=-1, height=-1)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/imload/imagepainter.cpp:79
#8  0xb3c83356 in khtml::RenderListMarker::paint (this=0x8ccb868, 
    paintInfo=@0xbfc7f190, _tx=27, _ty=322)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_list.cpp:300
#9  0xb3c96dd0 in khtml::InlineBox::paint (this=0x84b1b08, i=@0xbfc7f530, 
    tx=27, ty=309)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_line.cpp:135
#10 0xb3c95b29 in khtml::InlineFlowBox::paint (this=0x84b1b30, i=@0xbfc7f530, 
    tx=27, ty=309)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_line.cpp:680
#11 0xb3c95bac in khtml::RootInlineBox::paint (this=0x84b1b30, i=@0xbfc7f530, 
    tx=27, ty=309)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_line.cpp:984
#12 0xb3c45f62 in khtml::RenderFlow::paintLines (this=0x8ccb7d8, 
    i=@0xbfc7f530, _tx=27, _ty=309)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_flow.cpp:222
#13 0xb3c16d65 in khtml::RenderBlock::paintObject (this=0x8ccb7d8, 
    pI=@0xbfc7f530, _tx=27, _ty=309, shouldPaintOutline=true)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1655
#14 0xb3c170ba in khtml::RenderBlock::paint (this=0x8ccb7d8, pI=@0xbfc7f530, 
    _tx=27, _ty=309)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1625
#15 0xb3c16de7 in khtml::RenderBlock::paintObject (this=0x8ccb754, 
    pI=@0xbfc7f530, _tx=27, _ty=309, shouldPaintOutline=true)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1659
#16 0xb3c170ba in khtml::RenderBlock::paint (this=0x8ccb754, pI=@0xbfc7f530, 
    _tx=27, _ty=309)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1625
#17 0xb3c16de7 in khtml::RenderBlock::paintObject (this=0x8ccb64c, 
    pI=@0xbfc7f530, _tx=0, _ty=305, shouldPaintOutline=true)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1659
#18 0xb3c170ba in khtml::RenderBlock::paint (this=0x8ccb64c, pI=@0xbfc7f530, 
    _tx=0, _ty=305)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1625
#19 0xb3c16de7 in khtml::RenderBlock::paintObject (this=0x8ccb490, 
    pI=@0xbfc7f530, _tx=0, _ty=288, shouldPaintOutline=true)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1659
#20 0xb3c170ba in khtml::RenderBlock::paint (this=0x8ccb490, pI=@0xbfc7f530, 
    _tx=0, _ty=288)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_block.cpp:1625
#21 0xb3c524bc in khtml::RenderLayer::paintLayer (this=0x8ccb514, 
    rootLayer=0x8311a80, p=0xbfc7f8f8, paintDirtyRect=@0xbfc7f8e8, 
    selectionOnly=false)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_layer.cpp:919
#22 0xb3c52673 in khtml::RenderLayer::paintLayer (this=0x8311b68, 
    rootLayer=0x8311a80, p=0xbfc7f8f8, paintDirtyRect=@0xbfc7f8e8, 
    selectionOnly=false)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_layer.cpp:938
#23 0xb3c52761 in khtml::RenderLayer::paintLayer (this=0x8311a80, 
    rootLayer=0x8311a80, p=0xbfc7f8f8, paintDirtyRect=@0xbfc7f8e8, 
    selectionOnly=false)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_layer.cpp:945
#24 0xb3c52868 in khtml::RenderLayer::paint (this=0x8311a80, p=0xbfc7f8f8, 
    damageRect=@0xbfc7f8e8, selectionOnly=false)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/rendering/render_layer.cpp:817
#25 0xb3b00b9b in KHTMLView::paintEvent (this=0x83b3150, e=0xbfc800b4)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/khtmlview.cpp:783
#26 0xb676395b in QWidget::event (this=0x83b3150, event=0xbfc800b4)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qwidget.cpp:6242
#27 0xb6ae2d34 in QFrame::event (this=0x83b3150, e=0xbfc800b4)
    at /home/tmacieir/src/troll/qt-main/src/gui/widgets/qframe.cpp:632
#28 0xb3af2762 in KHTMLView::widgetEvent (this=0x83b3150, e=0xbfc800b4)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/khtmlview.cpp:2103
#29 0xb3af7cb7 in KHTMLView::eventFilter (this=0x83b3150, o=0x83b98e8, 
    e=0xbfc800b4)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/khtmlview.cpp:1967
#30 0xb670272e in QApplicationPrivate::notify_helper (this=0x80553d0, 
    receiver=0x83b98e8, e=0xbfc800b4)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qapplication.cpp:3667
#31 0xb6704610 in QApplication::notify (this=0xbfc81d48, receiver=0x83b98e8, 
    e=0xbfc800b4)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qapplication.cpp:3616
#32 0xb78b09af in KApplication::notify (this=0xbfc81d48, receiver=0x83b98e8, 
    event=0xbfc800b4)
    at /home/tmacieir/src/kde4/KDE/kdelibs/kdeui/kernel/kapplication.cpp:300
#33 0xb6449f16 in QCoreApplication::notifyInternal (this=0xbfc81d48, 
    receiver=0x83b98e8, event=0xbfc800b4)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qcoreapplication.cpp:518
#34 0xb70f921f in QCoreApplication::sendSpontaneousEvent (receiver=0x83b98e8, 
    event=0xbfc800b4)
    at ../../include/QtCore/../../../../../src/troll/qt-main/src/corelib/kernel/qcoreapplication.h:180
#35 0xb676f5fc in qt_sendSpontaneousEvent (receiver=0x83b98e8, 
    event=0xbfc800b4)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qapplication_x11.cpp:4424
#36 0xb68c871a in QWidgetPrivate::drawWidget (this=0x83be1f8, pdev=0x80c378c, 
    rgn=@0xbfc80208, offset=@0xbfc80244, flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1179
#37 0xb68c8f2c in QWidgetBackingStore::paintSiblingsRecursive (pdev=0x80c378c, 
    siblings=@0xbfc802d8, index=0, rgn=@0xbfc80408, offset=@0xbfc80444, 
    flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1082
#38 0xb68c8ae3 in QWidgetPrivate::drawWidget (this=0x83b9620, pdev=0x80c378c, 
    rgn=@0xbfc80408, offset=@0xbfc80444, flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1215
#39 0xb68c8f2c in QWidgetBackingStore::paintSiblingsRecursive (pdev=0x80c378c, 
    siblings=@0xbfc804d8, index=2, rgn=@0xbfc80608, offset=@0xbfc80644, 
    flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1082
#40 0xb68c8ae3 in QWidgetPrivate::drawWidget (this=0x82ff618, pdev=0x80c378c, 
    rgn=@0xbfc80608, offset=@0xbfc80644, flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1215
#41 0xb68c8f2c in QWidgetBackingStore::paintSiblingsRecursive (pdev=0x80c378c, 
    siblings=@0xbfc806d8, index=1, rgn=@0xbfc80808, offset=@0xbfc80844, 
    flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1082
#42 0xb68c8ae3 in QWidgetPrivate::drawWidget (this=0x82d2178, pdev=0x80c378c, 
    rgn=@0xbfc80808, offset=@0xbfc80844, flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1215
#43 0xb68c8f2c in QWidgetBackingStore::paintSiblingsRecursive (pdev=0x80c378c, 
    siblings=@0xbfc808d8, index=1, rgn=@0xbfc80a08, offset=@0xbfc80a44, 
    flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1082
#44 0xb68c8ae3 in QWidgetPrivate::drawWidget (this=0x82c9a28, pdev=0x80c378c, 
    rgn=@0xbfc80a08, offset=@0xbfc80a44, flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1215
#45 0xb68c8f2c in QWidgetBackingStore::paintSiblingsRecursive (pdev=0x80c378c, 
    siblings=@0xbfc80ad8, index=0, rgn=@0xbfc80c08, offset=@0xbfc80c44, 
    flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1082
#46 0xb68c8ae3 in QWidgetPrivate::drawWidget (this=0x82c9818, pdev=0x80c378c, 
    rgn=@0xbfc80c08, offset=@0xbfc80c44, flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1215
#47 0xb68c8f2c in QWidgetBackingStore::paintSiblingsRecursive (pdev=0x80c378c, 
    siblings=@0xbfc80cd8, index=48, rgn=@0xbfc80e2c, offset=@0x8108fdc, 
    flags=4)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1082
#48 0xb68c8ae3 in QWidgetPrivate::drawWidget (this=0x8105f18, pdev=0x80c378c, 
    rgn=@0xbfc80e2c, offset=@0x8108fdc, flags=5)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1215
#49 0xb68c9370 in QWidgetBackingStore::cleanRegion (this=0x8108fd0, 
    rgn=@0xbfc80ee8, widget=0x83b98e8, recursiveCopyToScreen=true)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:981
#50 0xb68c97c8 in QWidget::repaint (this=0x83b98e8, rgn=@0xbfc80f98)
    at /home/tmacieir/src/troll/qt-main/src/gui/painting/qbackingstore.cpp:1249
#51 0xb6757480 in QWidget::repaint (this=0x83b98e8, r=@0xbfc81000)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qwidget.cpp:7824
#52 0xb67575ba in QWidget::repaint (this=0x83b98e8, x=0, y=0, w=1020, h=482)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qwidget.cpp:7814
#53 0xb3af79f0 in KHTMLView::repaintContents (this=0x83b3150, x=0, y=0, 
    w=1020, h=482)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/khtmlview.cpp:665
#54 0xb3af82f1 in KHTMLView::repaintContents (this=0x83b3150, r=@0xbfc81138)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/khtmlview.cpp:670
#55 0xb3affc9d in KHTMLView::timerEvent (this=0x83b3150, e=0xbfc81a04)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/khtmlview.cpp:3677
#56 0xb645fde4 in QObject::event (this=0x83b3150, e=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qobject.cpp:1043
#57 0xb6764336 in QWidget::event (this=0x83b3150, event=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qwidget.cpp:6482
#58 0xb6ae2d34 in QFrame::event (this=0x83b3150, e=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/gui/widgets/qframe.cpp:632
#59 0xb6b8b1a5 in QAbstractScrollArea::event (this=0x83b3150, e=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/gui/widgets/qabstractscrollarea.cpp:857
#60 0xb6b9224f in QScrollArea::event (this=0x83b3150, e=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/gui/widgets/qscrollarea.cpp:262
#61 0xb3afd5d4 in KHTMLView::event (this=0x83b3150, e=0xbfc81a04)
    at /home/tmacieir/src/kde4/KDE/kdelibs/khtml/khtmlview.cpp:464
#62 0xb67027b3 in QApplicationPrivate::notify_helper (this=0x80553d0, 
    receiver=0x83b3150, e=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qapplication.cpp:3675
#63 0xb6704610 in QApplication::notify (this=0xbfc81d48, receiver=0x83b3150, 
    e=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qapplication.cpp:3616
#64 0xb78b09af in KApplication::notify (this=0xbfc81d48, receiver=0x83b3150, 
    event=0xbfc81a04)
    at /home/tmacieir/src/kde4/KDE/kdelibs/kdeui/kernel/kapplication.cpp:300
#65 0xb6449f16 in QCoreApplication::notifyInternal (this=0xbfc81d48, 
    receiver=0x83b3150, event=0xbfc81a04)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qcoreapplication.cpp:518
#66 0xb70f91b7 in QCoreApplication::sendEvent (receiver=0x83b3150, 
    event=0xbfc81a04)
    at ../../include/QtCore/../../../../../src/troll/qt-main/src/corelib/kernel/qcoreapplication.h:177
#67 0xb6480dad in QTimerInfoList::activateTimers (this=0x805c74c)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qeventdispatcher_unix.cpp:531
#68 0xb647e57a in timerSourceDispatch (source=0x805c718)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qeventdispatcher_glib.cpp:132
#69 0xb5cb7922 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#70 0xb5cbad34 in ?? () from /usr/lib/libglib-2.0.so.0
#71 0xb5cbb23c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#72 0xb647d398 in QEventDispatcherGlib::processEvents (this=0x80529e0, 
    flags=@0xbfc81b78)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qeventdispatcher_glib.cpp:315
#73 0xb67ae81c in QGuiEventDispatcherGlib::processEvents (this=0x80529e0, 
    flags=@0xbfc81bac)
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qguieventdispatcher_glib.cpp:168
#74 0xb6446816 in QEventLoop::processEvents (this=0xbfc81c2c, 
    flags=@0xbfc81be4)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qeventloop.cpp:114
#75 0xb644698b in QEventLoop::exec (this=0xbfc81c2c, flags=@0xbfc81c34)
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qeventloop.cpp:161
#76 0xb644a802 in QCoreApplication::exec ()
    at /home/tmacieir/src/troll/qt-main/src/corelib/kernel/qcoreapplication.cpp:754
#77 0xb6702330 in QApplication::exec ()
    at /home/tmacieir/src/troll/qt-main/src/gui/kernel/qapplication.cpp:3172
#78 0xb7f875a2 in kdemain (argc=2, argv=0xbfc820e4)
    at /home/tmacieir/src/kde4/KDE/kdebase/apps/konqueror/src/konqmain.cpp:218
#79 0x080487b6 in main (argc=142173908, argv=0x0)
    at /home/tmacieir/obj/kde4/KDE/kdebase/apps/konqueror/src/konqueror_dummy.cpp:3
#0  0xb7f9f410 in __kernel_vsyscall ()
Comment 1 Allan Sandfeld 2007-09-10 10:41:35 UTC
Confirmed in KDE4
Comment 2 Dmitry Suzdalev 2007-09-21 14:17:09 UTC
*** Bug 150061 has been marked as a duplicate of this bug. ***
Comment 3 Allan Sandfeld 2007-09-24 11:53:31 UTC
Created attachment 21680 [details]
Patch

Only render images ready to render
Comment 4 Maksim Orlovich 2007-10-06 20:32:27 UTC
SVN commit 722147 by orlovich:

- Fix painting code to not blow up on not-yet-loaded images,
  by deferring requesting scaling until everything is needed.
  Fixes crash on WP front page (149675)
- Audit code for divide-by-zero possibilities; especially 
  important since size limiting is coming next
- Properly clone anim providers when scaling
- Remove stale comments, declarations, TODOs, warnings
- Some minor style fixes
BUG:149675


 M  +6 -0      animprovider.cpp  
 M  +2 -2      animprovider.h  
 M  +28 -22    image.cpp  
 M  +2 -10     image.h  
 M  +5 -5      imageformat.h  
 M  +3 -3      imageloader.h  
 M  +1 -1      imageloaderprovider.h  
 M  +4 -11     imagemanager.h  
 M  +0 -4      imageowner.h  
 M  +31 -11    imagepainter.cpp  
 M  +4 -0      imagepainter.h  
 M  +1 -1      loaderdatabase.h  
 M  +4 -4      plane.h  
 M  +3 -0      scaledimageplane.h  
 M  +1 -1      tile.h  
 M  +4 -4      updater.cpp  
 M  +5 -4      updater.h  


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