Bug 1051666

Summary: Shutdown crashes to debug console
Product: [Fedora] Fedora Reporter: Erik Lentz <dev>
Component: dracutAssignee: dracut-maint-list
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 20CC: dracut-maint-list, harald, jonathan
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: dracut-037-10.git20140402.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-04-06 02:37:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
rdsosreport for crash
none
Dracut Debug Log none

Description Erik Lentz 2014-01-10 20:27:23 UTC
Description of problem: 

When I try to shutdown my machine (via gui, "shutdown -P now", or poweroff), it appears to initiate the shutdown but the machine does not poweroff, it crashes to debug shell, and this message appears:

/shutdown: line 110: poweroff: command not found
dracut Warning: poweroff failed!

Upon startup, the file system is apparently clean, so it must dismount cleanly prior to failing to power off.

I had this problem on Fedora 19, as well, but I assumed it was a problem from having upgraded 17->18->19. With a fresh install of 20, this did not happen initially, but it started after a couple rounds of updates - I believe after the kernel updated. 

All restart options are fine. From the debug shell, I can run ./shutdown and it will restart.


Attempted resolutions:

1. Used yum to reinstall systemd, filesystem.

2. as root, ran dracut -f. This produced many dozens of lines of errors saying "failed to install" usually a library for a program. I suspect the problem is here, given the errors, but I lack the expertise to solve it.


Searching Bugzilla, I once found a similar problem, but the only solution was to reinstall. Given that I've already done that, and the problem came back, I'm hesitant to do so again. Link: https://bugzilla.redhat.com/show_bug.cgi?id=948612

Comment 1 Erik Lentz 2014-01-10 21:16:41 UTC
Created attachment 848400 [details]
rdsosreport for crash

Comment 2 Erik Lentz 2014-01-15 02:14:11 UTC
Created attachment 850320 [details]
Dracut Debug Log

Attached here is the Dracut debug output when I run "dracut -f --debug"

Comment 3 Harald Hoyer 2014-01-16 14:58:50 UTC
dracut-install: '/var/tmp/initramfs.G38Csf/usr/bin/systemctl' already exists, but checking for any deps
dracut-install: ldd: '	linux-vdso.so.1 =>  (0x00007ffff236f000)
dracut-install: '
dracut-install: ldd: '	/lib/$LIB/liblsp.so => /lib/lib64/liblsp.so (0x00007fbad424b000)
dracut-install: '
dracut-install: dracut_install('/lib/$LIB/liblsp.so', '/lib/$LIB/liblsp.so')
dracut-install: hash hit items_failed for '/lib/$LIB/liblsp.so'
dracut-install: ERROR: failed to install '/lib/$LIB/liblsp.so' for '/usr/bin/systemctl'

Hmm, what is the output of:

# ldd /usr/bin/systemctl

??

Comment 4 Erik Lentz 2014-01-17 00:12:17 UTC
(In reply to Harald Hoyer from comment #3)
> dracut-install: '/var/tmp/initramfs.G38Csf/usr/bin/systemctl' already
> exists, but checking for any deps
> dracut-install: ldd: '	linux-vdso.so.1 =>  (0x00007ffff236f000)
> dracut-install: '
> dracut-install: ldd: '	/lib/$LIB/liblsp.so => /lib/lib64/liblsp.so
> (0x00007fbad424b000)
> dracut-install: '
> dracut-install: dracut_install('/lib/$LIB/liblsp.so', '/lib/$LIB/liblsp.so')
> dracut-install: hash hit items_failed for '/lib/$LIB/liblsp.so'
> dracut-install: ERROR: failed to install '/lib/$LIB/liblsp.so' for
> '/usr/bin/systemctl'
> 
> Hmm, what is the output of:
> 
> # ldd /usr/bin/systemctl
> 
> ??

	linux-vdso.so.1 =>  (0x00007fff8bdfe000)
	/lib/$LIB/liblsp.so => /lib/lib64/liblsp.so (0x00007faf00727000)
	libsystemd-daemon.so.0 => /lib64/libsystemd-daemon.so.0 (0x00007faf00507000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007faf002bf000)
	librt.so.1 => /lib64/librt.so.1 (0x00007faf000b7000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007faeffe93000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007faeffc6d000)
	libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007faeff9ee000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007faeff7d8000)
	libc.so.6 => /lib64/libc.so.6 (0x00007faeff418000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003272000000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007faeff214000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faefeff7000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007faefed90000)
	libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007faefeb8b000)

Comment 5 Erik Lentz 2014-01-17 03:04:56 UTC
I found the cause: Astrill VPN.

I swear I tested between each third-party install to see if one was doing it. Oh well.

I'll report to Astrill - it's their fault.

Thanks for the help!

Comment 6 Harald Hoyer 2014-01-17 10:50:04 UTC
Well, I'll fix dracut-install, so that it does not fail in this case.

Can you elaborate why this happens?

Comment 7 Erik Lentz 2014-01-19 03:07:33 UTC
Astrill writes: /usr/local/Astrill/liblsp.so and liblsp64.so and it appears that dracut can't incorporate these two libraries when it runs.

Also, when attempting to install Astrill, Fedora says that there's a conflict with the 'filesystem' package. However, I can't seem to find where that conflict is. I reinstall filesystem after the Astrill installation, but that doesn't appear to undo whatever damage Astrill does - only uninstalling Astrill solves it.

Comment 8 Harald Hoyer 2014-01-20 09:41:46 UTC
Does Astrill modify any LD_* environment variables?

# set | fgrep LD_

Comment 9 Erik Lentz 2014-01-23 00:39:22 UTC
No, it does not.

Comment 10 Harald Hoyer 2014-01-24 10:39:32 UTC
(In reply to Erik from comment #9)
> No, it does not.

so, how does 	/lib/$LIB/liblsp.so => /lib/lib64/liblsp.so (0x00007faf00727000)

end up in the library requirements?

Does it modify/replace an existing library?

What is the output of:


$ rpm -Vf \
   /usr/bin/systemctl \
   /lib64/libsystemd-daemon.so.0 \
   /lib64/libdbus-1.so.3 /lib64/librt.so.1 \
   /lib64/libselinux.so.1 /lib64/liblzma.so.5 \
   /lib64/libgcrypt.so.11 /lib64/libgcc_s.so.1 \
   /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 \
   /lib64/libdl.so.2 /lib64/libpthread.so.0 \
   /lib64/libpcre.so.1 /lib64/libgpg-error.so.0 \
   && echo OK

Comment 11 Erik Lentz 2014-01-25 03:16:15 UTC
Here is the output:

>    /usr/bin/systemctl \
>    /lib64/libsystemd-daemon.so.0 \
>    /lib64/libdbus-1.so.3 /lib64/librt.so.1 \
>    /lib64/libselinux.so.1 /lib64/liblzma.so.5 \
>    /lib64/libgcrypt.so.11 /lib64/libgcc_s.so.1 \
>    /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 \
>    /lib64/libdl.so.2 /lib64/libpthread.so.0 \
>    /lib64/libpcre.so.1 /lib64/libgpg-error.so.0 \
>    && echo OK
.M....G..    /var/log/journal
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libsystemd-daemon.so.0.0.10
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libsystemd-id128.so.0.0.26
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libsystemd-journal.so.0.11.3
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libsystemd-login.so.0.9.1
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libudev.so.1.4.0
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libdbus-1.so.3.7.4
prelink: /usr/lib64/libdl-2.18.so has a dependency cycle
S.?......    /lib64/libc-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libcrypt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libdl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libm-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libnsl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libpthread-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libresolv-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/librt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libutil-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V6_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V6_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V7_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V7_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/XBS5_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/XBS5_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig.x86_64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig.x86_64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libselinux.so.1
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/sefcontext_compile: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/sefcontext_compile
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/liblzma.so.5.0.99
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libgcrypt.so.11.8.2
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libgcc_s-4.8.2-20131212.so.1
prelink: /usr/lib64/libdl-2.18.so has a dependency cycle
S.?......    /lib64/libc-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libcrypt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libdl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libm-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libnsl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libpthread-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libresolv-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/librt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libutil-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V6_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V6_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V7_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V7_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/XBS5_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/XBS5_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig.x86_64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig.x86_64
prelink: /usr/lib64/libdl-2.18.so has a dependency cycle
S.?......    /lib64/libc-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libcrypt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libdl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libm-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libnsl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libpthread-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libresolv-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/librt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libutil-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V6_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V6_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V7_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V7_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/XBS5_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/XBS5_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig.x86_64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig.x86_64
prelink: /usr/lib64/libdl-2.18.so has a dependency cycle
S.?......    /lib64/libc-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libcrypt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libdl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libm-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libnsl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libpthread-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libresolv-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/librt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libutil-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V6_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V6_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V7_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V7_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/XBS5_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/XBS5_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig.x86_64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig.x86_64
prelink: /usr/lib64/libdl-2.18.so has a dependency cycle
S.?......    /lib64/libc-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libcrypt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libdl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libm-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libnsl-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libpthread-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libresolv-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/librt-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libutil-2.18.so
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V6_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V6_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/POSIX_V7_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/POSIX_V7_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/libexec/getconf/XBS5_LP64_OFF64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/libexec/getconf/XBS5_LP64_OFF64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/sbin/iconvconfig.x86_64: at least one of file's dependencies has changed since prelinking
S.?......    /usr/sbin/iconvconfig.x86_64
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /usr/lib64/libpcre.so.1.2.1
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
S.?......    /lib64/libgpg-error.so.0.10.0
prelink: /usr/lib64/libc-2.18.so has a dependency cycle
prelink: /usr/bin/gpg-error: at least one of file's dependencies has changed since prelinking
S.?......    /usr/bin/gpg-error

Comment 12 Harald Hoyer 2014-01-27 15:19:56 UTC
ouch

Comment 13 Fedora Update System 2014-04-02 08:57:13 UTC
dracut-037-10.git20140402.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/dracut-037-10.git20140402.fc20

Comment 14 Fedora Update System 2014-04-03 04:03:37 UTC
Package dracut-037-10.git20140402.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dracut-037-10.git20140402.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-4704/dracut-037-10.git20140402.fc20
then log in and leave karma (feedback).

Comment 15 Fedora Update System 2014-04-06 02:37:26 UTC
dracut-037-10.git20140402.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.