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

Seg Fault Fedora 27 Tilix 1.6.4 #1144

Closed
MylesJohnson opened this issue Oct 6, 2017 · 15 comments
Closed

Seg Fault Fedora 27 Tilix 1.6.4 #1144

MylesJohnson opened this issue Oct 6, 2017 · 15 comments

Comments

@MylesJohnson
Copy link

MylesJohnson commented Oct 6, 2017

I can not start Tilix on Fedora 27 Beta. Tilix was installed from the default repo.

$ uname -a
Linux fedoraxps 4.13.4-300.fc27.x86_64 #1 SMP Thu Sep 28 17:02:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/redhat-release 
Fedora release 27 (Twenty Seven)

$ tilix -v    
Versions
	Tilix version: 1.6.4
	VTE version: 0.50
	GTK Version: 3.22.21

Tilix Special Features
	Notifications enabled=1
	Triggers enabled=0
	Badges enabled=0

GDB output:

(gdb) run
Starting program: /usr/bin/tilix 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe2839700 (LWP 3450)]
[New Thread 0x7fffe2038700 (LWP 3451)]
[New Thread 0x7fffe1837700 (LWP 3452)]

Thread 1 "tilix" received signal SIGSEGV, Segmentation fault.
0x00007ffff76d5039 in gtk.StyleContext.StyleContext.addProviderForScreen(gdk.Screen.Screen, gtk.StyleProviderIF.StyleProviderIF, uint) (
    screen=<optimized out>, provider=0x7ffff7ece920, priority=600)
    at StyleContext.d:202
202	StyleContext.d: No such file or directory.
(gdb) bt full
#0  0x00007ffff76d5039 in gtk.StyleContext.StyleContext.addProviderForScreen(gdk.Screen.Screen, gtk.StyleProviderIF.StyleProviderIF, uint) (screen=<optimized out>, provider=0x7ffff7ece920, priority=600)
    at StyleContext.d:202
#1  0x00000000005cabda in gx.gtk.resource.addCssProvider(immutable(char)[], gx.gtk.resource.ProviderPriority, immutable(char)[][immutable(char)[]]) (filename=..., priority=ProviderPriority.APPLICATION, variables=<optimized out>) at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/gx/gtk/resource.d:81
        provider = 0x7ffff7ece900
#2  0x00000000005ca930 in gx.tilix.application.Tilix.loadResources() (this=0x7ffff7ed2200) at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/gx/tilix/application.d:138
        cssFile = <optimized out>
        __key4303 = 0
        theme = <optimized out>
#3  0x00000000005cca82 in gx.tilix.application.Tilix.onAppStartup(gio.Application.Application) (this=0x7ffff7ed2200, _param_0=<optimized out>)
    at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/gx/tilix/application.d:513
#4  0x00007ffff257973d in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#5  0x00007ffff258c55e in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#6  0x00007ffff2594d85 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#7  0x00007ffff25956ef in g_signal_emit () at /lib64/libgobject-2.0.so.0
#8  0x00007ffff285d012 in g_application_register () at /lib64/libgio-2.0.so.0
#9  0x00007ffff285d7ef in g_application_real_local_command_line () at /lib64/libgio-2.0.so.0
#10 0x00007ffff285db76 in g_application_run () at /lib64/libgio-2.0.so.0
#11 0x00000000005cffd5 in D main (args=...) at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/app.d:146
Python Exception <class 'gdb.error'> access outside bounds of object referenced via synthetic pointer: 
@ghost
Copy link

ghost commented Oct 6, 2017

I second this, however it was working at one point after the install before I started receiving the error.

$ coredumpctl gdb
           PID: 19727 (tilix)
           UID: 1000 (nick)
           GID: 1000 (nick)
        Signal: 11 (SEGV)
     Timestamp: Sat 2017-10-07 09:57:09 AEDT (6min ago)
  Command Line: tilix
    Executable: /usr/bin/tilix
 Control Group: /user.slice/user-1000.slice/session-7.scope
          Unit: session-7.scope
         Slice: user-1000.slice
       Session: 7
     Owner UID: 1000 (nick)
       Boot ID: 88c0b6ca3ab34b13b6384c259a74b5fd
    Machine ID: 00343e7cb8f64672898a58e85f4c98f0
      Hostname: t460
       Storage: /var/lib/systemd/coredump/core.tilix.1000.88c0b6ca3ab34b13b6384c259a74b5fd.19727.1507330629000000.lz4
       Message: Process 19727 (tilix) of user 1000 dumped core.
                
                Stack trace of thread 19727:
                #0  0x00007f2d56b34039 _D3gtk12StyleContext12StyleContext20addProviderForScreenFC3gdk6Screen6ScreenC3gtk15StyleProviderIF15StyleProviderIFkZv (libgtkd-3.so.0)
                #1  0x00000000005cabda _D2gx3gtk8resource14addCssProviderFAyaE2gx3gtk8resource16ProviderPriorityHAyaAyaZC3gtk11CssProvider11CssProvider (tilix)
                #2  0x00000000005ca930 _D2gx5tilix11application5Tilix13loadResourcesMFZv (tilix)
                #3  0x00000000005cca82 _D2gx5tilix11application5Tilix12onAppStartupMFC3gio11Application11ApplicationZv (tilix)
                #4  0x00007f2d519d873d g_closure_invoke (libgobject-2.0.so.0)
                #5  0x00007f2d519eb55e signal_emit_unlocked_R (libgobject-2.0.so.0)
                #6  0x00007f2d519f3d85 g_signal_emit_valist (libgobject-2.0.so.0)
                #7  0x00007f2d519f46ef g_signal_emit (libgobject-2.0.so.0)
                #8  0x00007f2d51cbc012 g_application_register (libgio-2.0.so.0)
                #9  0x00007f2d51cbc7ef g_application_real_local_command_line (libgio-2.0.so.0)
                #10 0x00007f2d51cbcb76 g_application_run (libgio-2.0.so.0)
                #11 0x00000000005cffd5 _Dmain (tilix)
                #12 0x00007f2d54e37c8f _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv (libdruntime-ldc.so.74)
                #13 0x00007f2d54e37bce _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ7tryExecMFMDFZvZv (libdruntime-ldc.so.74)
                #14 0x00007f2d54e37ac9 _d_run_main (libdruntime-ldc.so.74)
                #15 0x00007f2d5424503a __libc_start_main (libc.so.6)
                #16 0x0000000000557e9a _start (tilix)
                
                Stack trace of thread 19729:
                #0  0x00007f2d54331bcb __GI___poll (libc.so.6)
                #1  0x00007f2d516ffed9 g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007f2d516fffec g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f2d51700031 glib_worker_main (libglib-2.0.so.0)
                #4  0x00007f2d517274f6 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007f2d54965609 start_thread (libpthread.so.0)
                #6  0x00007f2d5433e17f __clone (libc.so.6)
                
                Stack trace of thread 19730:
                #0  0x00007f2d54331bcb __GI___poll (libc.so.6)
                #1  0x00007f2d516ffed9 g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007f2d51700272 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007f2d51ce8ab6 gdbus_shared_thread_func (libgio-2.0.so.0)
                #4  0x00007f2d517274f6 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007f2d54965609 start_thread (libpthread.so.0)
                #6  0x00007f2d5433e17f __clone (libc.so.6)
                
                Stack trace of thread 19728:
                #0  0x00007f2d54331bcb __GI___poll (libc.so.6)
                #1  0x00007f2d516ffed9 g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007f2d516fffec g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f2d41ca042d dconf_gdbus_worker_thread (libdconfsettings.so)
                #4  0x00007f2d517274f6 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007f2d54965609 start_thread (libpthread.so.0)
                #6  0x00007f2d5433e17f __clone (libc.so.6)

GNU gdb (GDB) Fedora 8.0.1-26.fc27
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/tilix...Reading symbols from /usr/lib/debug/usr/bin/tilix-1.6.4-4.fc27.x86_64.debug...done.
done.
[New LWP 19727]
[New LWP 19729]
[New LWP 19730]
[New LWP 19728]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `tilix'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f2d56b34039 in gtk.StyleContext.StyleContext.addProviderForScreen(gdk.Screen.Screen, gtk.StyleProviderIF.StyleProviderIF, uint) (screen=<optimized out>, provider=0x7f2d57334920, priority=600) at StyleContext.d:202
202	StyleContext.d: No such file or directory.
[Current thread is 1 (Thread 0x7f2d57434800 (LWP 19727))]
(gdb) bt
#0  0x00007f2d56b34039 in gtk.StyleContext.StyleContext.addProviderForScreen(gdk.Screen.Screen, gtk.StyleProviderIF.StyleProviderIF, uint) (screen=<optimized out>, provider=0x7f2d57334920, priority=600) at StyleContext.d:202
#1  0x00000000005cabda in gx.gtk.resource.addCssProvider(immutable(char)[], gx.gtk.resource.ProviderPriority, immutable(char)[][immutable(char)[]]) (filename=..., priority=ProviderPriority.APPLICATION, variables=<optimized out>)
    at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/gx/gtk/resource.d:81
#2  0x00000000005ca930 in gx.tilix.application.Tilix.loadResources() (this=0x7f2d57338200)
    at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/gx/tilix/application.d:138
#3  0x00000000005cca82 in gx.tilix.application.Tilix.onAppStartup(gio.Application.Application) (this=0x7f2d57338200, 
    _param_0=<optimized out>) at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/gx/tilix/application.d:513
#4  0x00007f2d519d873d in g_closure_invoke (closure=0x1a7d1a0, return_value=0x0, n_param_values=1, 
    param_values=0x7ffcbee81a80, invocation_hint=0x7ffcbee81a00) at gclosure.c:804
#5  0x00007f2d519eb55e in signal_emit_unlocked_R (node=node@entry=0x1a79720, detail=detail@entry=0, 
    instance=instance@entry=0x7f2d3c0136d0, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffcbee81a80) at gsignal.c:3635
#6  0x00007f2d519f3d85 in g_signal_emit_valist (instance=0x7f2d3c0136d0, signal_id=<optimized out>, detail=0, 
    var_args=var_args@entry=0x7ffcbee81c50) at gsignal.c:3391
#7  0x00007f2d519f46ef in g_signal_emit (instance=instance@entry=0x7f2d3c0136d0, signal_id=<optimized out>, 
    detail=detail@entry=0) at gsignal.c:3447
#8  0x00007f2d51cbc012 in g_application_register (application=application@entry=0x7f2d3c0136d0, 
    cancellable=cancellable@entry=0x0, error=error@entry=0x7ffcbee81d88) at gapplication.c:2069
#9  0x00007f2d51cbc7ef in g_application_real_local_command_line (application=0x7f2d3c0136d0, 
    arguments=0x7ffcbee81e88, exit_status=0x7ffcbee81e84) at gapplication.c:1009
#10 0x00007f2d51cbcb76 in g_application_run (application=0x7f2d3c0136d0, argc=<optimized out>, argv=<optimized out>)
    at gapplication.c:2370
#11 0x00000000005cffd5 in D main (args=...) at /usr/src/debug/tilix-1.6.4-4.fc27.x86_64/source/app.d:146
(gdb) 

@gnunn1
Copy link
Owner

gnunn1 commented Oct 6, 2017

If I had to guess, I'd say that for some reason Screen.getDefault is returning null. The documentation says it can and I should be checking for null which I'm not so I'll correct that. However I'm not sure what the right way is to add a global CSS provider in this scenario, I'll have to investigate.

gnunn1 added a commit that referenced this issue Oct 6, 2017
@gnunn1
Copy link
Owner

gnunn1 commented Oct 6, 2017

If you switch to X11, does it work?

@MylesJohnson
Copy link
Author

X11 has the same problem for me here

@ghost
Copy link

ghost commented Oct 6, 2017

Yeah, problem persists.

@gnunn1
Copy link
Owner

gnunn1 commented Oct 7, 2017

Testing in Arch under both X11 and Wayland it works fine and I'm running a newer version of GTK:

Versions
	Tilix version: 1.6.5-0.0.2
	VTE version: 0.50
	GTK Version: 3.22.24

Tilix Special Features
	Notifications enabled=1
	Triggers enabled=1
	Badges enabled=1

I'll have to look at it some more, if you want to try compiling from source I added some code to hopefully prevent the crash but the CSS won't be loaded which will result in a less then optimal UI experience.

@gnunn1
Copy link
Owner

gnunn1 commented Oct 7, 2017

BTW I'd suggest opening a bug against Fedora as well for this.

@MylesJohnson
Copy link
Author

MylesJohnson commented Oct 7, 2017

It appears someone already did. Link to Fedora bugzilla report for posterity

@kalev
Copy link
Contributor

kalev commented Oct 7, 2017

Looks like gtkd 3.6.5->3.6.6 update somehow broke that.

@gnunn1
Copy link
Owner

gnunn1 commented Oct 7, 2017

@kalev Can you elaborate, are you compiling tilix manually against 3.6.5 and it works or are you saying that tilix is dynamically linked against GtkD and downgrading the Fedora GtkD package fixes the problem?

@SriRamanujam
Copy link

Downgrading GtkD from 3.6.6 to 3.6.5 immediately resolved the issue for me, Fedora 27.

@gnunn1
Copy link
Owner

gnunn1 commented Oct 7, 2017

If you run ldd on tilix, does it show a dependency on GtkD? If so that's probably the problem, they likely either need to recompile tilix against the newer version of GtkD or statically link it.

@SriRamanujam
Copy link

❯ ldd $(which tilix)
	linux-vdso.so.1 (0x00007ffe14fd2000)
	libgtkd-3.so.0 => /lib64/libgtkd-3.so.0 (0x00007f0c0db14000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f0c0d910000)
	libvted-3.so.0 => /lib64/libvted-3.so.0 (0x00007f0c0d6b4000)
	libX11.so.6 => /lib64/libX11.so.6 (0x00007f0c0d376000)
	libphobos2-ldc.so.74 => /lib64/libphobos2-ldc.so.74 (0x00007f0c0ccac000)
	libdruntime-ldc.so.74 => /lib64/libdruntime-ldc.so.74 (0x00007f0c0c99c000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f0c0c794000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0c0c575000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f0c0c220000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f0c0be3b000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0c0ee40000)
	libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f0c0bc13000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f0c0b9fc000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00007f0c0b7f8000)

Seems like it.

@SriRamanujam
Copy link

I can confirm that rebuilding Tilix against gtkd 3.6.6 solves the problem.

@gnunn1
Copy link
Owner

gnunn1 commented Oct 7, 2017

I'm closing this since it appears to be an issue with Fedora's packaging.

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

4 participants