Ext JS in a WebKitGTK webkit_web_view

2019-08-27 21:11发布

问题:

I'm trying to embed a web browser into a gtk project. I'm trying to use WebKitGTK (but I'm not committed to it), every time I try and use it to parse an Ext JS page, it crashes the entire application. Here's the output, and how I'm including the .js files...

** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded
** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded
** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded
** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded
** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded
** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded
** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded
** (ttocui_gtk:16360): DEBUG: NP_Initialize
** (ttocui_gtk:16360): DEBUG: NP_Initialize succeeded

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_foreach: assertion `hash_table != NULL' failed

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_insert_internal: assertion `hash_table != NULL' failed

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed
*** NSPlugin Wrapper *** ERROR: no valid NPP -> PluginInstance mapping found

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed
*** NSPlugin Wrapper *** ERROR: no valid NPP -> PluginInstance mapping found

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_insert_internal: assertion `hash_table != NULL' failed

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_insert_internal: assertion `hash_table != NULL' failed

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_find: assertion `hash_table != NULL' failed

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_insert_internal: assertion `hash_table != NULL' failed

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed
*** NSPlugin Wrapper *** ERROR: no valid NPP -> PluginInstance mapping found

(ttocui_gtk:16360): GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed
ttocui_gtk: /build/buildd/nspluginwrapper-1.2.2/src/npw-rpc.c:1225: do_recv_NPObject: Assertion `npobj != ((void *)0)' failed.
*** NSPlugin Viewer  *** ERROR: NPN_GetProperty() wait for reply: Connection reset by peer
*** NSPlugin Viewer  *** WARNING:(/build/buildd/nspluginwrapper-1.2.2/src/npw-viewer.c:898):invoke_NPN_GetValue: assertion failed: (rpc_method_invoke_possible(g_rpc_connection))
Aborted
*** NSPlugin Viewer  *** WARNING: unhandled variable 18 (<unknown variable>) in NPN_GetValue()
*** NSPlugin Viewer  *** WARNING:(/build/buildd/nspluginwrapper-1.2.2/src/npw-viewer.c:898):invoke_NPN_GetValue: assertion failed:(rpc_method_invoke_possible(g_rpc_connection))

the .js files...

<link rel="stylesheet" type="text/css" href="/ext3.2.1/resources/css/ext-all.css">
<link rel="stylesheet" type="text/css" href="/ext3.2.1/resources/css/xtheme-access.css"/>

<script type="text/javascript" src="/ext3.2.1/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="/ext3.2.1/ext-all-debug.js"></script>

Any suggestions would be great, this is really my only roadblock left. Thanks!

回答1:

This is an Ubuntu issue with the flash plugin I was using. Here's the stack trace.

Program received signal SIGABRT, Aborted.
0x00007ffff159cd05 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) where
#0  0x00007ffff159cd05 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff15a0ab6 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff15957c5 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007fffe03974d9 in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#4  0x00007fffe039bfef in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#5  0x00007fffe039ca1d in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#6  0x00007fffe039cf1b in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#7  0x00007fffe039154b in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#8  0x00007fffe039ac75 in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#9  0x00007fffe039ae67 in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#10 0x00007fffe039c5f1 in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#11 0x00007fffe039cfcf in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#12 0x00007fffe0395d61 in ?? () from /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
#13 0x00007ffff57e1cc9 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#14 0x00007ffff57e23eb in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#15 0x00007ffff57be586 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#16 0x00007ffff58cc667 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#17 0x00007ffff58ccd07 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#18 0x00007ffff5894ee7 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#19 0x00007ffff56ec2fd in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#20 0x00007ffff56ec7ac in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#21 0x00007ffff55c705b in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#22 0x00007ffff57397bf in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#23 0x00007ffff573b756 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#24 0x00007ffff573b8b9 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#25 0x00007ffff573c3a8 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#26 0x00007ffff544fc38 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#27 0x00007ffff55c57ed in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#28 0x00007ffff55cbbf1 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#29 0x00007ffff5357fa6 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#30 0x00007ffff5358193 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#31 0x00007ffff53584c4 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#32 0x00007ffff5c0e559 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#33 0x00007ffff5f03766 in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#34 0x00007ffff5f01bcf in ?? () from /usr/lib/libwebkitgtk-3.0.so.0
#35 0x00007fffe5526d10 in ?? ()
#36 0x0000000000000000 in ?? ()