Bug 152107 - Crash on adblock->hide filtered images
Summary: Crash on adblock->hide filtered images
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-10 13:44 UTC by Tom Vollerthun
Modified: 2007-11-21 02:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Vollerthun 2007-11-10 13:44:10 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) 
OS:                Linux

Steps to reproduce:

- Download http://www.pierceive.com/filtersetg/2007-10-08a-MERGED.txt 
- Make sure all adblock-filters settings are empty, as is default.
- Start konqueror, goto http://www.heise.de 
- Settings->Web Browsing->AdBlocK Filers
- Enable Filters, Hide filtered Images, import downloaded filterlist.
- Apply/OK -> Crash

Additional notes:
- Konqi doesn't crash on me if I do the settings without a website loaded.
- If I have the filterlist imported and filters enabled, konqueror still crashes when hiding filtered images.
- Reproduced by shaga (#kde4-krush)

Traces:
TunaTom: http://www.pastebin.ca/768222
shaga: http://pastebin.com/m1071a615
Comment 1 Maksim Orlovich 2007-11-10 17:50:36 UTC
Please do not use pastebin for things like that! The things pasted there disappear in 24 hours or so, they should be here for permanent archival!


Hmm, new linebox code:
#10 0xb46bb3d9 in khtml::InlineFlowBox::deleteLine (this=0x8667624, 
    arena=0x8319d50)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_line.cpp:193
#11 0xb46291ba in khtml::RenderBlock::layoutInlineChildren (this=0x8723f78, 
    relayoutChildren=false, breakBeforeLine=0)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/bidi.cpp:1485
#12 0xb4637488 in khtml::RenderBlock::layoutBlock (this=0x8723f78, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:735
#13 0xb4637bf9 in khtml::RenderBlock::layout (this=0x8723f78)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:638
#14 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x8723f78)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#15 0xb46369e5 in khtml::RenderBlock::layoutBlockChildren (this=0x8723ee0, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:1458
#16 0xb463749d in khtml::RenderBlock::layoutBlock (this=0x8723ee0, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:737
#17 0xb4680024 in khtml::RenderTableCell::layout (this=0x8723ee0)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2378
#18 0xb468178f in khtml::RenderTableRow::layout (this=0x8723e8c)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2159
#19 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x8723e8c)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#20 0xb4659907 in khtml::RenderContainer::layout (this=0x87238dc)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_container.cpp:589
#21 0xb46884eb in khtml::RenderTable::layout (this=0x87237ac)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:341
#22 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x87237ac)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#23 0xb46369e5 in khtml::RenderBlock::layoutBlockChildren (this=0x869c2ac, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:1458
#24 0xb463749d in khtml::RenderBlock::layoutBlock (this=0x869c2ac, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:737
#25 0xb4680024 in khtml::RenderTableCell::layout (this=0x869c2ac)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2378
#26 0xb468178f in khtml::RenderTableRow::layout (this=0x869c258)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2159
#27 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x869c258)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#28 0xb4659907 in khtml::RenderContainer::layout (this=0x869c1f4)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_container.cpp:589
#29 0xb46884eb in khtml::RenderTable::layout (this=0x869c148)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:341
#30 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x869c148)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#31 0xb46369e5 in khtml::RenderBlock::layoutBlockChildren (this=0x865eb9c, 
    relayoutChildren=true)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:1458
#32 0xb463749d in khtml::RenderBlock::layoutBlock (this=0x865eb9c, 
    relayoutChildren=true)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:737
#33 0xb4637bf9 in khtml::RenderBlock::layout (this=0x865eb9c)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:638
#34 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x865eb9c)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#35 0xb46369e5 in khtml::RenderBlock::layoutBlockChildren (this=0x865e97c, 
    relayoutChildren=true)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:1458
#36 0xb463749d in khtml::RenderBlock::layoutBlock (this=0x865e97c, 
    relayoutChildren=true)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:737
#37 0xb4680024 in khtml::RenderTableCell::layout (this=0x865e97c)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2378
#38 0xb468178f in khtml::RenderTableRow::layout (this=0x865e890)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2159
#39 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x865e890)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#40 0xb4659907 in khtml::RenderContainer::layout (this=0x865dd1c)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_container.cpp:589
#41 0xb46884eb in khtml::RenderTable::layout (this=0x865dc70)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:341
#42 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x865dc70)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#43 0xb46369e5 in khtml::RenderBlock::layoutBlockChildren (this=0x8631c58, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:1458
#44 0xb463749d in khtml::RenderBlock::layoutBlock (this=0x8631c58, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:737
#45 0xb4680024 in khtml::RenderTableCell::layout (this=0x8631c58)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2378
#46 0xb468178f in khtml::RenderTableRow::layout (this=0x8427bb4)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:2159
#47 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x8427bb4)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#48 0xb4659907 in khtml::RenderContainer::layout (this=0x8427b50)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_container.cpp:589
#49 0xb46884eb in khtml::RenderTable::layout (this=0x8427aa4)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_table.cpp:341
#50 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x8427aa4)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#51 0xb46369e5 in khtml::RenderBlock::layoutBlockChildren (this=0x8427a20, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:1458
#52 0xb463749d in khtml::RenderBlock::layoutBlock (this=0x8427a20, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:737
#53 0xb4637bf9 in khtml::RenderBlock::layout (this=0x8427a20)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:638
#54 0xb450aa35 in khtml::RenderObject::layoutIfNeeded (this=0x8427a20)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_object.h:441
#55 0xb46369e5 in khtml::RenderBlock::layoutBlockChildren (this=0x82dbaf4, 
    relayoutChildren=false)
    at /home/kde-devel/kde/src/KDE/kdelibs/khtml/rendering/render_block.cpp:1458
#56 0xb463749d in khtml::RenderBlock::layoutBlock (this=0x82dbaf4, 
    relayoutChildren=false)
Comment 2 Germain Garand 2007-11-21 02:47:41 UTC
SVN commit 739421 by ggarand:

rework the inline boxes deletion process,
and be more careful with those pesky placeholders.

more useful KHTML_USE_ARENA_ALLOCATOR: when undef, refrain from borking the
pointers in delete, so that memory tools may trace deletions properly.

grave 4/16

BUGS: 152107, 152249, 151864


 M  +2 -6      render_arena.cpp  
 M  +2 -0      render_arena.h  
 M  +1 -1      render_box.cpp  
 M  +15 -35    render_container.cpp  
 M  +0 -2      render_container.h  
 M  +2 -1      render_flow.cpp  
 M  +2 -1      render_layer.cpp  
 M  +2 -1      render_line.cpp  
 M  +8 -1      render_line.h  
 M  +2 -2      render_object.cpp  
 M  +2 -0      render_text.cpp  


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