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

redshift-gtk segfault when using systemd enabled #265

Open
dhensen opened this issue Oct 15, 2015 · 20 comments
Open

redshift-gtk segfault when using systemd enabled #265

dhensen opened this issue Oct 15, 2015 · 20 comments

Comments

@dhensen
Copy link

dhensen commented Oct 15, 2015

Hello,

I'm running redshift on arch linux and I want to use it by doing:
systemctl --user enable redshift-gtk
When I reboot and login (GDM+Gnome) redshift is not started. I look in logs:

dmesg | grep redshift
[   34.916805] redshift-gtk[617]: segfault at 0 ip 00007fec6f55c849 sp 00007ffd85aa24d0 error 4 in libgtk-3.so.0.1800.2[7fec6f2a2000+70e000]
[   35.400597] redshift-gtk[630]: segfault at 0 ip 00007f4f87166849 sp 00007ffda9a26440 error 4 in libgtk-3.so.0.1800.2[7f4f86eac000+70e000]
[   35.863028] redshift-gtk[635]: segfault at 0 ip 00007fd38b1ef849 sp 00007ffc13e11be0 error 4 in libgtk-3.so.0.1800.2[7fd38af35000+70e000]
[   36.322000] redshift-gtk[643]: segfault at 0 ip 00007f1b4ffb4849 sp 00007ffc887ac8f0 error 4 in libgtk-3.so.0.1800.2[7f1b4fcfa000+70e000]
[   37.033438] redshift-gtk[653]: segfault at 0 ip 00007f2054ddc849 sp 00007ffca7327f40 error 4 in libgtk-3.so.0.1800.2[7f2054b22000+70e000]

(I believe this happens 5 time because of 4 retries that systemd does, but correct me if I'm wrong)

There seems to be a segfault in libgtk, but when I execute systemctl --user start redshift-gtk everything runs ok. I am also running arch' latest version of systemd that has the XAUTHORITY and DISPLAY set through a script. (https://wiki.archlinux.org/index.php/Systemd/User#DISPLAY_and_XAUTHORITY)

Let me know how I can help resolve this.

@jonls
Copy link
Owner

jonls commented Oct 21, 2015

It would definitely be great to have a backtrace from gdb. I'm not sure how to go about obtaining such a backtrace when the crash only happens as it is started from systemd. Perhaps somebody here knows a good way to debug this? Also, this issue is probably not specific to Redshift. Maybe ask the people at Arch Linux or GTK+ if they can help solving this?

@dhensen
Copy link
Author

dhensen commented Oct 22, 2015

Thanks for the quick reply, I will take a look at getting gdb to spit out a backtrace when running from systemd. I'll come back on this in some time when I figure this out with help of Arch user forum!

@ael-code
Copy link

Same here:

redshift version: 1.11

> journalctl --user-unit redshift-gtk.service -b 0

-- Logs begin at Thu 2014-01-23 17:29:09 CET, end at Sat 2016-05-28 15:10:15 CEST. --
May 28 14:52:28 user systemd[475]: Started Redshift display colour temperature adjustment (GUI).
May 28 14:52:29 user redshift-gtk[486]: Unable to init server: Could not connect: Connection refused
May 28 14:52:29 user redshift-gtk[486]: Unable to init server: Could not connect: Connection refused
May 28 14:52:29 user redshift-gtk[486]: (redshift-gtk:486): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
May 28 14:52:29 user systemd[475]: redshift-gtk.service: Main process exited, code=dumped, status=11/SEGV
May 28 14:52:29 user systemd[475]: redshift-gtk.service: Unit entered failed state.
May 28 14:52:29 user systemd[475]: redshift-gtk.service: Failed with result 'core-dump'.
May 28 14:52:29 user systemd-coredump[514]: Process 486 (redshift-gtk) of user 1000 dumped core.

                                             Stack trace of thread 486:
                                             #0  0x00007fe8b9a2b619 n/a (libgtk-3.so.0)
                                             #1  0x00007fe8b98d32c8 n/a (libgtk-3.so.0)
                                             #2  0x00007fe8b98e7d64 n/a (libgtk-3.so.0)
                                             #3  0x00007fe8b98d460c n/a (libgtk-3.so.0)
                                             #4  0x00007fe8b98e7c4c n/a (libgtk-3.so.0)
                                             #5  0x00007fe8b98e7ce4 n/a (libgtk-3.so.0)
                                             #6  0x00007fe8b98d4f72 n/a (libgtk-3.so.0)
                                             #7  0x00007fe8c2c4435f g_type_create_instance (libgobject-2.0.so.0)
                                             #8  0x00007fe8c2c2622b n/a (libgobject-2.0.so.0)
                                             #9  0x00007fe8c2c27c3d g_object_newv (libgobject-2.0.so.0)
                                             #10 0x00007fe8c2c283f4 g_object_new (libgobject-2.0.so.0)
                                             #11 0x00007fe8b98f006a n/a (libgtk-3.so.0)
                                             #12 0x00007fe8b9abf197 n/a (libgtk-3.so.0)
                                             #13 0x00007fe8c2c4435f g_type_create_instance (libgobject-2.0.so.0)
                                             #14 0x00007fe8c2c2622b n/a (libgobject-2.0.so.0)
                                             #15 0x00007fe8c2c27c3d g_object_newv (libgobject-2.0.so.0)
                                             #16 0x00007fe8c30aa33c n/a (_gi.cpython-35m-x86_64-linux-gnu.so)
                                             #17 0x00007fe8c30b1a61 n/a (_gi.cpython-35m-x86_64-linux-gnu.so)
                                             #18 0x00007fe8c49a7de6 n/a (libpython3.5m.so.1.0)
                                             #19 0x00007fe8c494d0da PyObject_Call (libpython3.5m.so.1.0)
                                             #20 0x00007fe8c4a064bc PyEval_EvalFrameEx (libpython3.5m.so.1.0)
                                             #21 0x00007fe8c4a0d9e2 n/a (libpython3.5m.so.1.0)
                                             #22 0x00007fe8c4a0dac3 PyEval_EvalCodeEx (libpython3.5m.so.1.0)
                                             #23 0x00007fe8c4977b98 n/a (libpython3.5m.so.1.0)
                                             #24 0x00007fe8c494d0da PyObject_Call (libpython3.5m.so.1.0)
                                             #25 0x00007fe8c4963d64 n/a (libpython3.5m.so.1.0)
                                             #26 0x00007fe8c494d0da PyObject_Call (libpython3.5m.so.1.0)
                                             #27 0x00007fe8c49a9a10 n/a (libpython3.5m.so.1.0)
                                             #28 0x00007fe8c49a7de6 n/a (libpython3.5m.so.1.0)
                                             #29 0x00007fe8c494d0da PyObject_Call (libpython3.5m.so.1.0)
                                             #30 0x00007fe8c4a064bc PyEval_EvalFrameEx (libpython3.5m.so.1.0)
                                             #31 0x00007fe8c4a0d9e2 n/a (libpython3.5m.so.1.0)
                                             #32 0x00007fe8c4a0a6e0 PyEval_EvalFrameEx (libpython3.5m.so.1.0)
                                             #33 0x00007fe8c4a0d9e2 n/a (libpython3.5m.so.1.0)
                                             #34 0x00007fe8c4a0dac3 PyEval_EvalCodeEx (libpython3.5m.so.1.0)
                                             #35 0x00007fe8c4a0daeb PyEval_EvalCode (libpython3.5m.so.1.0)
                                             #36 0x00007fe8c4a2cc64 n/a (libpython3.5m.so.1.0)
                                             #37 0x00007fe8c4a2f175 PyRun_FileExFlags (libpython3.5m.so.1.0)
                                             #38 0x00007fe8c4a2f2e6 PyRun_SimpleFileExFlags (libpython3.5m.so.1.0)
                                             #39 0x00007fe8c4a460f4 Py_Main (libpython3.5m.so.1.0)
                                             #40 0x0000000000400ae7 main (python3.5)
                                             #41 0x00007fe8c4347741 __libc_start_main (libc.so.6)
                                             #42 0x0000000000400b89 _start (python3.5)

                                             Stack trace of thread 511:
                                             #0  0x00007fe8c440568d poll (libc.so.6)
                                             #1  0x00007fe8c294bfd6 n/a (libglib-2.0.so.0)
                                             #2  0x00007fe8c294c0ec g_main_context_iteration (libglib-2.0.so.0)
                                             #3  0x00007fe8c294c131 n/a (libglib-2.0.so.0)
                                             #4  0x00007fe8c29722b5 n/a (libglib-2.0.so.0)
                                             #5  0x00007fe8c46cf474 start_thread (libpthread.so.0)
                                             #6  0x00007fe8c440e69d __clone (libc.so.6)
May 28 14:52:29 user systemd[475]: redshift-gtk.service: Service hold-off time over, scheduling restart.
May 28 14:52:29 user systemd[475]: Stopped Redshift display colour temperature adjustment (GUI).

@AlexWayfer
Copy link

~ $ uname -a
Linux Alex-PC 4.7.2-1-ARCH #1 SMP PREEMPT Sat Aug 20 23:02:56 CEST 2016 x86_64 GNU/Linux
~ $ redshift -V
redshift 1.11
~ $ systemctl --user status redshift-gtk
● redshift-gtk.service - Redshift display colour temperature adjustment (GUI)
   Loaded: loaded (/usr/lib/systemd/user/redshift-gtk.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since Wed 2016-09-07 20:38:42 MSK; 2h 8min ago
     Docs: http://jonls.dk/redshift/
  Process: 750 ExecStart=/usr/bin/redshift-gtk (code=dumped, signal=SEGV)
 Main PID: 750 (code=dumped, signal=SEGV)

Sep 07 20:38:42 Alex-PC systemd[679]: redshift-gtk.service: Unit entered failed state.
Sep 07 20:38:42 Alex-PC systemd[679]: redshift-gtk.service: Failed with result 'core-dump'.
Sep 07 20:38:42 Alex-PC systemd-coredump[781]: Process 750 (redshift-gtk) of user 1000 dumped core.

                                                       Stack trace of thread 750:
                                                       #0  0x00007f1ee836d8f9 n/a (libgtk-3.so.0)
                                                       #1  0x00007f1ee82152a8 n/a (libgtk-3.so.0)
                                                       #2  0x00007f1ee8229cf4 n/a (libgtk-3.so.0)
                                                       #3  0x00007f1ee82165ec n/a (libgtk-3.so.0)
                                                       #4  0x00007f1ee8229bdc n/a (libgtk-3.so.0)
                                                       #5  0x00007f1ee8229c74 n/a (libgtk-3.so.0)
                                                       #6  0x00007f1ee8216f52 n/a (libgtk-3.so.0)
                                                       #7  0x00007f1ef013933f g_type_create_instance (libgobject-2.0.so.0)
                                                       #8  0x00007f1ef011b20b n/a (libgobject-2.0.so.0)
                                                       #9  0x00007f1ef011cc1d g_object_newv (libgobject-2.0.so.0)
                                                       #10 0x00007f1ef011d3d4 g_object_new (libgobject-2.0.so.0)
                                                       #11 0x00007f1ee8231ffa n/a (libgtk-3.so.0)
                                                       #12 0x00007f1ee84014e7 n/a (libgtk-3.so.0)
                                                       #13 0x00007f1ef013933f g_type_create_instance (libgobject-2.0.so.0)
                                                       #14 0x00007f1ef011b20b n/a (libgobject-2.0.so.0)
                                                       #15 0x00007f1ef011cc1d g_object_newv (libgobject-2.0.so.0)
                                                       #16 0x00007f1ef059f34c n/a (_gi.cpython-35m-x86_64-linux-gnu.so)
                                                       #17 0x00007f1ef05a6a71 n/a (_gi.cpython-35m-x86_64-linux-gnu.so)
                                                       #18 0x00007f1ef1e9a135 n/a (libpython3.5m.so.1.0)
                                                       #19 0x00007f1ef1e3f2d7 PyObject_Call (libpython3.5m.so.1.0)
                                                       #20 0x00007f1ef1ef9aeb PyEval_EvalFrameEx (libpython3.5m.so.1.0)
                                                       #21 0x00007f1ef1eff2c3 n/a (libpython3.5m.so.1.0)
                                                       #22 0x00007f1ef1eff3a3 PyEval_EvalCodeEx (libpython3.5m.so.1.0)
                                                       #23 0x00007f1ef1e6a008 n/a (libpython3.5m.so.1.0)
                                                       #24 0x00007f1ef1e3f2d7 PyObject_Call (libpython3.5m.so.1.0)
                                                       #25 0x00007f1ef1e55d44 n/a (libpython3.5m.so.1.0)
                                                       #26 0x00007f1ef1e3f2d7 PyObject_Call (libpython3.5m.so.1.0)
                                                       #27 0x00007f1ef1e9bdd0 n/a (libpython3.5m.so.1.0)
                                                       #28 0x00007f1ef1e9a135 n/a (libpython3.5m.so.1.0)
                                                       #29 0x00007f1ef1e3f2d7 PyObject_Call (libpython3.5m.so.1.0)
                                                       #30 0x00007f1ef1ef9aeb PyEval_EvalFrameEx (libpython3.5m.so.1.0)
                                                       #31 0x00007f1ef1eff2c3 n/a (libpython3.5m.so.1.0)
                                                       #32 0x00007f1ef1efbb0e PyEval_EvalFrameEx (libpython3.5m.so.1.0)
                                                       #33 0x00007f1ef1eff2c3 n/a (libpython3.5m.so.1.0)
                                                       #34 0x00007f1ef1eff3a3 PyEval_EvalCodeEx (libpython3.5m.so.1.0)
                                                       #35 0x00007f1ef1eff3cb PyEval_EvalCode (libpython3.5m.so.1.0)
                                                       #36 0x00007f1ef1f1e364 n/a (libpython3.5m.so.1.0)
                                                       #37 0x00007f1ef1f208e5 PyRun_FileExFlags (libpython3.5m.so.1.0)
                                                       #38 0x00007f1ef1f20a55 PyRun_SimpleFileExFlags (libpython3.5m.so.1.0)
                                                       #39 0x00007f1ef1f3769c Py_Main (libpython3.5m.so.1.0)
                                                       #40 0x0000000000400af0 main (python3.5)
                                                       #41 0x00007f1ef183c291 __libc_start_main (libc.so.6)
                                                       #42 0x0000000000400b99 _start (python3.5)

                                                       Stack trace of thread 779:
                                                       #0  0x00007f1ef18fb48d poll (libc.so.6)
                                                       #1  0x00007f1eefe41066 n/a (libglib-2.0.so.0)
                                                       #2  0x00007f1eefe4117c g_main_context_iteration (libglib-2.0.so.0)
                                                       #3  0x00007f1eefe411c1 n/a (libglib-2.0.so.0)
                                                       #4  0x00007f1eefe67345 n/a (libglib-2.0.so.0)
                                                       #5  0x00007f1ef1bc1454 start_thread (libpthread.so.0)
                                                       #6  0x00007f1ef19047df __clone (libc.so.6)
Sep 07 20:38:42 Alex-PC systemd[679]: redshift-gtk.service: Service hold-off time over, scheduling restart.
Sep 07 20:38:42 Alex-PC systemd[679]: Stopped Redshift display colour temperature adjustment (GUI).
Sep 07 20:38:42 Alex-PC systemd[679]: redshift-gtk.service: Start request repeated too quickly.
Sep 07 20:38:42 Alex-PC systemd[679]: Failed to start Redshift display colour temperature adjustment (GUI).
Sep 07 20:38:42 Alex-PC systemd[679]: redshift-gtk.service: Unit entered failed state.
Sep 07 20:38:42 Alex-PC systemd[679]: redshift-gtk.service: Failed with result 'start-limit-hit'.

@ke-kx
Copy link

ke-kx commented Jul 13, 2017

I still see the same behavior on my Arch Linux. I mean it's barely noticable because systemd restarts the service quite quickly, but something is wrong for sure ;) I have attached a stacktrace.

    Jul 13 23:12:08 tesuji redshift-gtk[1158]: Unable to init server: Could not connect: Connection refused
    Jul 13 23:12:08 tesuji redshift-gtk[1158]: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
    Jul 13 23:12:08 tesuji systemd[1116]: redshift-gtk.service: Main process exited, code=dumped, status=11/SEGV
    Jul 13 23:12:08 tesuji systemd[1116]: redshift-gtk.service: Unit entered failed state.
    Jul 13 23:12:08 tesuji systemd[1116]: redshift-gtk.service: Failed with result 'core-dump'.
    Jul 13 23:12:09 tesuji systemd-coredump[1175]: Process 1158 (redshift-gtk) of user 1000 dumped core.

                                           Stack trace of thread 1158:
                                           #0  0x00007fc6c72064a9 n/a (libgtk-3.so.0)
                                           #1  0x00007fc6c70a0d08 n/a (libgtk-3.so.0)
                                           #2  0x00007fc6c70b67e3 n/a (libgtk-3.so.0)
                                           #3  0x00007fc6c70a206c n/a (libgtk-3.so.0)
                                           #4  0x00007fc6c70b671c n/a (libgtk-3.so.0)
                                           #5  0x00007fc6c70b6775 n/a (libgtk-3.so.0)
                                           #6  0x00007fc6c70a29e2 n/a (libgtk-3.so.0)
                                           #7  0x00007fc6cf7c4f58 g_type_create_instance (libgobject-2.0.so.0)
                                           #8  0x00007fc6cf7a6028 n/a (libgobject-2.0.so.0)
                                           #9  0x00007fc6cf7a7a55 g_object_newv (libgobject-2.0.so.0)
                                           #10 0x00007fc6cf7a8214 g_object_new (libgobject-2.0.so.0)
                                           #11 0x00007fc6c70beafa n/a (libgtk-3.so.0)
                                           #12 0x00007fc6c729a708 n/a (libgtk-3.so.0)
                                           #13 0x00007fc6cf7c4f58 g_type_create_instance (libgobject-2.0.so.0)
                                           #14 0x00007fc6cf7a6028 n/a (libgobject-2.0.so.0)
                                           #15 0x00007fc6cf7a7a55 g_object_newv (libgobject-2.0.so.0)
                                           #16 0x00007fc6cfc6d91c n/a (_gi.cpython-36m-x86_64-linux-gnu.so)
                                           #17 0x00007fc6cfc748c1 n/a (_gi.cpython-36m-x86_64-linux-gnu.so)
                                           #18 0x00007fc6d124e7de n/a (libpython3.6m.so.1.0)
                                           #19 0x00007fc6d125614c _PyObject_FastCallDict (libpython3.6m.so.1.0)
                                           #20 0x00007fc6d11eeb56 n/a (libpython3.6m.so.1.0)
                                           #21 0x00007fc6d11a33c7 _PyEval_EvalFrameDefault (libpython3.6m.so.1.0)
                                           #22 0x00007fc6d11edf6a _PyFunction_FastCallDict (libpython3.6m.so.1.0)
                                           #23 0x00007fc6d125634e _PyObject_FastCallDict (libpython3.6m.so.1.0)
                                           #24 0x00007fc6d12570b2 _PyObject_Call_Prepend (libpython3.6m.so.1.0)
                                           #25 0x00007fc6d125717b PyObject_Call (libpython3.6m.so.1.0)
                                           #26 0x00007fc6d11f5839 n/a (libpython3.6m.so.1.0)
                                           #27 0x00007fc6d124e7de n/a (libpython3.6m.so.1.0)
                                           #28 0x00007fc6d125614c _PyObject_FastCallDict (libpython3.6m.so.1.0)
                                           #29 0x00007fc6d11eeb56 n/a (libpython3.6m.so.1.0)
                                           #30 0x00007fc6d11a33c7 _PyEval_EvalFrameDefault (libpython3.6m.so.1.0)
                                           #31 0x00007fc6d114524b n/a (libpython3.6m.so.1.0)
                                           #32 0x00007fc6d11ee75a n/a (libpython3.6m.so.1.0)
                                           #33 0x00007fc6d11eeac3 n/a (libpython3.6m.so.1.0)
                                           #34 0x00007fc6d11a33c7 _PyEval_EvalFrameDefault (libpython3.6m.so.1.0)
                                           #35 0x00007fc6d11eef17 PyEval_EvalCodeEx (libpython3.6m.so.1.0)
                                           #36 0x00007fc6d11a30ab PyEval_EvalCode (libpython3.6m.so.1.0)
                                           #37 0x00007fc6d12880d2 n/a (libpython3.6m.so.1.0)
                                           #38 0x00007fc6d128a6fd PyRun_FileExFlags (libpython3.6m.so.1.0)
                                           #39 0x00007fc6d128a8e7 PyRun_SimpleFileExFlags (libpython3.6m.so.1.0)
                                           #40 0x00007fc6d127e063 Py_Main (libpython3.6m.so.1.0)
                                           #41 0x0000000000400a5d main (python3.6)
                                           #42 0x00007fc6d161a43a __libc_start_main (libc.so.6)
                                           #43 0x0000000000400b9a _start (python3.6)
                                           
                                           Stack trace of thread 1172:
                                           #0  0x00007fc6d16e2349 syscall (libc.so.6)
                                           #1  0x00007fc6cf50dc7a g_cond_wait_until (libglib-2.0.so.0)
                                           #2  0x00007fc6cf49d121 n/a (libglib-2.0.so.0)
                                           #3  0x00007fc6cf4f0464 n/a (libglib-2.0.so.0)
                                           #4  0x00007fc6cf4efac5 n/a (libglib-2.0.so.0)
                                           #5  0x00007fc6d19a6297 start_thread (libpthread.so.0)
                                           #6  0x00007fc6d16e71ef __clone (libc.so.6)
                                           
                                           Stack trace of thread 1171:
                                           #0  0x00007fc6d16dd24d poll (libc.so.6)
                                           #1  0x00007fc6cf4c8bf9 n/a (libglib-2.0.so.0)
                                           #2  0x00007fc6cf4c8d0c g_main_context_iteration (libglib-2.0.so.0)
                                           #3  0x00007fc6cf4c8d51 n/a (libglib-2.0.so.0)
                                           #4  0x00007fc6cf4efac5 n/a (libglib-2.0.so.0)
                                           #5  0x00007fc6d19a6297 start_thread (libpthread.so.0)
                                           #6  0x00007fc6d16e71ef __clone (libc.so.6)
                                           
                                           Stack trace of thread 1173:
                                           #0  0x00007fc6d16dd24d poll (libc.so.6)
                                           #1  0x00007fc6cf4c8bf9 n/a (libglib-2.0.so.0)
                                           #2  0x00007fc6cf4c8f92 g_main_loop_run (libglib-2.0.so.0)
                                           #3  0x00007fc6ceda7426 n/a (libgio-2.0.so.0)
                                           #4  0x00007fc6cf4efac5 n/a (libglib-2.0.so.0)
                                           #5  0x00007fc6d19a6297 start_thread (libpthread.so.0)
                                           #6  0x00007fc6d16e71ef __clone (libc.so.6)

`

@andreyv
Copy link

andreyv commented Oct 20, 2017

The crash seems to happen because the DISPLAY environment variable is initially undefined in the user manager environment when redshift-gtk.service is started after login.

systemd uses a special xinitrc.dscript to import DISPLAY later on: https://github.com/systemd/systemd/blob/master/xorg/50-systemd-user.sh, but redshift-gtk.service doesn't wait for that.

There is a special systemd target named graphical-session.target (documentation). Looks like redshift-gtk.service should have a relation to this target. According to documentation, this code in redshift-gtk.service:

[Install]
WantedBy=default.target

should be changed to

[Install]
WantedBy=graphical-session.target

However, there needs to be support for graphical-session.target in the desktop environment. If the DE doesn't know about this target, the target and redshift-gtk.service won't be activated at all. For example, on my Xfce desktop:

> systemctl --user status graphical-session.target
● graphical-session.target - Current graphical user session
   Loaded: loaded (/usr/lib/systemd/user/graphical-session.target; static; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:systemd.special(7)

In such cases it may be possible to create a custom target unit that BindsTo=graphical-session.target and then start this unit manually in the Session and Startup dialog.

@mwstobo
Copy link
Contributor

mwstobo commented Oct 31, 2017

Another possible solution might be to keep redshift in the disabled state when DISPLAY is not set. Does that sound reasonable? That won't require any special support or a reliance on systemd functionality.

@andreyv
Copy link

andreyv commented Dec 3, 2017

I updated my comment above to include a clarified description of the problem and intended solution.

Current workarounds are to either use redshift.service instead or to start redshift-gtk manually using the startup facilities of the desktop environment.

@mwstobo If I understood what you meant, the environment is inherited from the user manager when the unit is started, and doesn't change later.

@fictionic
Copy link

fictionic commented Dec 3, 2019

I'm still running into this. Are there plans to offer a better fix?

*Edit: Actually I think I might be running into something else. I get this same core dump even when starting redshift-gtk manually via systemctl.

@AlexWayfer
Copy link

Are there plans to offer a better fix?

Night mode in GNOME 3 with GDM works pretty well. With LightDM or older versions of GNOME there were problems (I'm not sure what was the root).

@fictionic
Copy link

That's not super helpful, as I don't want to use GNOME. I want to use redshift.

@fictionic
Copy link

@andreyv Do you think this is still caused by the DISPLAY issue? I can run redshift-gtk with no issue by itself, it's only when it's invoked by systemd

@andreyv
Copy link

andreyv commented Dec 4, 2019

Exactly — see #265 (comment) for explanation.

@fictionic
Copy link

That only explains why it doesn't work when auto-started by systemd. It doesn't explain why it doesn't work when manually running systemctl --user start redshift-gtk. Do you know what might cause that?

@andreyv
Copy link

andreyv commented Dec 4, 2019

That works for me. Probably in your case DISPLAY isn't imported at all — check if the 50-systemd-user.sh script is really run. Also check systemctl --user show-environment.

@fictionic
Copy link

Aha! Looks like that script is not being run somehow. Do you what might cause this? I'm starting X with just a regular startx.

@andreyv
Copy link

andreyv commented Dec 5, 2019

Your xinitrc should include xinitrc.d/*.sh files. Your desktop environment probably has its own version of xinitrc. See xinit(1).

@fictionic
Copy link

Thank you!!!

@Powersource
Copy link

just had a crash like this

@Powersource
Copy link

mar 04 17:09:34 me-lap systemd-coredump[1022]: Process 993 (redshift-gtk) of user 1000 dumped core.
                                               
                                               Stack trace of thread 993:
                                               #0  0x00007617e0518194 n/a (libgtk-3.so.0 + 0x118194)
                                               #1  0x00007617e05406e6 n/a (libgtk-3.so.0 + 0x1406e6)
                                               #2  0x00007617e0523665 n/a (libgtk-3.so.0 + 0x123665)
                                               #3  0x00007617e206d0e3 g_type_create_instance (libgobject-2.0.so.0 + 0x3f0e3)
                                               #4  0x00007617e2052d91 n/a (libgobject-2.0.so.0 + 0x24d91)
                                               #5  0x00007617e2054387 g_object_new_with_properties (libgobject-2.0.so.0 + 0x26387)
                                               #6  0x00007617e20552ca g_object_new (libgobject-2.0.so.0 + 0x272ca)
                                               #7  0x00007617e07435f9 n/a (libgtk-3.so.0 + 0x3435f9)
                                               #8  0x00007617e206d0e3 g_type_create_instance (libgobject-2.0.so.0 + 0x3f0e3)
                                               #9  0x00007617e2052d91 n/a (libgobject-2.0.so.0 + 0x24d91)
                                               #10 0x00007617e2054387 g_object_new_with_properties (libgobject-2.0.so.0 + 0x26387)
                                               #11 0x00007617e29f17d1 n/a (_gi.cpython-311-x86_64-linux-gnu.so + 0x137d1)
                                               #12 0x00007617e2fdc093 _PyObject_MakeTpCall (libpython3.11.so.1.0 + 0x1dc093)
                                               #13 0x00007617e2fe76e1 _PyEval_EvalFrameDefault (libpython3.11.so.1.0 + 0x1e76e1)
                                               #14 0x00007617e300e8c0 _PyFunction_Vectorcall (libpython3.11.so.1.0 + 0x20e8c0)
                                               #15 0x00007617e301613e n/a (libpython3.11.so.1.0 + 0x21613e)
                                               #16 0x00007617e2fdc093 _PyObject_MakeTpCall (libpython3.11.so.1.0 + 0x1dc093)
                                               #17 0x00007617e2fe76e1 _PyEval_EvalFrameDefault (libpython3.11.so.1.0 + 0x1e76e1)
                                               #18 0x00007617e30a0954 n/a (libpython3.11.so.1.0 + 0x2a0954)
                                               #19 0x00007617e30a033c PyEval_EvalCode (libpython3.11.so.1.0 + 0x2a033c)
                                               #20 0x00007617e30bde43 n/a (libpython3.11.so.1.0 + 0x2bde43)
                                               #21 0x00007617e30b9f7a n/a (libpython3.11.so.1.0 + 0x2b9f7a)
                                               #22 0x00007617e30d04b3 n/a (libpython3.11.so.1.0 + 0x2d04b3)
                                               #23 0x00007617e30cfe25 _PyRun_SimpleFileObject (libpython3.11.so.1.0 + 0x2cfe25)
                                               #24 0x00007617e30ce728 _PyRun_AnyFileObject (libpython3.11.so.1.0 + 0x2ce728)
                                               #25 0x00007617e30c91d8 Py_RunMain (libpython3.11.so.1.0 + 0x2c91d8)
                                               #26 0x00007617e30940db Py_BytesMain (libpython3.11.so.1.0 + 0x2940db)
                                               #27 0x00007617e2c43cd0 n/a (libc.so.6 + 0x25cd0)
                                               #28 0x00007617e2c43d8a __libc_start_main (libc.so.6 + 0x25d8a)
                                               #29 0x0000600ad13df045 _start (python3.11 + 0x1045)
                                               
                                               Stack trace of thread 1017:
                                               #0  0x00007617e2d2488d syscall (libc.so.6 + 0x10688d)
                                               #1  0x00007617e2167337 g_cond_wait (libglib-2.0.so.0 + 0xb3337)
                                               #2  0x00007617e20d91b4 n/a (libglib-2.0.so.0 + 0x251b4)
                                               #3  0x00007617e2141ace n/a (libglib-2.0.so.0 + 0x8dace)
                                               #4  0x00007617e213fa45 n/a (libglib-2.0.so.0 + 0x8ba45)
                                               #5  0x00007617e2ca955a n/a (libc.so.6 + 0x8b55a)
                                               #6  0x00007617e2d26a3c n/a (libc.so.6 + 0x108a3c)
                                               
                                               Stack trace of thread 1019:
                                               #0  0x00007617e2d2488d syscall (libc.so.6 + 0x10688d)
                                               #1  0x00007617e2167d13 g_cond_wait_until (libglib-2.0.so.0 + 0xb3d13)
                                               #2  0x00007617e20d9185 n/a (libglib-2.0.so.0 + 0x25185)
                                               #3  0x00007617e214257b n/a (libglib-2.0.so.0 + 0x8e57b)
                                               #4  0x00007617e213fa45 n/a (libglib-2.0.so.0 + 0x8ba45)
                                               #5  0x00007617e2ca955a n/a (libc.so.6 + 0x8b55a)
                                               #6  0x00007617e2d26a3c n/a (libc.so.6 + 0x108a3c)
                                               
                                               Stack trace of thread 1016:
                                               #0  0x00007617e2d190bf __poll (libc.so.6 + 0xfb0bf)
                                               #1  0x00007617e216c2f6 n/a (libglib-2.0.so.0 + 0xb82f6)
                                               #2  0x00007617e210c162 g_main_context_iteration (libglib-2.0.so.0 + 0x58162)
                                               #3  0x00007617e210c1b2 n/a (libglib-2.0.so.0 + 0x581b2)
                                               #4  0x00007617e213fa45 n/a (libglib-2.0.so.0 + 0x8ba45)
                                               #5  0x00007617e2ca955a n/a (libc.so.6 + 0x8b55a)
                                               #6  0x00007617e2d26a3c n/a (libc.so.6 + 0x108a3c)
                                               
                                               Stack trace of thread 1018:
                                               #0  0x00007617e2d2488d syscall (libc.so.6 + 0x10688d)
                                               #1  0x00007617e2167d13 g_cond_wait_until (libglib-2.0.so.0 + 0xb3d13)
                                               #2  0x00007617e20d9185 n/a (libglib-2.0.so.0 + 0x25185)
                                               #3  0x00007617e214257b n/a (libglib-2.0.so.0 + 0x8e57b)
                                               #4  0x00007617e213fa45 n/a (libglib-2.0.so.0 + 0x8ba45)
                                               #5  0x00007617e2ca955a n/a (libc.so.6 + 0x8b55a)
                                               #6  0x00007617e2d26a3c n/a (libc.so.6 + 0x108a3c)
                                               
                                               Stack trace of thread 1020:
                                               #0  0x00007617e2d190bf __poll (libc.so.6 + 0xfb0bf)
                                               #1  0x00007617e216c2f6 n/a (libglib-2.0.so.0 + 0xb82f6)
                                               #2  0x00007617e210eb97 g_main_loop_run (libglib-2.0.so.0 + 0x5ab97)
                                               #3  0x00007617e1ecc19c n/a (libgio-2.0.so.0 + 0x11219c)
                                               #4  0x00007617e213fa45 n/a (libglib-2.0.so.0 + 0x8ba45)
                                               #5  0x00007617e2ca955a n/a (libc.so.6 + 0x8b55a)
                                               #6  0x00007617e2d26a3c n/a (libc.so.6 + 0x108a3c)
                                               ELF object binary architecture: AMD x86-64

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

9 participants