[webkit-gtk] How to find if webkit has any requests are in progress

Niranjan Rao nhrdls at gmail.com
Mon Mar 17 18:43:38 PDT 2014


Greetings,

I am on webkit 2.2.3, on Ubuntu 12.04. We often see core dumps in 
WebkitWebProcess as follows. Please ignore first 5 entries which are 
just Java VM trapping the fault. Actual error is always at 
g_task_propagate_error.

Looking at number of core dumps and corresponding action log entries we 
have, one common pattern that is emerging. When we move too fast to next 
location, these crashes happen. We wait until webkit_web_view_is_loading 
returns false, then we test for existence of an element before 
navigating to new location. My theory is there are some pending calls in 
background, but page is rendered enough to indicate loading is done. 
When we navigate to other page, the existing task is cancelled or 
becomes invalid which causes core dump.

We can space out the calls, but still need reliable way to figure out 
when to make next call.


#0  0x00007f7323052425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f7323055b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f72d26ea455 in os::abort(bool) () from 
/usr/lib/jvm/jdk1.7.0_11/jre/lib/amd64/server/libjvm.so
#3  0x00007f72d284a717 in VMError::report_and_die() () from 
/usr/lib/jvm/jdk1.7.0_11/jre/lib/amd64/server/libjvm.so
#4  0x00007f72d26edf60 in JVM_handle_linux_signal () from 
/usr/lib/jvm/jdk1.7.0_11/jre/lib/amd64/server/libjvm.so
#5  <signal handler called>
#6  0x00007f731f74e4cc in g_task_propagate_error () from 
/usr/share/finovera/deps/lib/libgio-2.0.so.0
#7  0x00007f731f74eff0 in g_task_propagate_boolean () from 
/usr/share/finovera/deps/lib/libgio-2.0.so.0
#8  0x00007f72d3e4e0dd in finish_handshake () from 
/usr/share/finovera/deps/lib/gio/modules/libgiognutls.so
#9  0x00007f72d3e4e4f8 in claim_op () from 
/usr/share/finovera/deps/lib/gio/modules/libgiognutls.so
#10 0x00007f72d3e50ab0 in g_tls_connection_gnutls_write () from 
/usr/share/finovera/deps/lib/gio/modules/libgiognutls.so
#11 0x00007f731f73a6e6 in g_pollable_output_stream_write_nonblocking () 
from /usr/share/finovera/deps/lib/libgio-2.0.so.0
#12 0x00007f731fa96bfa in io_run_until () from 
/usr/share/finovera/deps/lib/libsoup-2.4.so.1
#13 0x00007f731faa3809 in try_run_until_read () from 
/usr/share/finovera/deps/lib/libsoup-2.4.so.1
#14 0x00007f731faa45e5 in async_run_queue () from 
/usr/share/finovera/deps/lib/libsoup-2.4.so.1
#15 0x00007f731faa466b in idle_run_queue () from 
/usr/share/finovera/deps/lib/libsoup-2.4.so.1
#16 0x00007f731e085236 in g_main_context_dispatch () from 
/usr/share/finovera/deps/lib/libglib-2.0.so.0
#17 0x00007f731e085588 in g_main_context_iterate.isra.22 () from 
/usr/share/finovera/deps/lib/libglib-2.0.so.0
#18 0x00007f731e08598a in g_main_loop_run () from 
/usr/share/finovera/deps/lib/libglib-2.0.so.0
#19 0x00007f73238f30e7 in WebProcessMainGtk () from 
/usr/share/finovera/webkit-2.2.3/lib/libwebkit2gtk-3.0.so.25
#20 0x00007f732303d76d in __libc_start_main () from 
/lib/x86_64-linux-gnu/libc.so.6
#21 0x0000000000400701 in _start ()

Regards,

Niranjan



More information about the webkit-gtk mailing list