Bug#941550: glib2.0: intermittent test failure: mimeapps test segfaults
Simon McVittie
smcv at debian.org
Wed Oct 2 18:17:12 BST 2019
On Wed, 02 Oct 2019 at 12:12:06 +0100, Simon McVittie wrote:
> On Tue, 01 Oct 2019 at 23:07:13 +0100, Simon McVittie wrote:
> > glib2.0 2.62.0-2 failed tests a couple of times on s390x, with a
> > segmentation fault running gio/tests/mimeapps.c.
>
> This also happened on amd64
This can be reproduced by running the test in a loop:
meson test --repeat=1000 --gdb -C ~/tmp/build/glib/debug -v mimeapps
(This is in upstream GLib, not in a Debian package, if that matters.
The equivalent build directory in the Debian package is debian/build/deb.)
Looks like maybe a use-after-free, or a conflict between threads?
Thread 2 (Thread 0x7ffff77cc700 (LWP 15468)):
#0 __strrchr_avx2 () at ../sysdeps/x86_64/multiarch/strrchr-avx2.S:87
#1 0x00007ffff7ed3655 in g_path_get_dirname (file_name=0x3131313131313131 <error: Cannot access memory at address 0x3131313131313131>) at ../../../../../../home/smcv/src/glib/glib/gfileutils.c:2441
#2 0x00007ffff7cfd5db in desktop_file_dir_get_alternative_dir (dir=0x5555555859f0) at ../../../../../../home/smcv/src/glib/gio/gdesktopappinfo.c:193
#3 0x00007ffff7cfd694 in desktop_file_dir_changed (monitor=0x55555558b8b0, file=0x5555555838c0, other_file=0x0, event_type=G_FILE_MONITOR_EVENT_DELETED, user_data=0x5555555859f0) at ../../../../../../home/smcv/src/glib/gio/gdesktopappinfo.c:241
#4 0x00007ffff7ca973b in _g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUMv (closure=0x55555557d930, return_value=0x0, instance=0x55555558b8b0, args=0x7ffff77cbac8, marshal_data=0x0, n_params=3, param_types=0x555555575b50) at ../../../../../../home/smcv/src/glib/gio/gmarshal-internal.c:1380
#5 0x00007ffff7e43354 in _g_closure_invoke_va (closure=0x55555557d930, return_value=0x0, instance=0x55555558b8b0, args=0x7ffff77cbac8, n_params=3, param_types=0x555555575b50) at ../../../../../../home/smcv/src/glib/gobject/gclosure.c:873
#6 0x00007ffff7e5f35d in g_signal_emit_valist (instance=0x55555558b8b0, signal_id=2, detail=0, var_args=0x7ffff77cbac8) at ../../../../../../home/smcv/src/glib/gobject/gsignal.c:3310
#7 0x00007ffff7e605a7 in g_signal_emit (instance=0x55555558b8b0, signal_id=2, detail=0) at ../../../../../../home/smcv/src/glib/gobject/gsignal.c:3457
#8 0x00007ffff7c964c0 in g_file_monitor_emit_event (monitor=0x55555558b8b0, child=0x5555555838c0, other_file=0x0, event_type=G_FILE_MONITOR_EVENT_DELETED) at ../../../../../../home/smcv/src/glib/gio/gfilemonitor.c:294
#9 0x00007ffff7d933d0 in g_file_monitor_source_dispatch (source=0x5555555803d0, callback=0x0, user_data=0x0) at ../../../../../../home/smcv/src/glib/gio/glocalfilemonitor.c:560
#10 0x00007ffff7ee99b8 in g_main_dispatch (context=0x5555555776f0) at ../../../../../../home/smcv/src/glib/glib/gmain.c:3180
#11 0x00007ffff7eea815 in g_main_context_dispatch (context=0x5555555776f0) at ../../../../../../home/smcv/src/glib/glib/gmain.c:3845
#12 0x00007ffff7eea9f9 in g_main_context_iterate (context=0x5555555776f0, block=1, dispatch=1, self=0x555555577800) at ../../../../../../home/smcv/src/glib/glib/gmain.c:3918
#13 0x00007ffff7eeaabd in g_main_context_iteration (context=0x5555555776f0, may_block=1) at ../../../../../../home/smcv/src/glib/glib/gmain.c:3979
#14 0x00007ffff7eec8b6 in glib_worker_main (data=0x0) at ../../../../../../home/smcv/src/glib/glib/gmain.c:5859
#15 0x00007ffff7f1c392 in g_thread_proxy (data=0x555555577800) at ../../../../../../home/smcv/src/glib/glib/gthread.c:805
#16 0x00007ffff7998fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486
#17 0x00007ffff7b212ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7ffff77cdc80 (LWP 15464)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007ffff7f47a0b in g_mutex_lock_slowpath (mutex=0x7ffff7e2d300 <desktop_file_dir_lock>) at ../../../../../../home/smcv/src/glib/glib/gthread-posix.c:1340
#2 0x00007ffff7f47aaf in g_mutex_lock (mutex=0x7ffff7e2d300 <desktop_file_dir_lock>) at ../../../../../../home/smcv/src/glib/glib/gthread-posix.c:1364
#3 0x00007ffff7cff7ff in desktop_file_dirs_lock () at ../../../../../../home/smcv/src/glib/gio/gdesktopappinfo.c:1486
#4 0x00007ffff7d05123 in g_app_info_get_default_for_type (content_type=0x55555555a8c0 "image/bmp", must_support_uris=0) at ../../../../../../home/smcv/src/glib/gio/gdesktopappinfo.c:4310
#5 0x00005555555586b7 in test_mime_default_last_used (fixture=0x55555557de60, test_data=0x0) at ../../../../../../home/smcv/src/glib/gio/tests/mimeapps.c:510
#6 0x00007ffff7f18ffc in test_case_run (tc=0x55555556dac0) at ../../../../../../home/smcv/src/glib/glib/gtestutils.c:2633
#7 0x00007ffff7f193b8 in g_test_run_suite_internal (suite=0x55555556c860, path=0x0) at ../../../../../../home/smcv/src/glib/glib/gtestutils.c:2721
#8 0x00007ffff7f19461 in g_test_run_suite_internal (suite=0x55555556c840, path=0x0) at ../../../../../../home/smcv/src/glib/glib/gtestutils.c:2733
#9 0x00007ffff7f19461 in g_test_run_suite_internal (suite=0x55555556c820, path=0x0) at ../../../../../../home/smcv/src/glib/glib/gtestutils.c:2733
#10 0x00007ffff7f19678 in g_test_run_suite (suite=0x55555556c820) at ../../../../../../home/smcv/src/glib/glib/gtestutils.c:2808
#11 0x00007ffff7f18254 in g_test_run () at ../../../../../../home/smcv/src/glib/glib/gtestutils.c:2043
#12 0x00005555555594f2 in main (argc=1, argv=0x7fffffffddc8) at ../../../../../../home/smcv/src/glib/gio/tests/mimeapps.c:647
More information about the pkg-gnome-maintainers
mailing list