udisks
udisks copied to clipboard
segfault in udiskslinuxblock:udisks_linux_block_update()
Thread 5 (Thread 0x7fb220ec9640 (LWP 1049)):
#0 0x00007fb223f888af in __GI___poll (fds=0x5643da5006c0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fb22414e0dd in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x5643da5006c0, timeout=<optimized out>, context=0x5643da5005b0) at ../glib/gmain.c:4516
#2 g_main_context_iterate.constprop.0 (context=0x5643da5005b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4206
#3 0x00007fb2240f866f in g_main_loop_run (loop=0x5643da5006a0) at ../glib/gmain.c:4411
#4 0x00005643d8d99804 in udisks_state_thread_func (user_data=<optimized out>) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udisksstate.c:346
#5 0x00007fb224123172 in g_thread_proxy (data=0x5643da4fcf60) at ../glib/gthread.c:827
#6 0x00007fb223f0fe1d in start_thread (arg=<optimized out>) at pthread_create.c:442
#7 0x00007fb223f952e0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 4 (Thread 0x7fb223545640 (LWP 1002)):
#0 0x00007fb223f888af in __GI___poll (fds=0x5643da4450e0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fb22414e0dd in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x5643da4450e0, timeout=<optimized out>, context=0x5643da448350) at ../glib/gmain.c:4516
#2 g_main_context_iterate.constprop.0 (context=context@entry=0x5643da448350, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4206
#3 0x00007fb2240f68e0 in g_main_context_iteration (context=0x5643da448350, may_block=may_block@entry=1) at ../glib/gmain.c:4276
#4 0x00007fb2240f6931 in glib_worker_main (data=<optimized out>) at ../glib/gmain.c:6178
#5 0x00007fb224123172 in g_thread_proxy (data=0x5643da439aa0) at ../glib/gthread.c:827
#6 0x00007fb223f0fe1d in start_thread (arg=<optimized out>) at pthread_create.c:442
#7 0x00007fb223f952e0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 3 (Thread 0x7fb2216ca640 (LWP 1043)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007fb2241493b3 in g_cond_wait (cond=0x5643da441628, mutex=0x5643da441620) at ../glib/gthread-posix.c:1575
#2 0x00007fb2240c8f1b in g_async_queue_pop_intern_unlocked (queue=0x5643da441620, wait=1, end_time=-1) at ../glib/gasyncqueue.c:419
#3 0x00007fb2240c8f4b in g_async_queue_pop (queue=0x5643da441620) at ../glib/gasyncqueue.c:453
#4 0x00005643d8d6c7ba in probe_request_thread_func (user_data=<optimized out>) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxprovider.c:291
#5 0x00007fb224123172 in g_thread_proxy (data=0x7fb2140072a0) at ../glib/gthread.c:827
#6 0x00007fb223f0fe1d in start_thread (arg=<optimized out>) at pthread_create.c:442
#7 0x00007fb223f952e0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 2 (Thread 0x7fb222543640 (LWP 1004)):
#0 0x00007fb223f888af in __GI___poll (fds=0x7fb21c010390, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fb22414e0dd in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7fb21c010390, timeout=<optimized out>, context=0x7fb21c00e6a0) at ../glib/gmain.c:4516
#2 g_main_context_iterate.constprop.0 (context=0x7fb21c00e6a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4206
#3 0x00007fb2240f866f in g_main_loop_run (loop=0x7fb21c00e790) at ../glib/gmain.c:4411
#4 0x00007fb22435395a in gdbus_shared_thread_func (user_data=0x7fb21c00e670) at ../gio/gdbusprivate.c:282
#5 0x00007fb224123172 in g_thread_proxy (data=0x7fb21c001520) at ../glib/gthread.c:827
#6 0x00007fb223f0fe1d in start_thread (arg=<optimized out>) at pthread_create.c:442
#7 0x00007fb223f952e0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 1 (Thread 0x7fb223546900 (LWP 990)):
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007fb223f11ca3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007fb223ec19c6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007fb223eab7f4 in __GI_abort () at abort.c:79
#4 0x00007fb223f05d9e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fb22403c8e7 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#5 0x00007fb223f1b94c in malloc_printerr (str=str@entry=0x7fb22403a300 "corrupted double-linked list") at malloc.c:5664
#6 0x00007fb223f1c464 in unlink_chunk (p=p@entry=0x5643da4a3a90, av=0x7fb22407ac80 <main_arena>) at malloc.c:1635
#7 0x00007fb223f1f05d in _int_malloc (av=av@entry=0x7fb22407ac80 <main_arena>, bytes=bytes@entry=24) at malloc.c:4307
#8 0x00007fb223f209e9 in __libc_calloc (n=n@entry=1, elem_size=elem_size@entry=24) at malloc.c:3679
--Type <RET> for more, q to quit, c to continue without paging--
#9 0x00007fb224615156 in mnt_new_iter (direction=direction@entry=0) at libmount/src/iter.c:35
#10 0x00005643d8da44d6 in find_fstab_entries.constprop.0 (block=block@entry=0x5643da494b80, needle=needle@entry=0x0, daemon=0x5643da450f00) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxblock.c:440
#11 0x00005643d8da461b in calculate_configuration.constprop.0 (block=0x5643da494b80, daemon=0x5643da450f00, include_secrets=0, error=0x7fffdefc5430) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxblock.c:650
#12 0x00005643d8d6a142 in update_configuration (block=0x5643da494b80, daemon=0x3de, daemon@entry=0x5643da450f00) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxblock.c:708
#13 0x00005643d8d70a29 in udisks_linux_block_update (block=0x5643da494b80, object=object@entry=0x5643da492980) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxblock.c:1210
#14 0x00005643d8d7116e in block_device_update (object=<optimized out>, uevent_action=<optimized out>, _iface=0x5643da494b80) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxblockobject.c:494
#15 0x00005643d8d6e668 in udisks_linux_block_object_uevent (object=0x5643da492980, action=0x5643d8da543a "change", device=<optimized out>) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxblockobject.c:877
#16 0x00005643d8d6f431 in update_block_objects (provider=<optimized out>, device_path=0x0) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/udiskslinuxprovider.c:1574
#17 0x00007fb2241f3da0 in g_closure_invoke (closure=0x5643da4f2da0, return_value=0x0, n_param_values=1, param_values=0x7fffdefc57d0, invocation_hint=0x7fffdefc5750) at ../gobject/gclosure.c:830
#18 0x00007fb2242204b6 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x5643da47d400, detail=detail@entry=0, instance=instance@entry=0x5643da45c680, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffdefc57d0) at ../gobject/gsignal.c:3743
#19 0x00007fb224210a0e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffdefc5980) at ../gobject/gsignal.c:3496
#20 0x00007fb224210c93 in g_signal_emit (instance=<optimized out>, signal_id=signal_id@entry=25, detail=detail@entry=0) at ../gobject/gsignal.c:3553
#21 0x00007fb22428b857 in g_context_specific_source_dispatch (source=0x5643da47d550, callback=<optimized out>, user_data=<optimized out>) at ../gio/gcontextspecificgroup.c:54
#22 0x00007fb2240f8f4f in g_main_dispatch (context=0x5643da446130) at ../glib/gmain.c:3417
#23 g_main_context_dispatch (context=0x5643da446130) at ../glib/gmain.c:4135
#24 0x00007fb22414e168 in g_main_context_iterate.constprop.0 (context=0x5643da446130, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211
#25 0x00007fb2240f866f in g_main_loop_run (loop=0x5643da447200) at ../glib/gmain.c:4411
#26 0x00005643d8d66604 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/udisks2-2.10.0-55.20220517git2b95d444.fc36.x86_64/src/main.c:184
Somewhat related to https://github.com/storaged-project/udisks/commit/0b83dc870542479ac3f6571f73b2ddc3d2d672ab but this time it doesn't seem to be trigerred by a race condition from the state cleanup thread. Possibly a missing wild reference somewhere.