Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tilix core dumps with GNOME 47 #2239

Open
cedricroijakkers opened this issue Sep 19, 2024 · 5 comments
Open

Tilix core dumps with GNOME 47 #2239

cedricroijakkers opened this issue Sep 19, 2024 · 5 comments

Comments

@cedricroijakkers
Copy link

GNOME 47 has just been released in the Arch repo's, and Tilix now core dumps when starting:

Sep 19 12:47:13 48HVWD3 systemd-coredump[9745]: [🡕] Process 9709 (tilix) of user 1000 dumped core.
                                                
                                                Stack trace of thread 9709:
                                                #0  0x000079a7b85f0c18 n/a (libgobject-2.0.so.0 + 0x41c18)
                                                #1  0x000079a7b85e1b4c n/a (libgobject-2.0.so.0 + 0x32b4c)
                                                #2  0x000079a7b85e1db2 g_signal_emit_valist (libgobject-2.0.so.0 + 0x32db2)
                                                #3  0x000079a7b85e1e74 g_signal_emit (libgobject-2.0.so.0 + 0x32e74)
                                                #4  0x000079a7b85ccd16 n/a (libgobject-2.0.so.0 + 0x1dd16)
                                                #5  0x000079a7b85c1118 n/a (libgobject-2.0.so.0 + 0x12118)
                                                #6  0x000079a7b8926857 n/a (libvte-2.91.so.0 + 0x13857)
                                                #7  0x000079a7b8960d89 n/a (libvte-2.91.so.0 + 0x4dd89)
                                                #8  0x000079a7b8961157 n/a (libvte-2.91.so.0 + 0x4e157)
                                                #9  0x000079a7b8961253 n/a (libvte-2.91.so.0 + 0x4e253)
                                                #10 0x000079a7b89613ad n/a (libvte-2.91.so.0 + 0x4e3ad)
                                                #11 0x000079a7b894697b n/a (libvte-2.91.so.0 + 0x3397b)
                                                #12 0x000079a7b7944f6d n/a (libgtk-3.so.0 + 0x344f6d)
                                                #13 0x000079a7b85c082a g_closure_invoke (libgobject-2.0.so.0 + 0x1182a)
                                                #14 0x000079a7b85f13e5 n/a (libgobject-2.0.so.0 + 0x423e5)
                                                #15 0x000079a7b85e1b4c n/a (libgobject-2.0.so.0 + 0x32b4c)
                                                #16 0x000079a7b85e1db2 g_signal_emit_valist (libgobject-2.0.so.0 + 0x32db2)
                                                #17 0x000079a7b85e1e74 g_signal_emit (libgobject-2.0.so.0 + 0x32e74)
                                                #18 0x000079a7b754806e n/a (libgdk-3.so.0 + 0x3506e)
                                                #19 0x000079a7b7533ac0 n/a (libgdk-3.so.0 + 0x20ac0)
                                                #20 0x000079a7b84bd90a n/a (libglib-2.0.so.0 + 0x5e90a)
                                                #21 0x000079a7b84bc459 n/a (libglib-2.0.so.0 + 0x5d459)
                                                #22 0x000079a7b851f0d7 n/a (libglib-2.0.so.0 + 0xc00d7)
                                                #23 0x000079a7b84bb955 g_main_context_iteration (libglib-2.0.so.0 + 0x5c955)
                                                #24 0x000079a7b86ecbf6 g_application_run (libgio-2.0.so.0 + 0xdebf6)
                                                #25 0x0000583370c8840a n/a (tilix + 0x31640a)
                                                #26 0x000079a7b8daa06d _D2rt6dmain212_d_run_main2UAAamPUQgZiZ6runAllMFZv (libdruntime-ldc-shared.so.109 + 0xe706d)
                                                #27 0x000079a7b8da9e87 _d_run_main2 (libdruntime-ldc-shared.so.109 + 0xe6e87)
                                                #28 0x000079a7b8da9cdd _d_run_main (libdruntime-ldc-shared.so.109 + 0xe6cdd)
                                                #29 0x0000583370c8b1e2 n/a (tilix + 0x3191e2)
                                                #30 0x000079a7b8af7e08 n/a (libc.so.6 + 0x25e08)
                                                #31 0x000079a7b8af7ecc __libc_start_main (libc.so.6 + 0x25ecc)
                                                #32 0x0000583370a95c15 n/a (tilix + 0x123c15)
                                                
                                                Stack trace of thread 9710:
                                                #0  0x000079a7b8be91fd syscall (libc.so.6 + 0x1171fd)
                                                #1  0x000079a7b84ede20 g_cond_wait (libglib-2.0.so.0 + 0x8ee20)
                                                #2  0x000079a7b848498c n/a (libglib-2.0.so.0 + 0x2598c)
                                                #3  0x000079a7b84f4037 n/a (libglib-2.0.so.0 + 0x95037)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9712:
                                                #0  0x000079a7b8be91fd syscall (libc.so.6 + 0x1171fd)
                                                #1  0x000079a7b84eeb37 g_cond_wait_until (libglib-2.0.so.0 + 0x8fb37)
                                                #2  0x000079a7b8484955 n/a (libglib-2.0.so.0 + 0x25955)
                                                #3  0x000079a7b84f4afb n/a (libglib-2.0.so.0 + 0x95afb)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9713:
                                                #0  0x000079a7b8bddbb0 ppoll (libc.so.6 + 0x10bbb0)
                                                #1  0x000079a7b851f1a4 n/a (libglib-2.0.so.0 + 0xc01a4)
                                                #2  0x000079a7b84bd187 g_main_loop_run (libglib-2.0.so.0 + 0x5e187)
                                                #3  0x000079a7b8721ae4 n/a (libgio-2.0.so.0 + 0x113ae4)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9714:
                                                #0  0x000079a7b8bddbb0 ppoll (libc.so.6 + 0x10bbb0)
                                                #1  0x000079a7b851f1a4 n/a (libglib-2.0.so.0 + 0xc01a4)
                                                #2  0x000079a7b84bb955 g_main_context_iteration (libglib-2.0.so.0 + 0x5c955)
                                                #3  0x000079a7b42e42fe n/a (libdconfsettings.so + 0x62fe)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9711:
                                                #0  0x000079a7b8bddbb0 ppoll (libc.so.6 + 0x10bbb0)
                                                #1  0x000079a7b851f1a4 n/a (libglib-2.0.so.0 + 0xc01a4)
                                                #2  0x000079a7b84bb955 g_main_context_iteration (libglib-2.0.so.0 + 0x5c955)
                                                #3  0x000079a7b84bb9b2 n/a (libglib-2.0.so.0 + 0x5c9b2)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9715:
                                                #0  0x000079a7b8be91fd syscall (libc.so.6 + 0x1171fd)
                                                #1  0x000079a7b84ede20 g_cond_wait (libglib-2.0.so.0 + 0x8ee20)
                                                #2  0x000079a7b848498c n/a (libglib-2.0.so.0 + 0x2598c)
                                                #3  0x000079a7b84849fd g_async_queue_pop (libglib-2.0.so.0 + 0x259fd)
                                                #4  0x000079a7b6a835fc n/a (libpangoft2-1.0.so.0 + 0xc5fc)
                                                #5  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #6  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #7  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                ELF object binary architecture: AMD x86-64
@cedricroijakkers
Copy link
Author

I've tried building from source, and that is failing with the following message:

FAILED: tilix 
ldc  -of=tilix tilix.p/source_gx_gtk_actions.d.o tilix.p/source_gx_gtk_cairo.d.o tilix.p/source_gx_gtk_clipboard.d.o tilix.p/source_gx_gtk_color.d.o tilix.p/source_gx_gtk_dialog.d.o tilix.p/source_gx_gtk_resource.d.o tilix.p/source_gx_gtk_settings.d.o tilix.p/source_gx_gtk_threads.d.o tilix.p/source_gx_gtk_util.d.o tilix.p/source_gx_gtk_vte.d.o tilix.p/source_gx_gtk_x11.d.o tilix.p/source_gx_i18n_l10n.d.o tilix.p/source_gx_tilix_bookmark_bmchooser.d.o tilix.p/source_gx_tilix_bookmark_bmeditor.d.o tilix.p/source_gx_tilix_bookmark_bmtreeview.d.o tilix.p/source_gx_tilix_bookmark_manager.d.o tilix.p/source_gx_tilix_prefeditor_advdialog.d.o tilix.p/source_gx_tilix_prefeditor_bookmarkeditor.d.o tilix.p/source_gx_tilix_prefeditor_common.d.o tilix.p/source_gx_tilix_prefeditor_prefdialog.d.o tilix.p/source_gx_tilix_prefeditor_profileeditor.d.o tilix.p/source_gx_tilix_prefeditor_titleeditor.d.o tilix.p/source_gx_tilix_terminal_actions.d.o tilix.p/source_gx_tilix_terminal_activeprocess.d.o tilix.p/source_gx_tilix_terminal_advpaste.d.o tilix.p/source_gx_tilix_terminal_exvte.d.o tilix.p/source_gx_tilix_terminal_layout.d.o tilix.p/source_gx_tilix_terminal_monitor.d.o tilix.p/source_gx_tilix_terminal_password.d.o tilix.p/source_gx_tilix_terminal_regex.d.o tilix.p/source_gx_tilix_terminal_search.d.o tilix.p/source_gx_tilix_terminal_terminal.d.o tilix.p/source_gx_tilix_terminal_util.d.o tilix.p/source_gx_tilix_application.d.o tilix.p/source_gx_tilix_appwindow.d.o tilix.p/source_gx_tilix_closedialog.d.o tilix.p/source_gx_tilix_cmdparams.d.o tilix.p/source_gx_tilix_colorschemes.d.o tilix.p/source_gx_tilix_common.d.o tilix.p/source_gx_tilix_constants.d.o tilix.p/source_gx_tilix_customtitle.d.o tilix.p/source_gx_tilix_encoding.d.o tilix.p/source_gx_tilix_preferences.d.o tilix.p/source_gx_tilix_session.d.o tilix.p/source_gx_tilix_shortcuts.d.o tilix.p/source_gx_tilix_sidebar.d.o tilix.p/source_gx_util_array.d.o tilix.p/source_gx_util_path.d.o tilix.p/source_gx_util_string.d.o tilix.p/source_secret_Collection.d.o tilix.p/source_secret_Item.d.o tilix.p/source_secret_Prompt.d.o tilix.p/source_secret_Schema.d.o tilix.p/source_secret_SchemaAttribute.d.o tilix.p/source_secret_Secret.d.o tilix.p/source_secret_Service.d.o tilix.p/source_secret_Value.d.o tilix.p/source_secretc_secret.d.o tilix.p/source_secretc_secrettypes.d.o tilix.p/source_x11_X.d.o tilix.p/source_x11_Xlib.d.o tilix.p/source_app.d.o -L=--allow-shlib-undefined -link-defaultlib-shared -L=-O1 -L=--sort-common -L=--as-needed -L=-z -L=relro -L=-z -L=now -L=-z -L=pack-relative-relocs --flto=full -L=--export-dynamic -L=-L/usr/lib/pkgconfig/../../lib -L-L/usr/lib// -L-lgtkd-3 -L-ldl -L=-lgtk-3 -L=-lgdk-3 -L=-lz -L=-latk-1.0 -L=-lrsvg-2 -L=-lcairo-gobject -L=-lcairo -L=-lpng16 -L=-ldav1d -L=-lgdk_pixbuf-2.0 -L=-lharfbuzz -L=-lxml2 -L=-lpangocairo-1.0 -L=-lpangoft2-1.0 -L=-lpango-1.0 -L=-lfontconfig -L=-lfreetype -L=-lgmodule-2.0 -L=-lgio-2.0 -L=-lglib-2.0 -L=-lgobject-2.0 -L=--export-dynamic -L=-L/usr/lib/pkgconfig/../../lib -L-lvted-3 -L-L/usr/lib// -L-lgtkd-3 -L-ldl -L=-lgdk-3 -L=-lz -L=-latk-1.0 -L=-lrsvg-2 -L=-lcairo-gobject -L=-lpng16 -L=-ldav1d -L=-lgdk_pixbuf-2.0 -L=-lharfbuzz -L=-lxml2 -L=-lpangocairo-1.0 -L=-lpangoft2-1.0 -L=-lfontconfig -L=-lfreetype -L=-lgmodule-2.0 -L=-lvte-2.91 -L=-lcairo -L=-lgio-2.0 -L=-lglib-2.0 -L=-lgobject-2.0 -L=-lpango-1.0 -L=-lgtk-3 -L=-lX11 -L=-lunwind -L=-lsecret-1 -L=-lglib-2.0 -L=-lgobject-2.0 -L=-lgio-2.0
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTEQBjQBjQBg10ActionTypeTCQCgQCgQCd__T16CumulativeResultTbZQvZQCx11__xopEqualsMxFKxSQEmQEmQEj__TQEfTQDuTQDbZQErZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate), const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)).__equals(scope const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)[], scope const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)[])'
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTAyaTQeTQhTQkZQBc11__xopEqualsMxFKxSQCrQCrQCo__TQCkTQBzTQCdTQChTQClZQDeZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate), const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)).__equals(scope const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)[], scope const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)[])'
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(gx.tilix.session.Session).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(gx.tilix.session.Session).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTCQBjQBj7session7SessionZQBn11__xopEqualsMxFKxSQDcQDcQCz__TQCvTQCkZQDdZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(gx.tilix.session.Session) delegate), const(void(gx.tilix.session.Session) delegate)).__equals(scope const(void(gx.tilix.session.Session) delegate)[], scope const(void(gx.tilix.session.Session) delegate)[])'
collect2: error: ld returned 1 exit status
Error: /usr/bin/cc failed with status: 1

Seems like some library Tilix is using has changed in GNOME 47 maybe?

@github-staff github-staff deleted a comment from nhatlaso1 Sep 23, 2024
@cedricroijakkers
Copy link
Author

I managed to get a debugging backtrace, see gdb-tilix.txt. It looks like Tilix needs to be rebuilt against the new library. I don have any experience in D, so I really cannot help here by making a PR or something...

@cedricroijakkers
Copy link
Author

The good folks at Arch have now managed to get Tilix to compile again against GNOME 47, see the patch here, and this seems to work again for a lot of people. However, in my case (and I have no idea why) it is still core dumping when starting on one PC, but not on the other.

Also it seems that if you start Tilix with a config file to start with a 2x2 grid, it always core dumps on a PC where you can start the vanilly Tilix.

@andryyy
Copy link

andryyy commented Oct 29, 2024

I had no idea what I was doing, but I have backups, so I gave it a try and compile on Debian Trixie/testing.

My Tilix would constantly crash with a similar segfault at libgdk-3.

I installed dub and libgio-2.0-dev-bin, then changed the dub.json:

*** 33,38 ****
--- 33,39 ----
              "name": "default",
              "targetType": "executable",
              "libs-linux": ["X11"],
+             "lflags": ["-lz"],
              "versions": ["StdLoggerDisableTrace"]
          },
          {

See the added -lz flag.

After that it compiled and I was able to use install.sh as root (don't sudo here).

So far it seems stable.

@cedricroijakkers
Copy link
Author

I've tried your trick in linking the binary to lz, but no dice. I can see the new binary is now linked to /usr/lib/libz.so.1 but still crashes when starting.

I'm really baffled here, since I have another laptop on which Tilix is working fine (fair warning: that is running KDE on X11, I'm running GNOME on Wayland). There must be something wrong on my system, but I have absolutely no clue what it is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants