You are not logged in.

#1 2018-01-16 16:36:55

hxss
Member
Registered: 2017-10-17
Posts: 34

systemd upgrade break my dbus rule

I'm use this script in XFCE for switch displays(internal laptop eDP1 and HDMI1) and dpi on HDMI plug/unplug.

My script stopped working after last systemd upgrade:

[2018-01-16 14:18] [ALPM] upgraded libsystemd (236.0-3 -> 236.81-1)
[2018-01-16 14:18] [ALPM] upgraded systemd (236.0-3 -> 236.81-1)
[2018-01-16 14:18] [ALPM] upgraded systemd-sysvcompat (236.0-3 -> 236.81-1)

When dbus execute my script, I see this messages in journald:
(error in hdmi.sh, line 55:
machinectl shell --uid=$user .host /usr/bin/systemctl --user --no-block start hdmi-config.service &)

2018-01-16T21:32:36+0500 lenovo kernel: traps: xfdesktop[1074] general protection ip:417539 sp:7fffac768a40 error:0 in xfdesktop[400000+52000]
2018-01-16T21:32:36+0500 lenovo systemd[1]: Created slice system-systemd\x2dcoredump.slice.
2018-01-16T21:32:36+0500 lenovo systemd[1]: Started Process Core Dump (PID 1403/UID 0).
2018-01-16T21:32:36+0500 lenovo systemd-coredump[1404]: Process 1074 (xfdesktop) of user 1000 dumped core.
                                                        
                                                        Stack trace of thread 1074:
                                                        #0  0x0000000000417539 n/a (xfdesktop)
                                                        #1  0x00007f5001c81c5d g_closure_invoke (libgobject-2.0.so.0)
                                                        #2  0x00007f5001c95b50 n/a (libgobject-2.0.so.0)
                                                        #3  0x00007f5001c9e806 g_signal_emit_valist (libgobject-2.0.so.0)
                                                        #4  0x00007f5001c9f240 g_signal_emit (libgobject-2.0.so.0)
                                                        #5  0x00007f5002949001 n/a (libgdk_pixbuf-2.0.so.0)
                                                        #6  0x00007f4ff271ad06 n/a (libpixbufloader-jpeg.so)
                                                        #7  0x00007f500294bf4b n/a (libgdk_pixbuf-2.0.so.0)
                                                        #8  0x00007f500294c671 gdk_pixbuf_loader_write (libgdk_pixbuf-2.0.so.0)
                                                        #9  0x000000000041749f n/a (xfdesktop)
                                                        #10 0x00007f50023a2a39 n/a (libgio-2.0.so.0)
                                                        #11 0x00007f50023ce24c n/a (libgio-2.0.so.0)
                                                        #12 0x00007f50023ce289 n/a (libgio-2.0.so.0)
                                                        #13 0x00007f50019a7cd6 g_main_context_dispatch (libglib-2.0.so.0)
                                                        #14 0x00007f50019a80b1 n/a (libglib-2.0.so.0)
                                                        #15 0x00007f50019a83e2 g_main_loop_run (libglib-2.0.so.0)
                                                        #16 0x00007f500346cdf3 gtk_main (libgtk-x11-2.0.so.0)
                                                        #17 0x000000000041eee7 n/a (xfdesktop)
                                                        #18 0x000000000041f500 n/a (xfdesktop)
                                                        #19 0x00007f50019a45c8 n/a (libglib-2.0.so.0)
                                                        #20 0x00007f50019a509e n/a (libglib-2.0.so.0)
                                                        #21 0x00007f50019a7d60 g_main_context_dispatch (libglib-2.0.so.0)
                                                        #22 0x00007f50019a80b1 n/a (libglib-2.0.so.0)
                                                        #23 0x00007f50019a813e g_main_context_iteration (libglib-2.0.so.0)
                                                        #24 0x00007f50023e596e g_application_run (libgio-2.0.so.0)
                                                        #25 0x00000000004151b7 main (xfdesktop)
                                                        #26 0x00007f50013a8f4a __libc_start_main (libc.so.6)
                                                        #27 0x00000000004151fa _start (xfdesktop)
                                                        
                                                        Stack trace of thread 1136:
                                                        #0  0x00007f500147391b __poll (libc.so.6)
                                                        #1  0x00007f50019a8023 n/a (libglib-2.0.so.0)
                                                        #2  0x00007f50019a83e2 g_main_loop_run (libglib-2.0.so.0)
                                                        #3  0x00007f50024146d8 n/a (libgio-2.0.so.0)
                                                        #4  0x00007f50019d029a n/a (libglib-2.0.so.0)
                                                        #5  0x00007f500174608c start_thread (libpthread.so.0)
                                                        #6  0x00007f500147de1f __clone (libc.so.6)
                                                        
                                                        Stack trace of thread 1135:
                                                        #0  0x00007f500147391b __poll (libc.so.6)
                                                        #1  0x00007f50019a8023 n/a (libglib-2.0.so.0)
                                                        #2  0x00007f50019a813e g_main_context_iteration (libglib-2.0.so.0)
                                                        #3  0x00007f50019a8192 n/a (libglib-2.0.so.0)
                                                        #4  0x00007f50019d029a n/a (libglib-2.0.so.0)
                                                        #5  0x00007f500174608c start_thread (libpthread.so.0)
                                                        #6  0x00007f500147de1f __clone (libc.so.6)
                                                        
                                                        Stack trace of thread 1402:
                                                        #0  0x00007f5001478819 syscall (libc.so.6)
                                                        #1  0x00007f50019eedfd g_cond_wait_until (libglib-2.0.so.0)
                                                        #2  0x00007f500197b753 n/a (libglib-2.0.so.0)
                                                        #3  0x00007f50019d0ca6 n/a (libglib-2.0.so.0)
                                                        #4  0x00007f50019d029a n/a (libglib-2.0.so.0)
                                                        #5  0x00007f500174608c start_thread (libpthread.so.0)
                                                        #6  0x00007f500147de1f __clone (libc.so.6)

Is this is systemd bug or my script is now considered unsafe?
How I can change it for restore working?

Last edited by hxss (2018-01-16 16:40:18)

Offline

#2 2018-01-17 16:22:59

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 288

Re: systemd upgrade break my dbus rule

I've been doing stuff like that but to be honest I don't understand your script. Why in this line:

machinectl shell --uid=$user .host /usr/bin/systemctl --user --no-block start hdmi-config.service

it is calling this script via systemd service again? And why you need to use machinectl? I've never encounter this command before smile
Maybe if you provide some comments on how it works, someone will help you.

Last edited by mkkot (2018-01-17 16:23:36)

Offline

#3 2018-01-31 15:17:58

hxss
Member
Registered: 2017-10-17
Posts: 34

Re: systemd upgrade break my dbus rule

I was delete '&' at the end this line and all works good now.

Offline

Board footer

Powered by FluxBB