Web app launched from GNOME Software crashes Epiphany
When I open an installed web app (e.g. Diagrams) through GNOME Software, the following message gets logged into console (opened gnome-software#1921 (closed)):
Sep 23 11:36:49 nixos .epiphany-wrapp[2114]: Required desktop file 'org.gnome.Epiphany.WebApp_ecf4d503679532de632c70286cab2a70bfaa2235' not available: GDBus.Error:org.freedesktop.portal.Error.InvalidArgument: Desktop file id missing app id prefix 'org.gnome.Software.': org.gnome.Epiphany.WebApp_ecf4d503679532de632c70286cab2a70bfaa2235.desktop
What is worse, if I try to Save the diagram (File menu → Save → Device), the following is logged and then Epiphany crashes:
Failed to get desktop keyfile for id ecf4d503679532de632c70286cab2a70bfaa2235 from portal: GDBus.Error:org.freedesktop.portal.Error.InvalidArgument: Desktop file id missing app id prefix 'org.gnome.Software.': org.gnome.Epiphany.WebApp_ecf4d503679532de632c70286cab2a70bfaa2235.desktop
Sep 23 12:01:24 nixos org.gnome.Epiphany.WebApp_ecf4d503679532de632c70286cab2a70bfaa2235.desktop[6120]: **
Sep 23 12:01:24 nixos org.gnome.Epiphany.WebApp_ecf4d503679532de632c70286cab2a70bfaa2235.desktop[6120]: epiphany:ERROR:../lib/ephy-web-app-utils.c:928:ephy_web_application_is_uri_allowed: assertion failed: (webapp)
Sep 23 12:01:24 nixos org.gnome.Epiphany.WebApp_ecf4d503679532de632c70286cab2a70bfaa2235.desktop[6120]: Bail out! epiphany:ERROR:../lib/ephy-web-app-utils.c:928:ephy_web_application_is_uri_allowed: assertion failed: (webapp)
If I start the web app through GNOME Shell, there is no crash.
Stack trace:
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = 2082
ret = 0
pd = <optimized out>
old_mask = {__val = {0, 140399674678520, 140728944368848, 140399670375619, 140399685565184, 2064, 1, 345083278984, 7, 0, 2048, 540710954446179606, 33477640, 2096, 18446744073709551544, 32}}
ret = <optimized out>
#1 0x00007fb15879dc33 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
No locals.
#2 0x00007fb158750b46 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x00007fb15873b4b5 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x231af40, sa_sigaction = 0x231af40}, sa_mask = {__val = {140399673912439, 140398185938992, 140728944368752, 45947984, 36813744, 0, 2125281562009431296,
140399674169909, 18446744073709551488, 0, 111, 140728944368848, 140399685565184, 140399685565184, 140399670379123, 36813744}}, sa_flags = 1499625154,
sa_restorer = 0x7fb158bc5e80 <__glib_assert_msg>}
sigs = {__val = {32, 0, 140399685565184, 2125281562009431296, 36851456, 18446744073709551488, 0, 140728944368744, 134, 1, 36813744, 140399670379123, 36813744, 140399673897683, 134, 134}}
#4 0x00007fb158aacebc in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x7fb159627b00 <__func__.1> "ephy_web_application_is_uri_allowed",
message=<optimized out>) at ../glib/gtestutils.c:3256
lstr = "928\000\376\177\000\000\000mB\aR\204~\035\360\034\275\002\376\177\000\000\376UbY\261\177\000"
s = 0x231bbb0 "+JF\002"
#5 0x00007fb158b0d7cb in g_assertion_message_expr (domain=domain@entry=0x7fb159626918 "epiphany", file=file@entry=0x7fb1596276c2 "../lib/ephy-web-app-utils.c", line=line@entry=928,
func=func@entry=0x7fb159627b00 <__func__.1> "ephy_web_application_is_uri_allowed", expr=expr@entry=0x7fb1596255fe "webapp") at ../glib/gtestutils.c:3282
s = 0x7fb148013270 "assertion failed: (webapp)"
#6 0x00007fb15961511e in ephy_web_application_is_uri_allowed (uri=uri@entry=0x7fb1458304f0 "blob:https://app.diagrams.net/069b0219-d436-4f17-a3b9-96714474af48") at ../lib/ephy-web-app-utils.c:928
webapp = <optimized out>
scheme = <optimized out>
urls = 0x0
i = <optimized out>
matched = 0
__func__ = "ephy_web_application_is_uri_allowed"
#7 0x00007fb1596ac918 in decide_navigation_policy (web_view=<optimized out>, decision=0x26e54c0, decision_type=<optimized out>, window=0x23a0310) at ../src/ephy-window.c:2144
navigation_decision = <optimized out>
navigation_action = 0x7fb1450640e0
navigation_type = WEBKIT_NAVIGATION_TYPE_LINK_CLICKED
request = 0x279b590
uri = 0x7fb1458304f0 "blob:https://app.diagrams.net/069b0219-d436-4f17-a3b9-96714474af48"
embed = <optimized out>
__func__ = "decide_navigation_policy"
#8 0x00007fb1518f280a in ffi_call_unix64 () from /nix/store/6fncvg61gwjh1j7syy0nyki2j6xxf2ql-libffi-3.4.2/lib/libffi.so.8
No symbol table info available.
#9 0x00007fb1518f1943 in ffi_call_int () from /nix/store/6fncvg61gwjh1j7syy0nyki2j6xxf2ql-libffi-3.4.2/lib/libffi.so.8
No symbol table info available.
#10 0x00007fb158bdddbc in g_cclosure_marshal_generic (closure=closure@entry=0x267bfd0, return_gvalue=return_gvalue@entry=0x7ffe02bd2180, n_param_values=n_param_values@entry=3,
param_values=param_values@entry=0x7ffe02bd21e0, invocation_hint=invocation_hint@entry=0x7ffe02bd2160, marshal_data=marshal_data@entry=0x0) at ../gobject/gclosure.c:1536
rtype = <optimized out>
rvalue = 0x7ffe02bd1f70
n_args = 4
atypes = <optimized out>
args = <optimized out>
i = <optimized out>
cif = {abi = FFI_UNIX64, nargs = 4, arg_types = 0x7ffe02bd1f40, rtype = 0x7fb1518f40c0 <ffi_type_sint32>, bytes = 0, flags = 6}
cc = 0x267bfd0
--Type <RET> for more, q to quit, c to continue without paging--c
enum_tmpval = <optimized out>
tmpval_used = 1
#11 0x00007fb158bdd5af in g_closure_invoke (closure=0x267bfd0, return_value=return_value@entry=0x7ffe02bd2180, n_param_values=3, param_values=param_values@entry=0x7ffe02bd21e0, invocation_hint=invocation_hint@entry=0x7ffe02bd2160) at ../gobject/gclosure.c:832
marshal = 0x7fb158bddbb0 <g_cclosure_marshal_generic>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x267bfb0
__func__ = "g_closure_invoke"
#12 0x00007fb158bf08a7 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x25e84d0, emission_return=emission_return@entry=0x7ffe02bd22e0, instance_and_params=instance_and_params@entry=0x7ffe02bd21e0) at ../gobject/gsignal.c:3796
tmp = <optimized out>
handler = 0x267b080
accumulator = 0x20e3440
emission = {next = 0x0, instance = 0x25e84d0, ihint = {signal_id = 341, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x20e33a0
hlist = <optimized out>
handler_list = 0x2608480
return_accu = 0x7ffe02bd2180
accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 341
max_sequential_handler_number = 4086
return_value_altered = 1
EMIT_RESTART = <optimized out>
#13 0x00007fb158bf6e7f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe02bd2390) at ../gobject/gsignal.c:3559
return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
error = 0x0
rtype = 20
static_scope = 0
instance_and_params = 0x7ffe02bd21e0
signal_return_type = <optimized out>
param_values = 0x7ffe02bd21f8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#14 0x00007fb158bf78df in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3606
var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffe02bd2470, reg_save_area = 0x7ffe02bd23b0}}
#15 0x00007fb154a7286c in webkitWebViewMakePolicyDecision(_WebKitWebView*, WebKitPolicyDecisionType, _WebKitPolicyDecision*) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#16 0x00007fb154a4b883 in NavigationClient::decidePolicyForNavigationAction(WebKit::WebPageProxy&, WTF::Ref<API::NavigationAction, WTF::RawPtrTraits<API::NavigationAction> >&&, WTF::Ref<WebKit::WebFramePolicyListenerProxy, WTF::RawPtrTraits<WebKit::WebFramePolicyListenerProxy> >&&, API::Object*) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#17 0x00007fb1549a88cc in WebKit::WebPageProxy::decidePolicyForNavigationAction(WTF::Ref<WebKit::WebProcessProxy, WTF::RawPtrTraits<WebKit::WebProcessProxy> >&&, WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebFrameProxy&, WebKit::FrameInfoData&&, unsigned long, WebKit::NavigationActionData&&, WebKit::FrameInfoData&&, std::optional<WTF::ObjectIdentifier<WebKit::WebPageProxyIdentifierType> >, WebCore::ResourceRequest const&, WebCore::ResourceRequest&&, IPC::FormDataReference&&, WebCore::ResourceResponse&&, WebKit::UserData const&, WTF::Ref<WebKit::WebPageProxy::PolicyDecisionSender, WTF::RawPtrTraits<WebKit::WebPageProxy::PolicyDecisionSender> >&&) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#18 0x00007fb1549a932d in WebKit::WebPageProxy::decidePolicyForNavigationActionAsync(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebKit::FrameInfoData&&, WebCore::PolicyCheckIdentifier, unsigned long, WebKit::NavigationActionData&&, WebKit::FrameInfoData&&, std::optional<WTF::ObjectIdentifier<WebKit::WebPageProxyIdentifierType> >, WebCore::ResourceRequest const&, WebCore::ResourceRequest&&, IPC::FormDataReference&&, WebCore::ResourceResponse&&, WebKit::UserData const&, unsigned long) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#19 0x00007fb15461f353 in void IPC::handleMessage<Messages::WebPageProxy::DecidePolicyForNavigationActionAsync, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebKit::FrameInfoData&&, WebCore::PolicyCheckIdentifier, unsigned long, WebKit::NavigationActionData&&, WebKit::FrameInfoData&&, std::optional<WTF::ObjectIdentifier<WebKit::WebPageProxyIdentifierType> >, WebCore::ResourceRequest const&, WebCore::ResourceRequest&&, IPC::FormDataReference&&, WebCore::ResourceResponse&&, WebKit::UserData const&, unsigned long)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebKit::FrameInfoData&&, WebCore::PolicyCheckIdentifier, unsigned long, WebKit::NavigationActionData&&, WebKit::FrameInfoData&&, std::optional<WTF::ObjectIdentifier<WebKit::WebPageProxyIdentifierType> >, WebCore::ResourceRequest const&, WebCore::ResourceRequest&&, IPC::FormDataReference&&, WebCore::ResourceResponse&&, WebKit::UserData const&, unsigned long)) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#20 0x00007fb1545ecd9d in WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#21 0x00007fb15488adbb in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#22 0x00007fb15495ff8f in non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#23 0x00007fb154882ee5 in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#24 0x00007fb15488564d in IPC::Connection::dispatchIncomingMessages() () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libwebkit2gtk-4.1.so.0
No symbol table info available.
#25 0x00007fb153907292 in WTF::RunLoop::performWork() () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libjavascriptcoregtk-4.1.so.0
No symbol table info available.
#26 0x00007fb15397d809 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libjavascriptcoregtk-4.1.so.0
No symbol table info available.
#27 0x00007fb15397e2bf in WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) () from /nix/store/56ddfw8laaxsci2w6l87n1wxbkjn9xs0-webkitgtk-2.38.0+abi=4.1/lib/libjavascriptcoregtk-4.1.so.0
No symbol table info available.
#28 0x00007fb158ae3874 in g_main_dispatch (context=0x204bdd0) at ../glib/gmain.c:3444
dispatch = 0x7fb15397e270 <WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*)>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = 0
user_data = 0x7fb1450100e0
callback = 0x7fb15397d800 <WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*)>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
source = 0x2083330
current = 0x2054ae0
i = 0
__func__ = "g_main_dispatch"
#29 g_main_context_dispatch (context=0x204bdd0) at ../glib/gmain.c:4162
No locals.
#30 0x00007fb158ae3c18 in g_main_context_iterate (context=context@entry=0x204bdd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4238
max_priority = 2147483647
timeout = 2802
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x2466fd0
begin_time_nsec = 0
#31 0x00007fb158ae3ccf in g_main_context_iteration (context=context@entry=0x204bdd0, may_block=may_block@entry=1) at ../glib/gmain.c:4303
retval = <optimized out>
#32 0x00007fb158d0f0ad in g_application_run (application=0x207c1d0, argc=argc@entry=1, argv=argv@entry=0x7ffe02bd4228) at ../gio/gapplication.c:2571
arguments = 0x2069d90
status = 0
context = 0x204bdd0
acquired_context = <optimized out>
__func__ = "g_application_run"
#33 0x0000000000403be3 in main (argc=<optimized out>, argv=<optimized out>) at ../src/ephy-main.c:434
option_context = <optimized out>
option_group = <optimized out>
error = 0x0
user_time = 0
arbitrary_url = <optimized out>
ctx = <optimized out>
mode = <optimized out>
status = <optimized out>
flags = <optimized out>
desktop_info = <optimized out>
I am testing NixOS with GNOME 43, native Nix packages.
Edited by Jan Tojnar