Bug 30124

Summary: [GTK] Segfault while testing fast/loader/opaque-base-url.html
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: UNCONFIRMED ---    
Severity: Normal CC: bugs-noreply
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   

Description Philippe Normand 2009-10-06 05:56:55 PDT
ASSERTION FAILED: !url.length() || isSchemeFirstChar(url[0])
(../../WebCore/platform/KURL.cpp:276 void WebCore::checkEncodedString(const WebCore::String&))

Program received signal SIGSEGV, Segmentation fault.
0xf6f414a6 in checkEncodedString (url=...) at ../../WebCore/platform/KURL.cpp:276
276	    ASSERT(!url.length() || isSchemeFirstChar(url[0]));
(gdb) t a a bt

Thread 2 (Thread 0xf4120b90 (LWP 5356)):
#0  0xf7fdf430 in __kernel_vsyscall ()
#1  0xf55f4292 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xf4fcb06d in g_cond_timed_wait_posix_impl (cond=0x80fbb40, entered_mutex=0x80, abs_time=0xf)
    at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/gthread/gthread-posix.c:242
#3  0xf4e00b19 in g_async_queue_pop_intern_unlocked (queue=0x80fa3c8, try=<value optimized out>, end_time=0xf41202e4)
    at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gasyncqueue.c:365
#4  0xf4e537a8 in g_thread_pool_wait_for_new_task (data=0x80fa390) at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gthreadpool.c:220
#5  g_thread_pool_thread_proxy (data=0x80fa390) at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gthreadpool.c:254
#6  0xf4e5211f in g_thread_create_proxy (data=0x80fa408) at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gthread.c:635
#7  0xf55f04b5 in start_thread (arg=0xf4120b90) at pthread_create.c:300
#8  0xf4c38a5e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xf42e4760 (LWP 5308)):
#0  0xf6f414a6 in checkEncodedString (url=...) at ../../WebCore/platform/KURL.cpp:276
#1  0xf6f431c8 in WebCore::KURL::parse (this=0xffffc5c0, string=...) at ../../WebCore/platform/KURL.cpp:1016
#2  0xf6f45aaf in KURL (this=0xffffc5c0, url=...) at ../../WebCore/platform/KURL.cpp:313
#3  0xf6d901a0 in WebCore::HistoryItem::url (this=0x81768d0) at ../../WebCore/history/HistoryItem.cpp:175
#4  0xf6d901e0 in WebCore::HistoryItem::isCurrentDocument (this=0x81768d0, doc=0x81e8470) at ../../WebCore/history/HistoryItem.cpp:483
#5  0xf6e82fb7 in WebCore::FrameLoader::saveDocumentState (this=0x81a7184) at ../../WebCore/loader/FrameLoader.cpp:4191
#6  0xf6e9303f in WebCore::FrameLoader::closeURL (this=0x81a7184) at ../../WebCore/loader/FrameLoader.cpp:571
#7  0xf6e93b41 in WebCore::FrameLoader::didOpenURL (this=0x81a7184, url=...) at ../../WebCore/loader/FrameLoader.cpp:614
#8  0xf6e94501 in WebCore::FrameLoader::commitProvisionalLoad (this=0x81a7184, prpCachedPage=...) at ../../WebCore/loader/FrameLoader.cpp:2589
#9  0xf6e6f5fa in WebCore::DocumentLoader::commitIfReady (this=0x81c6890) at ../../WebCore/loader/DocumentLoader.cpp:320
#10 0xf6e6f63b in WebCore::DocumentLoader::commitLoad (this=0x81c6890, data=0x8137138 "<html><body>URL cannot be shown</body></html>", length=45)
    at ../../WebCore/loader/DocumentLoader.cpp:340
#11 0xf6e6f6d8 in WebCore::DocumentLoader::receivedData (this=0x81c6890, data=0x8137138 "<html><body>URL cannot be shown</body></html>", length=45)
    at ../../WebCore/loader/DocumentLoader.cpp:354
#12 0xf6e89393 in WebCore::FrameLoader::receivedData (this=0x81a7184, data=0x8137138 "<html><body>URL cannot be shown</body></html>", length=45)
    at ../../WebCore/loader/FrameLoader.cpp:2210
#13 0xf6e9d9d0 in WebCore::MainResourceLoader::addData (this=0x81a7ad0, data=0x8137138 "<html><body>URL cannot be shown</body></html>", length=45, allAtOnce=true)
    at ../../WebCore/loader/MainResourceLoader.cpp:143
#14 0xf6ea772b in WebCore::ResourceLoader::didReceiveData (this=0x81a7ad0, data=0x8137138 "<html><body>URL cannot be shown</body></html>", length=45, lengthReceived=45, 
    allAtOnce=true) at ../../WebCore/loader/ResourceLoader.cpp:248
#15 0xf6e9ce54 in WebCore::MainResourceLoader::didReceiveData (this=0x81a7ad0, data=0x8137138 "<html><body>URL cannot be shown</body></html>", length=45, lengthReceived=45, 
    allAtOnce=true) at ../../WebCore/loader/MainResourceLoader.cpp:356
#16 0xf6e9e56d in WebCore::MainResourceLoader::continueAfterContentPolicy (this=0x81a7ad0, contentPolicy=WebCore::PolicyUse, r=...)
    at ../../WebCore/loader/MainResourceLoader.cpp:260
#17 0xf6e9e759 in WebCore::MainResourceLoader::continueAfterContentPolicy (this=0x81a7ad0, policy=WebCore::PolicyUse) at ../../WebCore/loader/MainResourceLoader.cpp:278
#18 0xf6e9e792 in WebCore::MainResourceLoader::callContinueAfterContentPolicy (argument=0x81a7ad0, policy=WebCore::PolicyUse)
    at ../../WebCore/loader/MainResourceLoader.cpp:270
#19 0xf6e8926d in WebCore::FrameLoader::checkContentPolicy (this=0x81a7184, MIMEType=..., 
    function=0xf6e9e76e <WebCore::MainResourceLoader::callContinueAfterContentPolicy(void*, WebCore::PolicyAction)>, argument=0x81a7ad0)
    at ../../WebCore/loader/FrameLoader.cpp:2241
#20 0xf6e9d94c in WebCore::MainResourceLoader::didReceiveResponse (this=0x81a7ad0, r=...) at ../../WebCore/loader/MainResourceLoader.cpp:323
#21 0xf6e9ca8d in WebCore::MainResourceLoader::handleDataLoadNow (this=0x81a7ad0) at ../../WebCore/loader/MainResourceLoader.cpp:420
---Type <return> to continue, or q <return> to quit---
#22 0xf6e9ec45 in WebCore::Timer<WebCore::MainResourceLoader>::fired (this=0x81a7e2c) at ../../WebCore/platform/Timer.h:98
#23 0xf6f589af in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x80a9bb0) at ../../WebCore/platform/ThreadTimers.cpp:112
#24 0xf6f58a75 in WebCore::ThreadTimers::sharedTimerFired () at ../../WebCore/platform/ThreadTimers.cpp:90
#25 0xf72b397d in timeout_cb () at ../../WebCore/platform/gtk/SharedTimerGtk.cpp:48
#26 0xf4e260b1 in g_idle_dispatch (source=0x8140940, callback=0xbbadbeef, user_data=0x0) at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gmain.c:4065
#27 0xf4e27e98 in g_main_dispatch (context=0x8095da0) at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gmain.c:1960
#28 IA__g_main_context_dispatch (context=0x8095da0) at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gmain.c:2513
#29 0xf4e2b623 in g_main_context_iterate (context=0x8095da0, block=1, dispatch=1, self=0x8073060)
    at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gmain.c:2591
#30 0xf4e2b7a8 in IA__g_main_context_iteration (context=0x8095da0, may_block=1) at /build/buildd-glib2.0_2.22.1-1-i386-tx7y62/glib2.0-2.22.1/glib/gmain.c:2654
#31 0x08055f17 in runTest (testPathOrURL=...) at ../../WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp:484
#32 0x08056424 in main (argc=2, argv=0xffffd7b4) at ../../WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp:807