Score:0

How to debug GTK crashes?

mu flag

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?

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.