Bug 137743

Summary: [GTK] Invalid cast from 'WebKitDOMHTMLElement' to 'WebKitDOMHTMLFormElement'
Product: WebKit Reporter: Guilaume Ayoub <guillaume.webkit>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: alpine.art.de, berto, bugs-noreply, cgarcia, mcatanzaro, serge.gavrilov
Priority: P3    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   

Description Guilaume Ayoub 2014-10-15 10:00:30 PDT
I've tried to use Webkit-Gtk 2.6.0 and 2.6.1 with Epiphany, but I can't use it to load more than 3 or 4 pages. After this very short amount of pages loaded and displayed, I get this error:

(WebKitWebProcess:9396): GLib-GObject-WARNING **: invalid cast from 'WebKitDOMHTMLElement' to 'WebKitDOMHTMLFormElement'

** (WebKitWebProcess:9396): CRITICAL **: WebKitDOMHTMLCollection* webkit_dom_html_form_element_get_elements(WebKitDOMHTMLFormElement*): assertion 'WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)' failed

** (WebKitWebProcess:9396): CRITICAL **: gulong webkit_dom_html_collection_get_length(WebKitDOMHTMLCollection*): assertion 'WEBKIT_DOM_IS_HTML_COLLECTION(self)' failed

(WebKitWebProcess:9396): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

Then, I get these 4 lines each time I load a website. After this, no CSS and no JS seems to work on the displayed pages. Epiphany sometimes crashes shortly (after displaying 10/20 pages) after the error first appears.

My installed libraries :

- glib-2.42.0
- gtk+-3.14.3
- epiphany-3.14.x
- webkitgtk-2.6.x
Comment 1 Guilaume Ayoub 2014-11-18 05:44:29 PST
Same result with Webkit-Gtk 2.6.2, 2.6.3 is compiling. Can I provide more information that would help you to reproduce and close this bug?
Comment 2 Carlos Garcia Campos 2014-12-01 06:36:13 PST
This looks like a problem with the epiphany form filler. Does it happen with any web site? or after trying to load a particular page?
Comment 3 Guilaume Ayoub 2014-12-01 08:07:29 PST
(In reply to comment #2)
> This looks like a problem with the epiphany form filler. Does it happen with
> any web site? or after trying to load a particular page?

It happens on many websites but not all of them, lequipe.fr seems to always raise the error. I've added steps to reproduce the bug here: https://bugzilla.gnome.org/show_bug.cgi?id=739117
Comment 4 Guilaume Ayoub 2014-12-01 10:10:18 PST
You're right about the form filler. I've unchecked the "remember passwords" with an empty account and I don't have the error logs anymore. So the problem is unrelated to these messages (but unchecking the option doesn't solve it).
Comment 5 Alberto Garcia 2014-12-08 02:41:16 PST
I can't reproduce this with epiphany 3.14.1-1 and webkit 2.6.2+dfsg1-2 (both from Debian).

Is this a problem in Epiphany or in WebKit? Does it also happen with the MiniBrowser?
Comment 6 Guilaume Ayoub 2014-12-09 04:48:28 PST
I've tried to compile Webkit-Gtk from the git repository with default features enabled, and it works in both MiniBrowser and Epiphany. So I'm now pretty sure that this bug is caused by a feature enabled or disabled in my config flags. I'm now trying to bisect the configuration to find the culprit.

Thank you so much for your patience.
Comment 7 alpine.art.de 2014-12-25 02:01:06 PST
I also get this issue: No CSS/JS on certain pages. First load is fine, but after navigating (usually within 5 steps) on the page the error appears.
Even plain simple webpages (no js, hardcoded links) stop working, and I can't click any link. It looks as if rendering just stops at a certain point.

I can add that the whole WebView-instance is broken after the first time this error shows up. So navigating to a different page - even to one that usually works fine - immediately shows up that error.

But in the first place I did not use epiphany. I just was playing with the API and set up little scripts with python and ruby. I thought I might be doing something wrong so I installed epiphany - with the same results.

I am running webkit-gtk-2.6.4 and gtk-3.14.6.
Comment 8 alpine.art.de 2014-12-27 03:21:38 PST
Issue fixed! By compiling with clang.
The problematic build was done with gcc-4.9.2.
C{XX}FLAGS="-march=corei7-avx -O2 -pipe"

CPU:
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
stepping        : 7
microcode       : 0x1b
cpu MHz         : 1156.828
cache size      : 3072 KB

I had jit enabled and that seems to depend on LLVM. Already thought of disabling that while keep building with gcc, but I decided to give clang a chance - and succeeded. My machine is quite slow, so recompiling webkit just for testing is not that much fun ;)

So I'm back on happy holiday hacking :)
Comment 9 Michael Catanzaro 2014-12-27 07:42:56 PST
For anyone who can reproduce this, a backtrace from the web process for one of these two errors would be helpful:

(In reply to comment #0)
> (WebKitWebProcess:9396): GLib-GObject-WARNING **: invalid cast from
> 'WebKitDOMHTMLElement' to 'WebKitDOMHTMLFormElement'
> 
> ** (WebKitWebProcess:9396): CRITICAL **: WebKitDOMHTMLCollection*
> webkit_dom_html_form_element_get_elements(WebKitDOMHTMLFormElement*):
> assertion 'WEBKIT_DOM_IS_HTML_FORM_ELEMENT(self)' failed

If the browser isn't hitting any other warnings (perhaps not realistic), then get the backtrace by running with G_DEBUG=fatal-warnings in your environment. Otherwise, use G_DEBUG=fatal-criticals. Thanks!
Comment 10 alpine.art.de 2014-12-27 08:02:18 PST
Is it possible to easily build webkit-gtk with debugging symbols?
AFAIR at one point 16GB of RAM were needed (at least I remember that number) to link it. I just have 4GB and constatntly ran out of memory, so I needed to specifically disable -ggdb for webkit-gtk.
And a backtrace with disabled debugging support is worthless ;)
Comment 11 Michael Catanzaro 2014-12-27 08:21:13 PST
(In reply to comment #10)
> Is it possible to easily build webkit-gtk with debugging symbols?

I would not attempt a debug build on your computer, but a backtrace from a release build would be much better than nothing.

(I would guess ~4GB and considerable patience would be needed for linking a debug build if you use the gold linker.)
Comment 12 Serge 2015-01-16 12:24:36 PST
Broken on Gentoo ~amd64, gcc 4.8.3 compiled with -O2.

Works well if compiled with -O1.

Trying to obtain the backtrace ...
Comment 13 Serge 2015-01-16 14:14:10 PST
#0  0x00007fffef84e8ec in WTFCrash () from /usr/lib64/libjavascriptcoregtk-4.0.so.18
#1  0x00007fffef860e40 in WTF::TCMalloc_ThreadCache_FreeList::Validate(WTF::HardenedSLL, unsigned long) () from /usr/lib64/libjavascriptcoregtk-4.0.so.18
#2  0x00007fffef858874 in WTF::fastFree(void*) () from /usr/lib64/libjavascriptcoregtk-4.0.so.18
#3  0x00007ffff51e7ba3 in ?? () from /usr/lib64/libwebkit2gtk-4.0.so.37
#4  0x00007ffff51e39ab in ?? () from /usr/lib64/libwebkit2gtk-4.0.so.37
#5  0x00007ffff51e557c in ?? () from /usr/lib64/libwebkit2gtk-4.0.so.37
#6  0x00007ffff52258af in ?? () from /usr/lib64/libwebkit2gtk-4.0.so.37
#7  0x00007ffff4ff5901 in ?? () from /usr/lib64/libwebkit2gtk-4.0.so.37
#8  0x00007fffef88d1de in WTF::GMainLoopSource::voidCallback() () from /usr/lib64/libjavascriptcoregtk-4.0.so.18
#9  0x00007fffef88872a in WTF::GMainLoopSource::voidSourceCallback(WTF::GMainLoopSource*) () from /usr/lib64/libjavascriptcoregtk-4.0.so.18
#10 0x00007ffff1c4e635 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#11 0x00007ffff1c4e998 in ?? () from /usr/lib64/libglib-2.0.so.0
#12 0x00007ffff1c4ec5a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#13 0x00007fffef88533f in ?? () from /usr/lib64/libjavascriptcoregtk-4.0.so.18
#14 0x00007ffff13c71da in start_thread () from /lib64/libpthread.so.0
#15 0x00007ffff110595d in clone () from /lib64/libc.so.6
Comment 14 Michael Catanzaro 2015-01-16 18:43:50 PST
Thanks for this information.

If you have time, can you also please provide a more useful backtrace with debug info and variable values, following the steps at http://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -- thanks!
Comment 15 Serge 2015-01-17 10:54:28 PST
#0  skipEmptyBuckets (this=<optimized out>) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/HashTable.h:118
#1  HashTableConstIterator (endPosition=0x7fffa41bd547, position=0x7fffa41bd347, table=<optimized out>, this=<optimized out>) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/HashTable.h:126
#2  makeConstIterator (this=<optimized out>, this=<optimized out>, pos=0x7fffa41bd347) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/HashTable.h:456
#3  begin (this=0x7ffff7f19e08) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/HashTable.h:371
#4  WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::StringHash, WTF::HashMap<WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::HashTable (this=0x7fffd9761a10, other=...) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/HashTable.h:1175
#5  0x00007ffff51e5688 in operator= (other=..., this=0x7fffd9761a80) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/HashTable.h:1201
#6  operator= (this=0x7fffd9761a80) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/HashMap.h:36
#7  WebKit::StorageManager::getValues (this=<optimized out>, connection=0x7ffff7f2e200, storageMapID=2, storageMapSeed=0, values=...) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WebKit2/UIProcess/Storage/StorageManager.cpp:520
#8  0x00007ffff52260d7 in callMemberFunctionImpl<WebKit::StorageManager, void (WebKit::StorageManager::*)(IPC::Connection*, unsigned long, unsigned long, WTF::HashMap<WTF::String, WTF::String>&), std::tuple<unsigned long, unsigned long>, 0ul, 1ul, std::tuple<WTF::HashMap<WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > >, 0ul> (replyArgs=empty std::tuple, args=<optimized out>, connection=0x7ffff7f2e200, function=<optimized out>, object=0x7ffff7f25c30)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WebKit2/Platform/IPC/HandleMessage.h:72
#9  callMemberFunction<WebKit::StorageManager, void (WebKit::StorageManager::*)(IPC::Connection*, unsigned long, unsigned long, WTF::HashMap<WTF::String, WTF::String>&), std::tuple<unsigned long, unsigned long>, std::make_index_sequence<2ul>, std::tuple<WTF::HashMap<WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > >, std::make_index_sequence<1ul> > (function=<optimized out>, object=0x7ffff7f25c30, replyArgs=empty std::tuple, args=<optimized out>, connection=0x7ffff7f2e200)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WebKit2/Platform/IPC/HandleMessage.h:78
#10 IPC::handleMessage<Messages::StorageManager::GetValues, WebKit::StorageManager, void (WebKit::StorageManager::*)(IPC::Connection*, unsigned long, unsigned long, WTF::HashMap<WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >&)> (connection=connection@entry=0x7ffff7f2e200, decoder=..., replyEncoder=..., object=object@entry=0x7ffff7f25c30, function=<optimized out>) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WebKit2/Platform/IPC/HandleMessage.h:147
#11 0x00007ffff5225a37 in WebKit::StorageManager::didReceiveSyncMessage (this=0x7ffff7f25c30, connection=0x7ffff7f2e200, decoder=..., replyEncoder=std::unique_ptr<IPC::MessageEncoder> containing 0x7fff88180240)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkit-gtk-2.6.4_build/DerivedSources/WebKit2/StorageManagerMessageReceiver.cpp:73
#12 0x00007ffff4ff59a2 in IPC::Connection::dispatchWorkQueueMessageReceiverMessage (this=0x7ffff7f2e200, workQueueMessageReceiver=0x7ffff7f25c30, incomingMessageDecoder=0x7fff88193840)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WebKit2/Platform/IPC/Connection.cpp:319
#13 0x00007fffef88d1de in WTF::GMainLoopSource::voidCallback (this=0x7fff88179160) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/gobject/GMainLoopSource.cpp:364
#14 0x00007fffef88872a in WTF::GMainLoopSource::voidSourceCallback (source=<optimized out>) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/gobject/GMainLoopSource.cpp:454
#15 0x00007ffff1c4e635 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#16 0x00007ffff1c4e998 in ?? () from /usr/lib64/libglib-2.0.so.0
#17 0x00007ffff1c4ec5a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#18 0x00007fffef88533f in WTF::wtfThreadEntryPoint (param=0x7ffff7f201e0) at /var/tmp/portage/net-libs/webkit-gtk-2.6.4/work/webkitgtk-2.6.4/Source/WTF/wtf/ThreadingPthreads.cpp:170
#19 0x00007ffff13c71da in start_thread () from /lib64/libpthread.so.0
#20 0x00007ffff110595d in clone () from /lib64/libc.so.6
Comment 16 Michael Catanzaro 2015-01-18 08:26:01 PST
So that looks like a UI process crash. If you file a new bug for that with a full backtrace (use 'bt full' instead of simply 'bt') and mention what you did to trigger it, that would be great.

To get a backtrace for this bug, you need to attach to the web process (not the UI process) and set the G_DEBUG environment variable, as suggested in comment #9.
Comment 17 Serge 2015-02-14 02:25:05 PST
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd96ed700 (LWP 16849)]
0x00007fffef84c48c in WTFCrash () at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/Assertions.cpp:329
329	/var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/Assertions.cpp: No such file or directory.
(gdb) bt full
#0  0x00007fffef84c48c in WTFCrash () at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/Assertions.cpp:329
No locals.
#1  0x00007fffef85e9e0 in WTF::TCMalloc_ThreadCache_FreeList::Validate (this=this@entry=0x7ffff7f60088, missing=missing@entry=..., size=size@entry=128) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/FastMalloc.cpp:2791
        node = {m_value = 0x7ffff7f3cb80}
#2  0x00007fffef856414 in Deallocate (cl=16, ptr=..., this=0x7ffff7f5fef0) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/FastMalloc.cpp:3416
        list = 0x7ffff7f60088
#3  do_free (ptr=ptr@entry=0x7ffff7f3cb80) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/FastMalloc.cpp:4188
        p = <optimized out>
        cl = 16
#4  WTF::fastFree (ptr=ptr@entry=0x7ffff7f3cb80) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/FastMalloc.cpp:4405
No locals.
#5  0x00007ffff51e561b in WTF::HashTable<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long>, std::pair<WTF::RefPtr<IPC::Connection>, unsigned long>, WTF::IdentityExtractor, WTF::PairHash<WTF::RefPtr<IPC::Connection>, unsigned long>, WTF::HashTraits<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> >, WTF::HashTraits<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> > >::deallocateTable (table=table@entry=0x7ffff7f3cb80, size=size@entry=8)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/HashTable.h:1080
No locals.
#6  0x00007ffff51e6333 in WTF::HashTable<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long>, std::pair<WTF::RefPtr<IPC::Connection>, unsigned long>, WTF::IdentityExtractor, WTF::PairHash<WTF::RefPtr<IPC::Connection>, unsigned long>, WTF::HashTraits<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> >, WTF::HashTraits<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> > >::rehash (this=0x7fff8814b948, newTableSize=<optimized out>, entry=0x7ffff7f3cba0)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/HashTable.h:1135
        oldTableSize = 8
        oldTable = 0x7ffff7f3cb80
        newEntry = <optimized out>
#7  0x00007ffff51e63d4 in WTF::HashTable<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long>, std::pair<WTF::RefPtr<IPC::Connection>, unsigned long>, WTF::IdentityExtractor, WTF::PairHash<WTF::RefPtr<IPC::Connection>, unsigned long>, WTF::HashTraits<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> >, WTF::HashTraits<std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> > >::expand (this=this@entry=0x7fff8814b948, entry=entry@entry=0x7ffff7f3cba0)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/HashTable.h:1094
        newSize = <optimized out>
#8  0x00007ffff51e213b in add<WTF::IdentityHashTranslator<WTF::PairHash<WTF::RefPtr<IPC::Connection>, unsigned long> >, std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> const&, std::pair<WTF::RefPtr<IPC::Connection>, unsigned long> > (extra=<optimized out>, 
    key=..., this=0x7fff8814b948) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/HashTable.h:867
        k = <optimized out>
        i = <optimized out>
        table = <optimized out>
        sizeMask = <optimized out>
        deletedEntry = <optimized out>
        entry = 0x7ffff7f3cba0
#9  add (value=<optimized out>, this=0x7fff8814b948) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/HashTable.h:379
No locals.
#10 add (value=<optimized out>, this=0x7fff8814b948) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/HashSet.h:202
No locals.
#11 WebKit::StorageManager::StorageArea::addListener (this=this@entry=0x7fff8814b910, connection=connection@entry=0x7fff8810ec00, storageMapID=storageMapID@entry=1)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WebKit2/UIProcess/Storage/StorageManager.cpp:137
No locals.
#12 0x00007ffff51e3d0c in WebKit::StorageManager::createLocalStorageMap (this=this@entry=0x7ffff7f29c30, connection=connection@entry=0x7fff8810ec00, storageMapID=1, storageNamespaceID=<optimized out>, securityOriginData=...)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WebKit2/UIProcess/Storage/StorageManager.cpp:460
        connectionAndStorageMapIDPair = {first = {m_ptr = 0x7fff8810ec00}, second = 1}
        result = {iterator = {m_iterator = {m_position = 0x7fff88149f30, m_endPosition = 0x7fff88149fc0}}, isNewEntry = true}
        localStorageNamespace = 0x7ffff7f3bce8
        storageArea = {m_ptr = 0x7fff8814b910}
#13 0x00007ffff52240bf in callMemberFunctionImpl<WebKit::StorageManager, void (WebKit::StorageManager::*)(IPC::Connection*, unsigned long, unsigned long, WebKit::SecurityOriginData const&), std::tuple<unsigned long, unsigned long, WebKit::SecurityOriginData>, 0ul, 1ul, 2ul> (args=<unknown type in /usr/lib64/libwebkit2gtk-4.0.so.37, CU 0x8a41e48, DIE 0x8a6e101>, connection=0x7fff8810ec00, function=<optimized out>, object=0x7ffff7f29c30)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WebKit2/Platform/IPC/HandleMessage.h:58
No locals.
#14 callMemberFunction<WebKit::StorageManager, void (WebKit::StorageManager::*)(IPC::Connection*, unsigned long, unsigned long, WebKit::SecurityOriginData const&), std::tuple<unsigned long, unsigned long, WebKit::SecurityOriginData>, std::make_index_sequence<3ul> > (
    function=<optimized out>, object=0x7ffff7f29c30, args=<unknown type in /usr/lib64/libwebkit2gtk-4.0.so.37, CU 0x8a41e48, DIE 0x8a7311a>, connection=0x7fff8810ec00)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WebKit2/Platform/IPC/HandleMessage.h:64
No locals.
#15 handleMessage<Messages::StorageManager::CreateLocalStorageMap, WebKit::StorageManager, void (WebKit::StorageManager::*)(IPC::Connection*, unsigned long, unsigned long, WebKit::SecurityOriginData const&)> (function=<optimized out>, object=0x7ffff7f29c30, decoder=..., 
    connection=0x7fff8810ec00) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WebKit2/Platform/IPC/HandleMessage.h:159
        arguments = std::tuple containing = {[1] = 1, [2] = 1, [3] = {protocol = {m_impl = {m_ptr = 0x7ffff7f21498}}, host = {m_impl = {m_ptr = 0x7fff88108438}}, port = 0}}
#16 WebKit::StorageManager::didReceiveMessage (this=0x7ffff7f29c30, connection=0x7fff8810ec00, decoder=...) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkit-gtk-2.6.5_build/DerivedSources/WebKit2/StorageManagerMessageReceiver.cpp:42
No locals.
#17 0x00007ffff4ff3e41 in IPC::Connection::dispatchWorkQueueMessageReceiverMessage (this=0x7fff8810ec00, workQueueMessageReceiver=0x7ffff7f29c30, incomingMessageDecoder=0x7fff88106720)
    at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WebKit2/Platform/IPC/Connection.cpp:304
        decoder = std::unique_ptr<IPC::MessageDecoder> containing 0x7fff88106720
        syncRequestID = 0
        replyEncoder = std::unique_ptr<IPC::MessageEncoder> containing 0x7ffff1c49bde
#18 0x00007fffef88ad7e in WTF::GMainLoopSource::voidCallback (this=0x7fff88123790) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/gobject/GMainLoopSource.cpp:364
        context = {source = {m_ptr = 0x7fff680014a0}, cancellable = {m_ptr = 0x0}, socketCancellable = {m_ptr = 0x0}, voidCallback = {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16, 
              static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fff680017a0, _M_const_object = 0x7fff680017a0, _M_function_pointer = 0x7fff680017a0, 
                  _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fff680017a0, this adjustment 532575944823}, _M_pod_data = "\240\027\000h\377\177\000\000w\000\000\000|\000\000"}, 
              _M_manager = 0x7ffff4ff7ad0 <std::_Function_base::_Base_manager<WTF::Function<void ()> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, 
            _M_invoker = 0x7ffff4ff79d0 <std::_Function_handler<void (), WTF::Function<void ()> >::_M_invoke(std::_Any_data const&)>}, boolCallback = {<std::_Maybe_unary_or_binary_function<bool>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16, 
              static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fff88123790, _M_const_object = 0x7fff88123790, _M_function_pointer = 0x7fff88123790, 
                  _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fff88123790, this adjustment 140737212083552}, _M_pod_data = "\220\067\022\210\377\177\000\000`m\210\357\377\177\000"}, _M_manager = 0x0}, 
            _M_invoker = 0x7fff8b7fb7d0}, socketCallback = {<std::_Maybe_unary_or_binary_function<bool, GIOCondition>> = {<std::unary_function<GIOCondition, bool>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, 
              static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffff1098273 <malloc+99>, _M_const_object = 0x7ffff1098273 <malloc+99>, _M_function_pointer = 0x7ffff1098273 <malloc+99>, _M_member_pointer = &virtual table offset 140737237320306}, 
                _M_pod_data = "s\202\t\361\377\177\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x0}, _M_invoker = 0x7fff680016d0}, destroyCallback = {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {
              static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fff68001780, _M_const_object = 0x7fff68001780, _M_function_pointer = 0x7fff68001780, 
                  _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fff68001780, this adjustment 140737353289472}, _M_pod_data = "\200\027\000h\377\177\000\000\000\017\363\367\377\177\000"}, _M_manager = 0x7ffff51934d0
     <std::_Function_base::_Base_manager<WorkQueue::dispatch(std::function<void()>)::__lambda2>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, 
            _M_invoker = 0x7ffff5193610 <std::_Function_handler<void(), WorkQueue::dispatch(std::function<void()>)::__lambda2>::_M_invoke(const std::_Any_data &)>}}
#19 0x00007fffef8862ca in WTF::GMainLoopSource::voidSourceCallback (source=<optimized out>) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/gobject/GMainLoopSource.cpp:454
No locals.
---Type <return> to continue, or q <return> to quit---
#20 0x00007ffff1c4c635 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#21 0x00007ffff1c4c998 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#22 0x00007ffff1c4cc5a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#23 0x00007fffef882edf in WTF::wtfThreadEntryPoint (param=0x7ffff7f241e0) at /var/tmp/portage/net-libs/webkit-gtk-2.6.5/work/webkitgtk-2.6.5/Source/WTF/wtf/ThreadingPthreads.cpp:170
        invocation = std::unique_ptr<WTF::ThreadFunctionInvocation> containing 0x7ffff7f241e0
#24 0x00007ffff13c51da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#25 0x00007ffff110395d in clone () from /lib64/libc.so.6
No symbol table info available.
Comment 18 Serge 2015-02-14 02:44:15 PST
This is for crash of epiphany 3.14.2 compiled against net-libs/webkit-gtk-2.6.5 ( -O2 -ggdb)

To reproduce

Start epiphany
Start new window and go to http://gazeta.ru 
Ctrl-R (will cause broken rendering of the webpage)
Ctrl-T
Close 1st tab
Go to http://gazeta.ru
Comment 19 Guilaume Ayoub 2017-08-31 03:52:45 PDT
It's an old issue that I can't reproduce anymore, feel free to close it if nobody's got the problem with recent versions.
Comment 20 Michael Catanzaro 2017-08-31 11:05:37 PDT
Hm, even if this bug still exists, this would be an Epiphany bug, not a WebKit bug.