I'm using a WebkitWebView to display reports in a program (GnuCash). Everything
works fine on Linux, and we're using GnuCash 2.4.11 on Windows, which works OK
too.
On MacOS with WebKit 2.16.6 plain html renders OK but WebKitWebProcess wanders
off to never-never land on reports containing Javascript like the one attached.
It has the following threads running:
thread #1: tid = 0x22a9aaf, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGSTOP
thread #2: tid = 0x22a9abf, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #3: tid = 0x22a9ada, 0x0000000111295eb6
libsystem_kernel.dylib`__select + 10, name = 'com.apple.WebKit.EventDispatcher'
thread #4: tid = 0x22a9adb, 0x0000000111295eb6
libsystem_kernel.dylib`__select + 10, name =
'com.apple.WebKit.PluginProcessConnectionManager'
thread #5: tid = 0x22a9adc, 0x0000000111295eb6
libsystem_kernel.dylib`__select + 10, name = 'com.apple.IPC.ReceiveQueue'
thread #6: tid = 0x22a9ae7, 0x0000000111295eb6
libsystem_kernel.dylib`__select + 10, name = 'com.apple.IPC.ReceiveQueue'
thread #7: tid = 0x22a9aeb, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #8: tid = 0x22aa165, 0x000000011129644e
libsystem_kernel.dylib`__workq_kernreturn + 10
thread #9: tid = 0x22aa1da, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'WTF::AutomaticThread'
thread #10: tid = 0x22aa1db, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'WTF::AutomaticThread'
thread #11: tid = 0x22aa1dc, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'WTF::AutomaticThread'
thread #12: tid = 0x22aa1dd, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'WTF::AutomaticThread'
thread #13: tid = 0x22aa1de, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'WTF::AutomaticThread'
thread #14: tid = 0x22aa1df, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'WTF::AutomaticThread'
thread #15: tid = 0x22aa1e0, 0x0000000111295bf2
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'WTF::AutomaticThread'
All of which are either sitting in g_poll() or _pthread_cond_wait().
The bottom of the main thread's call stack looks like:
frame #28: 0x000000010b8f5602
libjavascriptcoregtk-4.0.18.dylib`JSC::$_0::operator(this=0x0000000000000000,
(null)=0x00007ff211a06090,
callback=(libjavascriptcoregtk-4.0.18.dylib`JSC::HeapTimer::HeapTimer(JSC::VM*)::$_1::__invoke(void*)
at HeapTimer.cpp:136), userData=0x00000001121e5300)(_GSource*, int (*)(void*),
void*) const + 34 at HeapTimer.cpp:123
frame #29: 0x000000010b8f55d8
libjavascriptcoregtk-4.0.18.dylib`JSC::$_0::__invoke((null)=0x00007ff211a06090,
callback=(libjavascriptcoregtk-4.0.18.dylib`JSC::HeapTimer::HeapTimer(JSC::VM*)::$_1::__invoke(void*)
at HeapTimer.cpp:136), userData=0x00000001121e5300)(void*), void*) + 40 at
HeapTimer.cpp:121
frame #30: 0x00000001101893e0 libglib-2.0.0.dylib`g_main_context_dispatch +
320
frame #31: 0x0000000110189704 libglib-2.0.0.dylib`g_main_context_iterate +
420
frame #32: 0x0000000110189a2f libglib-2.0.0.dylib`g_main_loop_run + 223
frame #33: 0x00000001042954a4
libwebkit2gtk-4.0.37.dylib`WTF::RunLoop::run() + 180 at RunLoopGLib.cpp:94
frame #34: 0x00000001023b28d8 libwebkit2gtk-4.0.37.dylib`int
WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(argc=2,
argv=0x00007fff5e3f8518) + 152 at ChildProcessMain.h:61
frame #35: 0x00000001023b282b
libwebkit2gtk-4.0.37.dylib`WebProcessMainUnix(argc=2, argv=0x00007fff5e3f8518)
+ 27 at WebProcessMainGtk.cpp:69
frame #36: 0x000000010180f285 WebKitWebProcess`main(argc=2,
argv=0x00007fff5e3f8518) + 69 at WebProcessMain.cpp:45
frame #37: 0x000000011124e235 libdyld.dylib`start + 1
frame #38: 0x000000011124e235 libdyld.dylib`start + 1
It seems likely to me that some thread has died, but I have no idea where to
look. Any ideas?
Regards,
John Ralls
_______________________________________________
webkit-gtk mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-gtk