27.09.2017, 19:30, "Leo Ufimtsev" <leoni...@redhat.com>:
> Hello WebkitGtk developers,
>
> I"m having a hard time figuring out why webkit crashe as of 2.18 with us, I 
> was wondering if the below stack trace looks familiar to anyone?
>
> Context:
> - We use WebkiGtk for Eclipse's/SWT's Browser functionality on Linux. (Java 
> native Interface to Webkitgtk)
> - We have a custom container for widget layout.
>
> In 2.16, all was fine. As of 2.18, when we exit Eclipse, Webkit now crashes 
> with the following backtrace:
>
> (Stack trace was shortened/reduced for clarity)

Looks like you are using WebKit build in debug mode with enabled asserts. Such 
build is less efficient and you can get a lot of crashes depending on browsed 
content, so it's better to use build with disabled asserts unless you are 
developing WebKit itself.

> (gdb) bt
> #0  WTFCrash() () at Source/WTF/wtf/Assertions.cpp:278
> #1  WebKit::CallbackMap::invalidate(WebKit::CallbackBase::Error)
>           (error=WebKit::CallbackBase::Error::OwnerWasInvalidated) 
> /WebKit/UIProcess/GenericCallback.h:225
> #2  WebKit::WebCookieManagerProxy::processPoolDestroyed() 
> /WebKit/UIProcess/WebCookieManagerProxy.cpp:76
> #3  WebKit::WebProcessPool::~WebProcessPool()  __in_chrg=.. 
> /Source/WebKit/UIProcess/WebProcessPool.cpp:298
> #4  WebKit::WebProcessPool::~WebProcessPool()  
> WebKit/UIProcess/WebProcessPool.cpp:317
> #5  WTF::ThreadSafeRefCounted<API::Object>::deref() const .. 
> WTF/wtf/ThreadSafeRefCounted.h:71
> #6  
> WTF::derefIfNotNull<WebKit::WebProcessPool>(WebKit::WebProcessPool*)(ptr=../WTF/wtf/RefPtr.h:45
> #7  WTF::RefPtr<WebKit::WebProcessPool>::~RefPtr() __in_chrg=.. 
> /WTF/wtf/RefPtr.h:69
> #8  _WebKitWebContextPrivate::~_WebKitWebContextPrivate()  __in_chrg=. 
> /WebKit/UIProcess/API/glib/WebKitWebContext.cpp:163
> #9  webkit_web_context_finalize(GObject*) (object=... 
> /WebKit/UIProcess/API/glib/WebKitWebContext.cpp:245
> #10 g_object_unref (_object=0x7fde296e7110) at gobject.c:3185
> #11 __run_exit_handlers (status=0, listp=0x7.... <__exit_funcs>, 
> run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) 
> at exit.c:83
> #12 __GI_exit (status=<optimized out>) at exit.c:105
> #13 __libc_start_main (main=0x151b63e670 <main>, argc=5, argv=0x7ffc1db781f8, 
> init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
> stack_end=0x7ffc1db781e8)
>     at ../csu/libc-start.c:329
> #14in _start ()
> ...
> 1    /lib64/libjavascriptcoregtk-4.0.so.18 WTFCrash
> 2    /lib64/libwebkit2gtk-4.0.so.37
> ..6    /lib64/libgobject-2.0.so.0(g_object_unref..)
> ..9    /lib64/libc.so.6(__libc_start_main..)
> ..10   /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-7.b12.fc26.x86_64/bin/java
>
> I noticed that if I do an g_object_ref(webview) somewhere near disposal, then 
> the crash doesn't occur. Also if we don't gtk_container_add(..) webview, then 
> the crash doesn't occur either.
>
> Does the above ring a bell with anyone?
>
> Was there a mechanism added to webkit/webkitgtk to somehow auto-cleanup 
> somewhere that didn't exist before?
>
> Thank you.
>
> --
> Leo Ufimtsev, Software Engineer, Red Hat
> ,
>
> _______________________________________________
> webkit-help mailing list
> webkit-help@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-help


-- 
Regards,
Konstantin
_______________________________________________
webkit-help mailing list
webkit-help@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-help

Reply via email to