Segfaults during verification
Detailed description of the issue. Provide as much information as you can, potentially with images or videos showing the issue.
Steps to reproduce
- Clear all existing app data (like with the transition from sled to SQLite)
- Open Fractal
- Log in
- Start verification
- Accept the verification in another client
- Select emoji verification in the other client
Information
-
This bug is reproducible from the latest nightly build - Fractal Version: 5-alpha1-e1b5eb56
- OS Version: Debian GNU/Linux 12 (bookworm)
- Installation Source: GNOME Apps Nightly
- Homeserver: N/A (Synapse 1.81.0)
Fractal's log:
2023-04-27T15:30:46.544889Z DEBUG fractal::session::verification::verification_list: Received to-device verification event: KeyVerificationStart(ToDeviceEvent { content: ToDeviceKeyVerificationStartEventContent { from_device: "[snip]", transaction_id: "...", method: SasV1(SasV1Content { key_agreement_protocols: ["curve25519-hkdf-sha256", "curve25519"], hashes: ["sha256"], message_authentication_codes: ["hkdf-hmac-sha256.v2", "org.matrix.msc3783.hkdf-hmac-sha256", "hkdf-hmac-sha256", "hmac-sha256"], short_authentication_string: ["decimal", "emoji"] }) }, sender: "[snip]" })
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ()', src/contrib/qr_code_scanner/camera_paintable.rs:215:33
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /run/build/fractal/_flatpak_build/cargo-home/registry/src/github.com-1ecc6299db9ec823/gst-plugin-gtk4-0.10.5/src/sink/imp.rs:70:51
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ()', src/contrib/qr_code_scanner/camera_paintable.rs:215:33
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /run/build/fractal/_flatpak_build/cargo-home/registry/src/github.com-1ecc6299db9ec823/gst-plugin-gtk4-0.10.5/src/sink/imp.rs:70:51
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
2023-04-27T15:30:47.316284Z DEBUG fractal::session::verification::identity_verification: Wait for emojis to be ready
2023-04-27T15:30:47.344297Z DEBUG fractal::session: Received sync response
Segmentation fault
GDB/backtrace output retrieved using flatpak-coredumpctl
:
Core was generated by `fractal'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 emission_find (instance=0x555953bf2340, detail=3695, signal_id=1) at ../gobject/gsignal.c:895
895 if (emission->instance == instance &&
[Current thread is 1 (Thread 0x7ffa5f4175c0 (LWP 2))]
>>> bt
#0 emission_find (instance=0x555953bf2340, detail=3695, signal_id=1) at ../gobject/gsignal.c:895
#3 0x00007ffa6271b743 in <emit signal notify:session on instance 0x555953bf2340 [Avatar]> (instance=instance@entry=0x555953bf2340, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3631
#1 signal_emit_unlocked_R (node=node@entry=0x55594feba7c0, detail=detail@entry=3695, instance=instance@entry=0x555953bf2340, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffc1a711b10) at ../gobject/gsignal.c:3705
#2 0x00007ffa6271b575 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc1a711cb0) at ../gobject/gsignal.c:3574
#4 0x00007ffa62704a54 in g_object_dispatch_properties_changed (object=0x555953bf2340 [Avatar], n_pspecs=<optimized out>, pspecs=<optimized out>) at ../gobject/gobject.c:1428
#5 0x00007ffa62705454 in g_object_notify_queue_thaw (object=0x555953bf2340 [Avatar], nqueue=<optimized out>) at ../gobject/gobject.c:359
#6 0x00007ffa62706928 in g_object_new_internal (class=class@entry=0x555952a12bb0, params=params@entry=0x7ffc1a711ef0, n_params=n_params@entry=2) at ../gobject/gobject.c:2307
#7 0x00007ffa62707edb in g_object_new_with_properties (object_type=0x555952a10f10 [Avatar], n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at ../gobject/gobject.c:2406
#8 0x000055594ea3d1a0 in ()
#9 0x000055594e91b122 in ()
#10 0x000055594e309e1c in ()
#11 0x00007ffa627068d2 in g_object_new_internal (class=class@entry=0x555952b839e0, params=params@entry=0x7ffc1a712bc0, n_params=n_params@entry=2) at ../gobject/gobject.c:2297
#12 0x00007ffa62707edb in g_object_new_with_properties (object_type=0x555952aa12c0 [Member/User], n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at ../gobject/gobject.c:2406
#13 0x000055594ea3d1a0 in ()
#14 0x000055594e952c40 in ()
#15 0x000055594e952dde in ()
#16 0x000055594e94dd80 in ()
#17 0x000055594e323bd6 in ()
#18 0x00007ffa62705f1e in object_set_property (object=0x555953bed0d0 [RoomEvent], pspec=0x5559535d9920 [GParamBoxed], value=0x7ffc1a715040, nqueue=0x5559505c44e0, user_specified=<optimized out>) at ../gobject/gobject.c:1812
#19 0x00007ffa62706913 in g_object_new_internal (class=class@entry=0x555952ef8a70, params=params@entry=0x7ffc1a714e30, n_params=n_params@entry=2) at ../gobject/gobject.c:2304
#20 0x00007ffa62707edb in g_object_new_with_properties (object_type=0x5559505a5320 [RoomEvent/TimelineItem], n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at ../gobject/gobject.c:2406
#21 0x000055594ea3d1a0 in ()
#22 0x000055594e958ebc in ()
#23 0x000055594e9554da in ()
#24 0x000055594e24f2fe in ()
#25 0x000055594ea40b51 in ()
#26 0x00007ffa625b4ca4 in g_main_dispatch (context=context@entry=0x55594fedb5f0) at ../glib/gmain.c:3474
#27 0x00007ffa625b6da7 in g_main_context_dispatch_unlocked (context=0x55594fedb5f0) at ../glib/gmain.c:4287
#28 g_main_context_iterate_unlocked (context=context@entry=0x55594fedb5f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4352
#29 0x00007ffa625b7493 in g_main_context_iteration (context=context@entry=0x55594fedb5f0, may_block=may_block@entry=1) at ../glib/gmain.c:4417
#30 0x00007ffa617023cd in g_application_run (application=0x55595011bb20 [Application], argc=<optimized out>, argv=0x5559501c4360) at ../gio/gapplication.c:2573
#31 0x000055594e9aed7a in ()
#32 0x000055594e0f8203 in ()
#33 0x000055594e104709 in ()
#34 0x000055594f47b588 in ()
#35 0x000055594ea2c65c in ()
#36 0x00007ffa60a2954a in __libc_start_call_main (main=main@entry=0x55594ea2c630, argc=argc@entry=1, argv=argv@entry=0x7ffc1a719c28) at ../sysdeps/nptl/libc_start_call_main.h:58
#37 0x00007ffa60a2960b in __libc_start_main_impl (main=0x55594ea2c630, argc=1, argv=0x7ffc1a719c28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:389
#38 0x000055594da3c2f5 in ()
Edited by Paul van Tilburg