Bug 90467 - systemd-shim executes 'poweroff' after resuming from suspend-to-memory(S3)
Summary: systemd-shim executes 'poweroff' after resuming from suspend-to-memory(S3)
Status: RESOLVED NOTOURBUG
Alias: None
Product: systemd
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: high major
Assignee: systemd-bugs
QA Contact: systemd-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-15 10:07 UTC by yu.c.chen@intel.com
Modified: 2015-05-15 10:11 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description yu.c.chen@intel.com 2015-05-15 10:07:55 UTC
Hi,all
I'm using latest kernel 4.1-rc3 on ubuntu 14.04.2 LTS X86_64,
and I found that, after resuming from suspend-to-memory,
the systemd-shim deamon will execute a 'poweroff', which 
shuts the system down. 

here's my step to reproduce the bug:

1.echo mem > /sys/power/state //ok
2.wait for 30 seconds        //ok
3.push power button          //ok
4.system resumes automatically //ok
5.after a few seconds, system shutdown //oh no...

I replace /sbin/shutdown with a script that prints the current process backtrace by pstree, then the system will not halt after resumming from suspend-to-memory. Here's my script:

# cat /sbin/shutdown
#!/bin/sh
pstree -a > /home/chenyu/shutdown_trace.log

and here's the backtrace when system is executing my 'shutdown', after resumming, we can see that, systemd-shim invokes 'sh -c /sbin/poweroff':


init
  |-ModemManager
  |   `-2*[{ModemManager}]
  |-NetworkManager
  |   `-3*[{NetworkManager}]
  |-acpid -c /etc/acpi/events -s /var/run/acpid.socket
  |   `-sh -c /etc/acpi/powerbtn.sh
  |-anacron -s
  |-avahi-daemon
  |   `-avahi-daemon
  |-bluetoothd
  |-cron
  |-cups-browsed
  |-cupsd -f
  |   `-dbus dbus:// 
  |-dbus-daemon --system --fork
  |-getty -8 38400 tty4
  |-getty -8 38400 tty5
  |-getty -8 38400 tty2
  |-getty -8 38400 tty3
  |-getty -8 38400 tty6
  |-irqbalance
  |-kerneloops
  |-login --       
  |   `-bash
  |       `-sudo -s
  |           `-bash
  |-ondemand /etc/init.d/ondemand background
  |   `-sleep 60
  |-polkitd --no-debug
  |   `-2*[{polkitd}]
  |-rsyslogd
  |   `-3*[{rsyslogd}]
  |-sshd -D
  |-systemd-logind
  |-systemd-shim
  |   |-sh -c /sbin/poweroff
  |   |   `-shutdown /sbin/shutdown -h -P now
  |   |       `-pstree -a
  |   `-2*[{systemd-shim}]
  |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   |-systemd-udevd --daemon
  |   `-systemd-udevd --daemon
  |-upstart-file-br --daemon
  |-upstart-socket- --daemon
  |-upstart-udev-br --daemon
  `-whoopsie
      `-2*[{whoopsie}]

Since I'm not sure why systemd-shim act like this, I would be 
happy to debug with your suggestion, and give feedback to you.


Thanks a lot!

Best Regards,
Yu
Comment 1 Lennart Poettering 2015-05-15 10:11:54 UTC
systemd-shim has nothing to do with systemd upstream. It's a Ubuntu-specific package, please report this issue to Ubuntu downstream. THanks.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.