[1.49.90] gvfsd-dav crashes when trying to access nextcloud via nautilus
System: Arch Linux
- libsoup3 3.0.4
- libnghttp2 1.47.0
- gvfs 1.49.90
- gtk3 3.24.33
- gtk4 4.6.1
If I try to access my nextcloud via nautilus, nautilus shows "Remote peer disconnected". In the background gvfs-dav has crashed. I'm able to reproduce this on 3 machines.
Stack trace of thread 4749:
#0 0x00007fc27b76834c __pthread_kill_implementation (libc.so.6 + 0x8f34c)
#1 0x00007fc27b71b4b8 raise (libc.so.6 + 0x424b8)
#2 0x00007fc27b705534 abort (libc.so.6 + 0x2c534)
#3 0x00007fc27bb4605e g_assertion_message (libglib-2.0.so.0 + 0x1d05e)
#4 0x00007fc27bba1a21 g_assertion_message_expr (libglib-2.0.so.0 + 0x78a21)
#5 0x00007fc27bac789f io_read (libsoup-3.0.so.0 + 0x3189f)
#6 0x00007fc27baca34c io_read_ready (libsoup-3.0.so.0 + 0x3434c)
#7 0x00007fc27bb7e1c3 g_main_context_dispatch (libglib-2.0.so.0 + 0x551c3)
#8 0x00007fc27bbd4c39 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xabc39)
#9 0x00007fc27bb7d703 g_main_loop_run (libglib-2.0.so.0 + 0x54703)
#10 0x00005568e2a5a1cf daemon_main (gvfsd-dav + 0xc1cf)
#11 0x00005568e2a5608b main (gvfsd-dav + 0x808b)
#12 0x00007fc27b706310 __libc_start_call_main (libc.so.6 + 0x2d310)
#13 0x00007fc27b7063c1 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2d3c1)
#14 0x00005568e2a560c5 _start (gvfsd-dav + 0x80c5)
Stack trace of thread 4754:
#0 0x00007fc27b317a20 n/a (libnghttp2.so.14 + 0x10a20)
#1 0x00007fc27b31ced2 n/a (libnghttp2.so.14 + 0x15ed2)
#2 0x00007fc27b314e08 nghttp2_session_mem_recv (libnghttp2.so.14 + 0xde08)
#3 0x00007fc27bac7830 io_read (libsoup-3.0.so.0 + 0x31830)
#4 0x00007fc27bacd874 soup_client_message_io_http2_run_until_read.lto_priv.0 (libsoup-3.0.so.0 + 0x37874)
#5 0x00007fc27bafb31b soup_session_send (libsoup-3.0.so.0 + 0x6531b)
#6 0x00005568e2a58cb3 n/a (gvfsd-dav + 0xacb3)
#7 0x00005568e2a6182d n/a (gvfsd-dav + 0x1382d)
#8 0x00007fc27bf1419f g_vfs_job_run (libgvfsdaemon.so + 0xf19f)
#9 0x00007fc27bbb1037 g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x88037)
#10 0x00007fc27bbadff5 g_thread_proxy (libglib-2.0.so.0 + 0x84ff5)
#11 0x00007fc27b7665c2 start_thread (libc.so.6 + 0x8d5c2)
#12 0x00007fc27b7eb584 __clone (libc.so.6 + 0x112584)
Program terminated with signal SIGABRT, Aborted.
#0 0x00007fc27b76834c in __pthread_kill_implementation () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7fc278551000 (LWP 4749))]
(gdb) bt full
#0 0x00007fc27b76834c in __pthread_kill_implementation () at /usr/lib/libc.so.6
#1 0x00007fc27b71b4b8 in raise () at /usr/lib/libc.so.6
#2 0x00007fc27b705534 in abort () at /usr/lib/libc.so.6
#3 0x00007fc27bb4605e in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../glib/glib/gtestutils.c:3253
lstr = "440\000\302\177\000\000\t\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\260\257\006\321\377\177\000"
s = <optimized out>
#4 0x00007fc27bba1a21 in g_assertion_message_expr
(domain=domain@entry=0x7fc27bb042bd "libsoup-http2", file=file@entry=0x7fc27bb03ba0 "../libsoup/libsoup/http2/soup-client-message-io-http2.c", line=line@entry=440, func=func@entry=0x7fc27bb04da8 <__func__.16> "io_read", expr=expr@entry=0x7fc27bb043b2 "io->in_callback == 0") at ../glib/glib/gtestutils.c:3279
s = 0x5568e3010610 "assertion failed: (io->in_callback == 0)"
#5 0x00007fc27bac789f in io_read (io=0x7fc26051ec40, blocking=<optimized out>, cancellable=<optimized out>, error=<optimized out>) at ../libsoup/libsoup/http2/soup-client-message-io-http2.c:440
buffer = "\000\000\000\000\001\000\000\000\a", '\000' <repeats 1831 times>...
read = <optimized out>
ret = <optimized out>
__func__ = "io_read"
#6 0x00007fc27baca34c in io_read_ready (stream=<optimized out>, io=0x7fc26051ec40) at ../libsoup/libsoup/http2/soup-client-message-io-http2.c:465
error = 0x0
progress = <optimized out>
#7 0x00007fc27bb7e1c3 in g_main_dispatch (context=0x5568e2fe1980) at ../glib/glib/gmain.c:3417
dispatch = 0x7fc27bd4cf50 <pollable_source_dispatch>
prev_source = 0x0
begin_time_nsec = 726482964167
was_in_call = <optimized out>
user_data = 0x7fc26051ec40
callback = 0x7fc27baca290 <io_read_ready>
cb_funcs = 0x7fc27bc653e0 <g_source_callback_funcs>
cb_data = 0x7fc2604157a0
need_destroy = <optimized out>
source = 0x7fc2606020d0
current = 0x5568e2feae40
i = 2
#8 g_main_context_dispatch (context=0x5568e2fe1980) at ../glib/glib/gmain.c:4135
#9 0x00007fc27bbd4c39 in g_main_context_iterate.constprop.0 (context=0x5568e2fe1980, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4211
max_priority = 2147483647
timeout = -1
some_ready = 1
nfds = 1
allocated_nfds = 2
fds = 0x5568e2ff0a20
begin_time_nsec = 726482828804
#10 0x00007fc27bb7d703 in g_main_loop_run (loop=0x5568e2fbf7c0) at ../glib/glib/gmain.c:4411
__func__ = "g_main_loop_run"
#11 0x00005568e2a5a1cf in daemon_main ()
#12 0x00005568e2a5608b in main ()
libsoup-http2:ERROR:../libsoup/libsoup/http2/soup-client-message-io-http2.c:440:io_read: assertion failed: (io->in_callback == 0)
Bail out! libsoup-http2:ERROR:../libsoup/libsoup/http2/soup-client-message-io-http2.c:440:io_read: assertion failed: (io->in_callback == 0)
(process:4749): libsoup-http2-DEBUG: 19:17:31.614: [C1-S7] [WRITE_DONE] [SESSION] State WRITE_DONE -> READ_HEADERS
** (gvfsd:4670): DEBUG: 19:17:31.847: dbus_mount_reply: Error from org.gtk.vfs.Mountable.mount(): Remote peer disconnected