Bug 62942 - [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
Summary: [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Martin Robinson
URL: http://www.kottke.org
Keywords:
: 62623 62624 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-18 16:12 PDT by Xan Lopez
Modified: 2011-06-20 23:05 PDT (History)
4 users (show)

See Also:


Attachments
Patch (2.43 KB, patch)
2011-06-19 23:58 PDT, Martin Robinson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Xan Lopez 2011-06-18 16:12:26 PDT
ASSERTION FAILED: it != gFontDataCache->end()
../../Source/WebCore/platform/graphics/FontCache.cpp(318) : void WebCore::FontCache::releaseFontData(const WebCore::SimpleFontData*)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff55aae84 in WebCore::FontCache::releaseFontData (this=0x1140aa0, fontData=0x32e1bb0)
    at ../../Source/WebCore/platform/graphics/FontCache.cpp:318
318	    ASSERT(it != gFontDataCache->end());
(gdb) bt
#0  0x00007ffff55aae84 in WebCore::FontCache::releaseFontData (this=0x1140aa0, fontData=0x32e1bb0)
    at ../../Source/WebCore/platform/graphics/FontCache.cpp:318
#1  0x00007ffff55b8c68 in WebCore::FontFallbackList::releaseFontData (this=0x3665f60)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.cpp:69
#2  0x00007ffff50d51ea in WebCore::FontFallbackList::~FontFallbackList (this=0x3665f60, __in_chrg=<optimized out>)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.h:44
#3  0x00007ffff50dab4d in WTF::RefCounted<WebCore::FontFallbackList>::deref (this=0x3665f60)
    at ../../Source/JavaScriptCore/wtf/RefCounted.h:141
#4  0x00007ffff50d9eb2 in WTF::derefIfNotNull<WebCore::FontFallbackList> (ptr=0x3665f60)
    at ../../Source/JavaScriptCore/wtf/PassRefPtr.h:59
#5  0x00007ffff50d80c3 in WTF::RefPtr<WebCore::FontFallbackList>::~RefPtr (this=0x2acf030, __in_chrg=<optimized out>)
    at ../../Source/JavaScriptCore/wtf/RefPtr.h:58
#6  0x00007ffff50d5260 in WebCore::Font::~Font (this=0x2acf008, __in_chrg=<optimized out>)
    at ../../Source/WebCore/platform/graphics/Font.h:230
#7  0x00007ffff57c3d40 in WebCore::StyleInheritedData::~StyleInheritedData (this=0x2aceff0, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/style/StyleInheritedData.cpp:39
#8  0x00007ffff50dad2d in WTF::RefCounted<WebCore::StyleInheritedData>::deref (this=0x2aceff0)
    at ../../Source/JavaScriptCore/wtf/RefCounted.h:141
#9  0x00007ffff50da17e in WTF::derefIfNotNull<WebCore::StyleInheritedData> (ptr=0x2aceff0)
    at ../../Source/JavaScriptCore/wtf/PassRefPtr.h:59
#10 0x00007ffff57bfcc5 in WTF::RefPtr<WebCore::StyleInheritedData>::~RefPtr (this=0x4dea2b0, __in_chrg=<optimized out>)
    at ../../Source/JavaScriptCore/wtf/RefPtr.h:58
#11 0x00007ffff57bef96 in WebCore::DataRef<WebCore::StyleInheritedData>::~DataRef (this=0x4dea2b0, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/style/DataRef.h:31
#12 0x00007ffff57b7946 in WebCore::RenderStyle::~RenderStyle (this=0x4dea270, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/style/RenderStyle.cpp:172
#13 0x00007ffff504db7f in WTF::RefCounted<WebCore::RenderStyle>::deref (this=0x4dea270)
    at ../../Source/JavaScriptCore/wtf/RefCounted.h:141
#14 0x00007ffff504c287 in WTF::derefIfNotNull<WebCore::RenderStyle> (ptr=0x4dea270) at ../../Source/JavaScriptCore/wtf/PassRefPtr.h:59
#15 0x00007ffff504acf3 in WTF::RefPtr<WebCore::RenderStyle>::~RefPtr (this=0x58427b0, __in_chrg=<optimized out>)
    at ../../Source/JavaScriptCore/wtf/RefPtr.h:58
#16 0x00007ffff574f8cc in WebCore::RenderObject::~RenderObject (this=0x58427a8, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/RenderObject.cpp:223
#17 0x00007ffff56f0d16 in WebCore::RenderBoxModelObject::~RenderBoxModelObject (this=0x58427a8, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/RenderBoxModelObject.cpp:249
#18 0x00007ffff56dec06 in WebCore::RenderBox::~RenderBox (this=0x58427a8, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/RenderBox.cpp:80
#19 0x00007ffff5692e81 in WebCore::RenderBlock::~RenderBlock (this=0x58427a8, __in_chrg=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/WebCore/rendering/RenderBlock.cpp:124
#20 0x00007ffff5692ec4 in WebCore::RenderBlock::~RenderBlock (this=0x58427a8, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:150
#21 0x00007ffff575818d in WebCore::RenderObject::arenaDelete (this=0x58427a8, arena=0x51da310, base=0x58427a8)
    at ../../Source/WebCore/rendering/RenderObject.cpp:2116
#22 0x00007ffff5757fae in WebCore::RenderObject::destroy (this=0x58427a8) at ../../Source/WebCore/rendering/RenderObject.cpp:2089
#23 0x00007ffff56f0ead in WebCore::RenderBoxModelObject::destroy (this=0x58427a8)
    at ../../Source/WebCore/rendering/RenderBoxModelObject.cpp:281
#24 0x00007ffff56df139 in WebCore::RenderBox::destroy (this=0x58427a8) at ../../Source/WebCore/rendering/RenderBox.cpp:207
#25 0x00007ffff5693033 in WebCore::RenderBlock::destroy (this=0x58427a8) at ../../Source/WebCore/rendering/RenderBlock.cpp:193
#26 0x00007ffff51c9fc7 in WebCore::Node::detach (this=0x3a79e30) at ../../Source/WebCore/dom/Node.cpp:1372
#27 0x00007ffff514cb45 in WebCore::ContainerNode::detach (this=0x3a79e30) at ../../Source/WebCore/dom/ContainerNode.cpp:776
#28 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x3a79e30) at ../../Source/WebCore/dom/Element.cpp:1047
#29 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x49a5290) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#30 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x49a5290) at ../../Source/WebCore/dom/Element.cpp:1047
#31 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x1fc8890) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#32 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x1fc8890) at ../../Source/WebCore/dom/Element.cpp:1047
#33 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x5dee4a0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#34 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x5dee4a0) at ../../Source/WebCore/dom/Element.cpp:1047
#35 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x5368170) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#36 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x5368170) at ../../Source/WebCore/dom/Element.cpp:1047
#37 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x2c10230) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#38 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x2c10230) at ../../Source/WebCore/dom/Element.cpp:1047
#39 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x3995700) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#40 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x3995700) at ../../Source/WebCore/dom/Element.cpp:1047
#41 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x37042a0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#42 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x37042a0) at ../../Source/WebCore/dom/Element.cpp:1047
#43 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x2df6360) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#44 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x2df6360) at ../../Source/WebCore/dom/Element.cpp:1047
#45 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x2f06290) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#46 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x2f06290) at ../../Source/WebCore/dom/Element.cpp:1047
#47 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x4a7ce00) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#48 0x00007ffff516357b in WebCore::Document::detach (this=0x4a7ce00) at ../../Source/WebCore/dom/Document.cpp:1807
#49 0x00007ffff52d0651 in WebCore::CachedFrame::destroy (this=0x5d2d930) at ../../Source/WebCore/history/CachedFrame.cpp:251
#50 0x00007ffff52d1abd in WebCore::CachedPage::destroy (this=0x29c1e00) at ../../Source/WebCore/history/CachedPage.cpp:110
#51 0x00007ffff52d8c8b in WebCore::PageCache::releaseAutoreleasedPagesNow (this=0x16581a0)
    at ../../Source/WebCore/history/PageCache.cpp:467
#52 0x00007ffff52d8bdb in WebCore::PageCache::releaseAutoreleasedPagesNowOrReschedule (this=0x16581a0, timer=0x16581b8)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/WebCore/history/PageCache.cpp:452
#53 0x00007ffff52dbaac in WebCore::Timer<WebCore::PageCache>::fired (this=0x16581b8) at ../../Source/WebCore/platform/Timer.h:100
#54 0x00007ffff5645f15 in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x11434f0)
    at ../../Source/WebCore/platform/ThreadTimers.cpp:112
#55 0x00007ffff5645e43 in WebCore::ThreadTimers::sharedTimerFired () at ../../Source/WebCore/platform/ThreadTimers.cpp:90
#56 0x00007ffff59dedd6 in WebCore::timeout_cb () at ../../Source/WebCore/platform/gtk/SharedTimerGtk.cpp:49
#57 0x00007ffff3a6839b in g_timeout_dispatch (source=0x7bdc990, callback=0x7ffff59dedb5 <WebCore::timeout_cb(gpointer)>, user_data=0x0)
    at gmain.c:3946
#58 0x00007ffff3a64d98 in g_main_dispatch (context=0x525c90) at gmain.c:2473
#59 0x00007ffff3a662e8 in g_main_context_dispatch (context=0x525c90) at gmain.c:3046
#60 0x00007ffff3a66795 in g_main_context_iterate (context=0x525c90, block=1, dispatch=1, self=0x4f5850) at gmain.c:3124
#61 0x00007ffff3a66eee in g_main_loop_run (loop=0x5cc840) at gmain.c:3332
#62 0x00007ffff411f3b3 in gtk_main () at gtkmain.c:1358
#63 0x0000000000430aa9 in main (argc=1, argv=0x7fffffffda38) at ../../src/ephy-main.c:666
(gdb)
Comment 1 Xan Lopez 2011-06-18 16:56:35 PDT
Probably related:


ASSERTION FAILED: it->second.second
../../Source/WebCore/platform/graphics/FontCache.cpp(320) : void WebCore::FontCache::releaseFontData(const WebCore::SimpleFontData*)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff55aaed5 in WebCore::FontCache::releaseFontData (this=0x1140f50, fontData=0x23e8160)
    at ../../Source/WebCore/platform/graphics/FontCache.cpp:320
320	    ASSERT(it->second.second);
(gdb) bt
#0  0x00007ffff55aaed5 in WebCore::FontCache::releaseFontData (this=0x1140f50, fontData=0x23e8160)
    at ../../Source/WebCore/platform/graphics/FontCache.cpp:320
#1  0x00007ffff55b8c68 in WebCore::FontFallbackList::releaseFontData (this=0x9f93240)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.cpp:69
#2  0x00007ffff50d51ea in WebCore::FontFallbackList::~FontFallbackList (this=0x9f93240, __in_chrg=<optimized out>)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.h:44
#3  0x00007ffff50dab4d in WTF::RefCounted<WebCore::FontFallbackList>::deref (this=0x9f93240)
    at ../../Source/JavaScriptCore/wtf/RefCounted.h:141
#4  0x00007ffff50d9eb2 in WTF::derefIfNotNull<WebCore::FontFallbackList> (ptr=0x9f93240)
    at ../../Source/JavaScriptCore/wtf/PassRefPtr.h:59
#5  0x00007ffff50d80c3 in WTF::RefPtr<WebCore::FontFallbackList>::~RefPtr (this=0x9f93210, __in_chrg=<optimized out>)
    at ../../Source/JavaScriptCore/wtf/RefPtr.h:58
#6  0x00007ffff50d5260 in WebCore::Font::~Font (this=0x9f931e8, __in_chrg=<optimized out>)
    at ../../Source/WebCore/platform/graphics/Font.h:230
#7  0x00007ffff57c3d40 in WebCore::StyleInheritedData::~StyleInheritedData (this=0x9f931d0, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/style/StyleInheritedData.cpp:39
#8  0x00007ffff50dad2d in WTF::RefCounted<WebCore::StyleInheritedData>::deref (this=0x9f931d0)
    at ../../Source/JavaScriptCore/wtf/RefCounted.h:141
#9  0x00007ffff50da17e in WTF::derefIfNotNull<WebCore::StyleInheritedData> (ptr=0x9f931d0)
    at ../../Source/JavaScriptCore/wtf/PassRefPtr.h:59
#10 0x00007ffff57bfcc5 in WTF::RefPtr<WebCore::StyleInheritedData>::~RefPtr (this=0x9f931a0, __in_chrg=<optimized out>)
    at ../../Source/JavaScriptCore/wtf/RefPtr.h:58
#11 0x00007ffff57bef96 in WebCore::DataRef<WebCore::StyleInheritedData>::~DataRef (this=0x9f931a0, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/style/DataRef.h:31
#12 0x00007ffff57b7946 in WebCore::RenderStyle::~RenderStyle (this=0x9f93160, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/style/RenderStyle.cpp:172
#13 0x00007ffff504db7f in WTF::RefCounted<WebCore::RenderStyle>::deref (this=0x9f93160)
    at ../../Source/JavaScriptCore/wtf/RefCounted.h:141
#14 0x00007ffff504c287 in WTF::derefIfNotNull<WebCore::RenderStyle> (ptr=0x9f93160) at ../../Source/JavaScriptCore/wtf/PassRefPtr.h:59
#15 0x00007ffff504acf3 in WTF::RefPtr<WebCore::RenderStyle>::~RefPtr (this=0x9f93310, __in_chrg=<optimized out>)
    at ../../Source/JavaScriptCore/wtf/RefPtr.h:58
#16 0x00007ffff574f8cc in WebCore::RenderObject::~RenderObject (this=0x9f93308, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/RenderObject.cpp:223
#17 0x00007ffff56f0d16 in WebCore::RenderBoxModelObject::~RenderBoxModelObject (this=0x9f93308, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/RenderBoxModelObject.cpp:249
#18 0x00007ffff572441c in WebCore::RenderInline::~RenderInline (this=0x9f93308, __in_chrg=<optimized out>)
    at ../../Source/WebCore/rendering/RenderInline.h:34
#19 0x00007ffff5724454 in WebCore::RenderInline::~RenderInline (this=0x9f93308, __in_chrg=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/WebCore/rendering/RenderInline.h:34
#20 0x00007ffff575818d in WebCore::RenderObject::arenaDelete (this=0x9f93308, arena=0x8184280, base=0x9f93308)
    at ../../Source/WebCore/rendering/RenderObject.cpp:2116
#21 0x00007ffff5757fae in WebCore::RenderObject::destroy (this=0x9f93308) at ../../Source/WebCore/rendering/RenderObject.cpp:2089
#22 0x00007ffff56f0ead in WebCore::RenderBoxModelObject::destroy (this=0x9f93308)
    at ../../Source/WebCore/rendering/RenderBoxModelObject.cpp:281
#23 0x00007ffff571bfb6 in WebCore::RenderInline::destroy (this=0x9f93308) at ../../Source/WebCore/rendering/RenderInline.cpp:108
#24 0x00007ffff51c9fc7 in WebCore::Node::detach (this=0x8331e60) at ../../Source/WebCore/dom/Node.cpp:1372
#25 0x00007ffff514cb45 in WebCore::ContainerNode::detach (this=0x8331e60) at ../../Source/WebCore/dom/ContainerNode.cpp:776
#26 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x8331e60) at ../../Source/WebCore/dom/Element.cpp:1047
#27 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x80ed5c0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#28 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x80ed5c0) at ../../Source/WebCore/dom/Element.cpp:1047
#29 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x8d01950) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#30 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x8d01950) at ../../Source/WebCore/dom/Element.cpp:1047
#31 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x8d01500) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#32 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x8d01500) at ../../Source/WebCore/dom/Element.cpp:1047
#33 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x8d00f80) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#34 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x8d00f80) at ../../Source/WebCore/dom/Element.cpp:1047
#35 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x9f6d5f0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#36 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x9f6d5f0) at ../../Source/WebCore/dom/Element.cpp:1047
#37 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x9f6cfa0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#38 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x9f6cfa0) at ../../Source/WebCore/dom/Element.cpp:1047
#39 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x9f6ca30) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#40 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x9f6ca30) at ../../Source/WebCore/dom/Element.cpp:1047
#41 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x84fbaf0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#42 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x84fbaf0) at ../../Source/WebCore/dom/Element.cpp:1047
#43 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x83270f0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#44 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x83270f0) at ../../Source/WebCore/dom/Element.cpp:1047
#45 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x6fc4560) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#46 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x6fc4560) at ../../Source/WebCore/dom/Element.cpp:1047
#47 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x91a4370) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#48 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x91a4370) at ../../Source/WebCore/dom/Element.cpp:1047
#49 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x66b37b0) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#50 0x00007ffff51a7f11 in WebCore::Element::detach (this=0x66b37b0) at ../../Source/WebCore/dom/Element.cpp:1047
#51 0x00007ffff514cb11 in WebCore::ContainerNode::detach (this=0x7cfaa40) at ../../Source/WebCore/dom/ContainerNode.cpp:774
#52 0x00007ffff516357b in WebCore::Document::detach (this=0x7cfaa40) at ../../Source/WebCore/dom/Document.cpp:1807
#53 0x00007ffff52d0651 in WebCore::CachedFrame::destroy (this=0xa5801c0) at ../../Source/WebCore/history/CachedFrame.cpp:251
#54 0x00007ffff52d1abd in WebCore::CachedPage::destroy (this=0x7b40bb0) at ../../Source/WebCore/history/CachedPage.cpp:110
---Type <return> to continue, or q <return> to quit---
#55 0x00007ffff52d8c8b in WebCore::PageCache::releaseAutoreleasedPagesNow (this=0x16594f0)
    at ../../Source/WebCore/history/PageCache.cpp:467
#56 0x00007ffff52d8bdb in WebCore::PageCache::releaseAutoreleasedPagesNowOrReschedule (this=0x16594f0, timer=0x1659508)
    at ../../Source/WebCore/history/PageCache.cpp:452
#57 0x00007ffff52dbaac in WebCore::Timer<WebCore::PageCache>::fired (this=0x1659508) at ../../Source/WebCore/platform/Timer.h:100
#58 0x00007ffff5645f15 in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x11439a0)
    at ../../Source/WebCore/platform/ThreadTimers.cpp:112
#59 0x00007ffff5645e43 in WebCore::ThreadTimers::sharedTimerFired () at ../../Source/WebCore/platform/ThreadTimers.cpp:90
#60 0x00007ffff59dedd6 in WebCore::timeout_cb () at ../../Source/WebCore/platform/gtk/SharedTimerGtk.cpp:49
#61 0x00007ffff3a6839b in g_timeout_dispatch (source=0x9e51a10, callback=0x7ffff59dedb5 <WebCore::timeout_cb(gpointer)>, user_data=0x0)
    at gmain.c:3946
#62 0x00007ffff3a64d98 in g_main_dispatch (context=0x525c90) at gmain.c:2473
#63 0x00007ffff3a662e8 in g_main_context_dispatch (context=0x525c90) at gmain.c:3046
#64 0x00007ffff3a66795 in g_main_context_iterate (context=0x525c90, block=1, dispatch=1, self=0x4f5850) at gmain.c:3124
#65 0x00007ffff3a66eee in g_main_loop_run (loop=0x5cc820) at gmain.c:3332
#66 0x00007ffff411f3b3 in gtk_main () at gtkmain.c:1358
#67 0x0000000000430aa9 in main (argc=1, argv=0x7fffffffda38) at ../../src/ephy-main.c:666
(gdb)
Comment 2 Xan Lopez 2011-06-19 12:29:33 PDT
And probably related too:


Program received signal SIGSEGV, Segmentation fault.
0x00007ffff55b591b in WTF::HashTable<WebCore::FontPlatformData, std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> >, WTF::PairFirstExtractor<std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyHash, WTF::PairHashTraits<WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyTraits>::reinsert (this=0x1d86f10, entry=...) at ../../Source/JavaScriptCore/wtf/HashTable.h:762
762	        ASSERT(!lookupForWriting(Extractor::extract(entry)).second);
(gdb) bt
#0  0x00007ffff55b591b in WTF::HashTable<WebCore::FontPlatformData, std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> >, WTF::PairFirstExtractor<std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyHash, WTF::PairHashTraits<WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyTraits>::reinsert (this=0x1d86f10, entry=...) at ../../Source/JavaScriptCore/wtf/HashTable.h:762
#1  0x00007ffff55b48c3 in WTF::HashTable<WebCore::FontPlatformData, std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> >, WTF::PairFirstExtractor<std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyHash, WTF::PairHashTraits<WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyTraits>::rehash (this=0x1d86f10, newTableSize=512) at ../../Source/JavaScriptCore/wtf/HashTable.h:932
#2  0x00007ffff55b3241 in WTF::HashTable<WebCore::FontPlatformData, std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> >, WTF::PairFirstExtractor<std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyHash, WTF::PairHashTraits<WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyTraits>::expand (this=0x1d86f10) at ../../Source/JavaScriptCore/wtf/HashTable.h:910
#3  0x00007ffff55b0d81 in WTF::HashTable<WebCore::FontPlatformData, std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> >, WTF::PairFirstExtractor<std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyHash, WTF::PairHashTraits<WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyTraits>::add<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int>, WTF::HashMapTranslator<std::pair<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int> >, WTF::PairHashTraits<WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >, WebCore::FontDataCacheKeyHash> > (this=0x1d86f10, 
    key=..., extra=...) at ../../Source/JavaScriptCore/wtf/HashTable.h:702
#4  0x00007ffff55ae3f4 in WTF::HashMap<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int>, WebCore::FontDataCacheKeyHash, WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >::inlineAdd (
    this=0x1d86f10, key=..., mapped=...) at ../../Source/JavaScriptCore/wtf/HashMap.h:242
#5  0x00007ffff55ac69a in WTF::HashMap<WebCore::FontPlatformData, std::pair<WebCore::SimpleFontData*, unsigned int>, WebCore::FontDataCacheKeyHash, WebCore::FontDataCacheKeyTraits, WTF::HashTraits<std::pair<WebCore::SimpleFontData*, unsigned int> > >::set (this=0x1d86f10, 
    key=..., mapped=...) at ../../Source/JavaScriptCore/wtf/HashMap.h:249
#6  0x00007ffff55aab9e in WebCore::FontCache::getCachedFontData (this=0x113f580, platformData=0xba59b70, 
    shouldRetain=WebCore::FontCache::Retain) at ../../Source/WebCore/platform/graphics/FontCache.cpp:290
#7  0x00007ffff55aa9d7 in WebCore::FontCache::getCachedFontData (this=0x113f580, fontDescription=..., family=..., 
    checkingAlternateName=false, shouldRetain=WebCore::FontCache::Retain) at ../../Source/WebCore/platform/graphics/FontCache.cpp:269
#8  0x00007ffff55ab59e in WebCore::FontCache::getFontData (this=0x113f580, font=..., familyIndex=@0x7986f60, fontSelector=0x2895fa0)
    at ../../Source/WebCore/platform/graphics/FontCache.cpp:411
#9  0x00007ffff55b8e86 in WebCore::FontFallbackList::fontDataAt (this=0x7986ed0, font=0x9606dc8, realizedFontIndex=1)
    at ../../Source/WebCore/platform/graphics/FontFallbackList.cpp:105
#10 0x00007ffff55bc611 in WebCore::Font::fontDataAt (this=0x9606dc8, index=1) at ../../Source/WebCore/platform/graphics/Font.h:243
#11 0x00007ffff55ba17b in WebCore::Font::glyphDataForCharacter (this=0x9606dc8, c=477, mirror=false, variant=WebCore::NormalVariant)
    at ../../Source/WebCore/platform/graphics/FontFastPath.cpp:134
#12 0x00007ffff55ef74b in WebCore::WidthIterator::advance (this=0x7fffffff7cb0, offset=7, glyphBuffer=0x0)
    at ../../Source/WebCore/platform/graphics/WidthIterator.cpp:126
---Type <return> to continue, or q <return> to quit---
#13 0x00007ffff55bb53d in WebCore::Font::floatWidthForSimpleText (this=0x9606dc8, run=..., glyphBuffer=0x0, fallbackFonts=0x0, 
    glyphOverflow=0x0) at ../../Source/WebCore/platform/graphics/FontFastPath.cpp:453
#14 0x00007ffff55b73b7 in WebCore::Font::width (this=0x9606dc8, run=..., fallbackFonts=0x0, glyphOverflow=0x0)
    at ../../Source/WebCore/platform/graphics/Font.cpp:190
#15 0x00007ffff56d1fe5 in WebCore::textWidth (text=0x7987028, from=0, len=7, font=..., xPos=114, isFixedPitch=false, 
    collapseWhiteSpace=true) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1591
#16 0x00007ffff56d4223 in WebCore::RenderBlock::LineBreaker::nextLineBreak (this=0x7fffffff85e0, resolver=..., lineInfo=..., 
    lineBreakIteratorInfo=..., lastFloatFromPreviousLine=0xc6313e0) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:2140
#17 0x00007ffff56ce6e8 in WebCore::RenderBlock::layoutRunsAndFloats (this=0x9270e18, layoutState=..., hasInlineChild=true, floats=...)
    at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:948
#18 0x00007ffff56cff37 in WebCore::RenderBlock::layoutInlineChildren (this=0x9270e18, relayoutChildren=true, 
    repaintLogicalTop=@0x7fffffff8abc, repaintLogicalBottom=@0x7fffffff8ab8)
    at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1186
#19 0x00007ffff56974d9 in WebCore::RenderBlock::layoutBlock (this=0x9270e18, relayoutChildren=true, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1257
#20 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x9270e18) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155

#21 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x9270c58, child=0x9270e18, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff8d8c, maxFloatLogicalBottom=@0x7fffffff8ec4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#22 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x9270c58, relayoutChildren=true, 
    maxFloatLogicalBottom=@0x7fffffff8ec4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#23 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x9270c58, relayoutChildren=true, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#24 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x9270c58) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#25 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x8fd7648, child=0x9270c58, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff919c, maxFloatLogicalBottom=@0x7fffffff92d4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#26 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x8fd7648, relayoutChildren=true, 
    maxFloatLogicalBottom=@0x7fffffff92d4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#27 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x8fd7648, relayoutChildren=true, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#28 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x8fd7648) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#29 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x79f9538, child=0x8fd7648, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff95ac, maxFloatLogicalBottom=@0x7fffffff96e4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#30 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x79f9538, relayoutChildren=true, 
    maxFloatLogicalBottom=@0x7fffffff96e4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#31 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x79f9538, relayoutChildren=true, pageLogicalHeight=0)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#32 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x79f9538) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#33 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x72df3c8, child=0x79f9538, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff99bc, maxFloatLogicalBottom=@0x7fffffff9af4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#34 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x72df3c8, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffff9af4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#35 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x72df3c8, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#36 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x72df3c8) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#37 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x5ab7608, child=0x72df3c8, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffff9dcc, maxFloatLogicalBottom=@0x7fffffff9f04)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#38 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x5ab7608, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffff9f04) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#39 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x5ab7608, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#40 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x5ab7608) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#41 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x72d21a8, child=0x5ab7608, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffa1dc, maxFloatLogicalBottom=@0x7fffffffa314)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#42 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x72d21a8, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffa314) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#43 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x72d21a8, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#44 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x72d21a8) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#45 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x84d4758, child=0x72d21a8, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffa5ec, maxFloatLogicalBottom=@0x7fffffffa724)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#46 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x84d4758, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffa724) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#47 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x84d4758, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#48 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x84d4758) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#49 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x7815ed8, child=0x84d4758, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffa9fc, maxFloatLogicalBottom=@0x7fffffffab34)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#50 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x7815ed8, relayoutChildren=false, 
---Type <return> to continue, or q <return> to quit---
    maxFloatLogicalBottom=@0x7fffffffab34) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#51 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x7815ed8, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#52 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x7815ed8) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#53 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x86a3628, child=0x7815ed8, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffae0c, maxFloatLogicalBottom=@0x7fffffffaf44)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#54 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x86a3628, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffaf44) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#55 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x86a3628, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#56 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x86a3628) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#57 0x00007ffff56b06ef in WebCore::RenderObject::layoutIfNeeded (this=0x86a3628) at ../../Source/WebCore/rendering/RenderObject.h:539
#58 0x00007ffff56a1066 in WebCore::RenderBlock::insertFloatingObject (this=0x726e298, o=0x86a3628)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:3165
#59 0x00007ffff5698ab1 in WebCore::RenderBlock::handleFloatingChild (this=0x726e298, child=0x86a3628, marginInfo=...)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1528
#60 0x00007ffff56989ec in WebCore::RenderBlock::handleSpecialChild (this=0x726e298, child=0x86a3628, marginInfo=...)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1510
#61 0x00007ffff569a4c7 in WebCore::RenderBlock::layoutBlockChildren (this=0x726e298, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffb3a4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1932
#62 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x726e298, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#63 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x726e298) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#64 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x77dd528, child=0x726e298, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffb67c, maxFloatLogicalBottom=@0x7fffffffb7b4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#65 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x77dd528, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffb7b4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#66 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x77dd528, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#67 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x77dd528) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#68 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x74dd898, child=0x77dd528, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffba8c, maxFloatLogicalBottom=@0x7fffffffbbc4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#69 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x74dd898, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffbbc4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#70 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x74dd898, relayoutChildren=false, pageLogicalHeight=0)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#71 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x74dd898) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#72 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x5a77ca8, child=0x74dd898, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffbe9c, maxFloatLogicalBottom=@0x7fffffffbfd4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#73 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x5a77ca8, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffbfd4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#74 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x5a77ca8, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#75 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x5a77ca8) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#76 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x29c8ad8, child=0x5a77ca8, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffc2ac, maxFloatLogicalBottom=@0x7fffffffc3e4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#77 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x29c8ad8, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffc3e4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#78 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x29c8ad8, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#79 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x29c8ad8) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#80 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x2b59a98, child=0x29c8ad8, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffc6bc, maxFloatLogicalBottom=@0x7fffffffc7f4)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#81 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x2b59a98, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffc7f4) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#82 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x2b59a98, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#83 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x2b59a98) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#84 0x00007ffff569a8de in WebCore::RenderBlock::layoutBlockChild (this=0x37a0828, child=0x2b59a98, marginInfo=..., 
    previousFloatLogicalBottom=@0x7fffffffcacc, maxFloatLogicalBottom=@0x7fffffffcc04)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1998
#85 0x00007ffff569a4f6 in WebCore::RenderBlock::layoutBlockChildren (this=0x37a0828, relayoutChildren=false, 
    maxFloatLogicalBottom=@0x7fffffffcc04) at ../../Source/WebCore/rendering/RenderBlock.cpp:1936
#86 0x00007ffff56974fa in WebCore::RenderBlock::layoutBlock (this=0x37a0828, relayoutChildren=false, pageLogicalHeight=0)
    at ../../Source/WebCore/rendering/RenderBlock.cpp:1259
#87 0x00007ffff5696e0c in WebCore::RenderBlock::layout (this=0x37a0828) at ../../Source/WebCore/rendering/RenderBlock.cpp:1155
#88 0x00007ffff579a097 in WebCore::RenderView::layout (this=0x37a0828) at ../../Source/WebCore/rendering/RenderView.cpp:130
#89 0x00007ffff554ea27 in WebCore::FrameView::layout (this=0x8460070, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1000
#90 0x00007ffff5162671 in WebCore::Document::updateLayout (this=0x62cde60) at ../../Source/WebCore/dom/Document.cpp:1612
#91 0x00007ffff5162752 in WebCore::Document::updateLayoutIgnorePendingStylesheets (this=0x62cde60)
Comment 3 Martin Robinson 2011-06-19 23:38:22 PDT
After a couple days of pounding my head onto my desk, I believe I have finally uncovered the issue here. The == operator overload of the FreeType FontPlatformData does not properly make the distinction between the hash table deleted value (m_scaledFont == -1) and the hash table empty value (m_scaledFont == 0). 

This means that when a font is purged from the FontCache, that bucket may seem from then on to be an empty bucket. This short circuits the .find(...) and .remove(...) logic too soon as they search for their target entries.

The bug has existed for some time, but was only recently revealed by changes to the font cache size constants. Patch in a moment.
Comment 4 Martin Robinson 2011-06-19 23:58:46 PDT
Created attachment 97755 [details]
Patch
Comment 5 Xan Lopez 2011-06-20 06:54:34 PDT
Comment on attachment 97755 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=97755&action=review

Alright, this hasn't crashed on me in 2+ hours, so clearly it must be an improvement. I think I miss a detailed explanation of why using FcPatternEqual somehow breaks the distinction between deleted and null font stuff in the ChangeLog, though.

> Source/WebCore/ChangeLog:8
> +        Fix thee == operator overload of the FreeType FontPlatformData to properly make the

s/thee/the/
Comment 6 Martin Robinson 2011-06-20 08:50:41 PDT
Committed r89248: <http://trac.webkit.org/changeset/89248>
Comment 7 Martin Robinson 2011-06-20 08:51:56 PDT
Comment on attachment 97755 [details]
Patch

Clearing flag on landed patch.
Comment 8 Martin Robinson 2011-06-20 23:05:13 PDT
*** Bug 62624 has been marked as a duplicate of this bug. ***
Comment 9 Martin Robinson 2011-06-20 23:05:30 PDT
*** Bug 62623 has been marked as a duplicate of this bug. ***