Summary: | ASSERTION FAILED: character != kEndOfFileMarker in WebCore::HTMLTokenizer::bufferCharacter | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Renata Hodovan <rhodovan.u-szeged> | ||||||
Component: | Page Loading | Assignee: | Darin Adler <darin> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | ap, commit-queue, darin, esprehn+autocc, gyuyoung.kim, kling | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 116980 | ||||||||
Attachments: |
|
I’ll take this one. I’ve just been working on this code. Created attachment 244245 [details]
Patch
Comment on attachment 244245 [details] Patch Clearing flags on attachment: 244245 Committed r178128: <http://trac.webkit.org/changeset/178128> All reviewed patches have been landed. Closing bug. |
Created attachment 244157 [details] Test case Load this test with debug WK: <!DOCTYPE html> <div>� Backtrace: ASSERTION FAILED: character != kEndOfFileMarker ../../Source/WebCore/html/parser/HTMLTokenizer.h(189) : void WebCore::HTMLTokenizer::bufferCharacter(UChar) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff98984700 (LWP 2074)] 0x00007fffed92a5c7 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321 321 *(int *)(uintptr_t)0xbbadbeef = 0; #0 0x00007fffed92a5c7 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321 #1 0x00007ffff331af51 in WebCore::HTMLTokenizer::bufferCharacter (this=0x7ffff7eceaf0, character=0) at ../../Source/WebCore/html/parser/HTMLTokenizer.h:189 #2 0x00007ffff331b267 in WebCore::HTMLTokenizer::processEntity (this=0x7ffff7eceaf0, source=...) at ../../Source/WebCore/html/parser/HTMLTokenizer.cpp:117 #3 0x00007ffff3312068 in WebCore::HTMLTokenizer::nextToken (this=0x7ffff7eceaf0, source=..., token=...) at ../../Source/WebCore/html/parser/HTMLTokenizer.cpp:200 #4 0x00007ffff32f6028 in WebCore::HTMLDocumentParser::pumpTokenizer (this=0x7ffff7ece100, mode=WebCore::HTMLDocumentParser::ForceSynchronous) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:284 #5 0x00007ffff32f5a77 in WebCore::HTMLDocumentParser::pumpTokenizerIfPossible (this=0x7ffff7ece100, mode=WebCore::HTMLDocumentParser::ForceSynchronous) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:187 #6 0x00007ffff32f58cb in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x7ffff7ece100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:137 #7 0x00007ffff32f6ceb in WebCore::HTMLDocumentParser::attemptToEnd (this=0x7ffff7ece100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:446 #8 0x00007ffff32f6d99 in WebCore::HTMLDocumentParser::finish (this=0x7ffff7ece100) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:474 #9 0x00007ffff3463885 in WebCore::DocumentWriter::end (this=0x7ffff7ebaaa0) at ../../Source/WebCore/loader/DocumentWriter.cpp:247 #10 0x00007ffff344f029 in WebCore::DocumentLoader::finishedLoading (this=0x7ffff7ebaa00, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:440 #11 0x00007ffff344ed92 in WebCore::DocumentLoader::notifyFinished (this=0x7ffff7ebaa00, resource=0x7ffff7ec7680) at ../../Source/WebCore/loader/DocumentLoader.cpp:374 #12 0x00007ffff3501e1e in WebCore::CachedResource::checkNotify (this=0x7ffff7ec7680) at ../../Source/WebCore/loader/cache/CachedResource.cpp:294 #13 0x00007ffff3501f1c in WebCore::CachedResource::finishLoading (this=0x7ffff7ec7680) at ../../Source/WebCore/loader/cache/CachedResource.cpp:310 #14 0x00007ffff34fe617 in WebCore::CachedRawResource::finishLoading (this=0x7ffff7ec7680, data=0x7fff9843f570) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:104 #15 0x00007ffff34b1886 in WebCore::SubresourceLoader::didFinishLoading (this=0x7ffff7ec7200, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:355 #16 0x00007ffff34ad4e7 in WebCore::ResourceLoader::didFinishLoading (this=0x7ffff7ec7200, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:506 #17 0x00007ffff3e58c65 in WebCore::readCallback (asyncResult=0x7b69d0, data=0x7fff984370e0) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1295 #18 0x00007fffeb4cc7d6 in async_ready_callback_wrapper (source_object=0x7c8ad0, res=0x7b69d0, user_data=user_data@entry=0x7fff984370e0) at ginputstream.c:523 #19 0x00007fffeb4f20d5 in g_task_return_now (task=0x7b69d0) at gtask.c:1077 #20 0x00007fffeb4f20f9 in complete_in_idle_cb (task=0x7b69d0) at gtask.c:1086 #21 0x00007fffea7319fd in g_main_dispatch (context=0x478330) at gmain.c:3064 #22 g_main_context_dispatch (context=context@entry=0x478330) at gmain.c:3663 #23 0x00007fffea731d68 in g_main_context_iterate (context=0x478330, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3734 #24 0x00007fffea73202a in g_main_loop_run (loop=0x8fd9e0) at gmain.c:3928 #25 0x00007ffff4537450 in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59 #26 0x00007ffff2a65456 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffd888) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #27 0x00007ffff2a652bb in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd888) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:70 #28 0x0000000000400891 in main (argc=2, argv=0x7fffffffd888) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44