Gramps is a Python/GTK application.
It crashes when (GTK_MODULES
is set AND XDG_RUNTIME_DIR
) is set. If only one is set, there is no crash.
The default value of GTK_MODULES
has several colon-separated entries, but it appears only one of them, appmenu-gtk-module
, causes it to crash.
The default value of XDG_RUNTIME_DIR
is /run/user/1000/
, which causes the crash. Setting this to an empty directory does not crash.
strace --trace=%file ... | grep $XDG_RUNTIME_DIR
shows:
newfstatat(AT_FDCWD, "/run/user/1000/bus", {st_mode=S_IFSOCK|0666, st_size=0, ...}, 0) = 0
openat(AT_FDCWD, "/run/user/1000/dconf/profile", O_RDONLY) = -1 ENOENT (No such file or directory)
mkdir("/run/user/1000/dconf", 0700) = -1 EEXIST (File exists)
newfstatat(AT_FDCWD, "/run/user/1000/dconf", {st_mode=S_IFDIR|0700, st_size=60, ...}, 0) = 0
openat(AT_FDCWD, "/run/user/1000/dconf/user", O_RDWR|O_CREAT, 0600) = 8
newfstatat(AT_FDCWD, "/run/user/1000/bus", {st_mode=S_IFSOCK|0666, st_size=0, ...}, 0) = 0
access("/run/user/1000/flatpak-info", F_OK) = -1 ENOENT (No such file or directory)
Since the flatpak-info access was last and was unsuccessful, I am quite suspicious of it, but touching that one file doesn't get any more syscalls.
GDB shows a long stacktrace. Unfortunately, I installed everything from apt-get and don't have debug symbols.
#0 0x00007ffff0844313 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#1 0x00007ffff460496f in ?? () from /lib/x86_64-linux-gnu/libgio-2.0.so.0
#2 0x00007ffff480bc26 in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3 0x00007ffff480c863 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4 0x00007ffff00a9b05 in ?? () from /lib/x86_64-linux-gnu/libappmenu-gtk3-parser.so.0
And now, I am stuck. Any advice on how to debug this problem?