Bug 1063706 - /lib64/libkrb5.so.3 is to short
Summary: /lib64/libkrb5.so.3 is to short
Keywords:
Status: CLOSED DUPLICATE of bug 1043212
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1045856 1063957 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-11 09:59 UTC by Mykola Dvornik
Modified: 2014-02-23 16:11 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-23 15:29:39 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
'yum history info' of the failed transaction that broke krb5* among others (4.53 KB, text/plain)
2014-02-11 19:39 UTC, Mykola Dvornik
no flags Details
'yum history info' of the following reinstall of the krb5* stuff (4.58 KB, text/plain)
2014-02-11 19:41 UTC, Mykola Dvornik
no flags Details
'journalctl -b' of the boot, when yum transaction failed (184.26 KB, text/plain)
2014-02-11 19:50 UTC, Mykola Dvornik
no flags Details
'journalctl -b' of the boot, when yum is invoked (185.40 KB, text/plain)
2014-02-18 07:28 UTC, Mykola Dvornik
no flags Details

Description Mykola Dvornik 2014-02-11 09:59:18 UTC
Description of problem:

This is a multi-fold problem:

a) When booting into run level 3 and updating with yum, then in the middle of the update the Plymouth's screen pops-up. Switching back to VT does not work, TAB key does not do anything. So I would suspect systemd to be responsible for these things. The krb5* stuff was part of the update.

b) Next boot, yum complains that it cannot load libkrb5.so.3, because it is to short. The same for dnf. GDM obviously does not start. So the system is basically DEAD.
 
Version-Release number of selected component (if applicable):

yum-3.4.3-132
systemd-208-9

How reproducible:

UNKNOWN

Steps to Reproduce:

1. Boot into run level 3
2. yum update --enablerepo=*testing
3. When Plymouth's screen pops-up wait until HDD is idle.
4. Restart
5. yum update --enablerepo=*testing 

Actual results:

libkrb5.so.3 is broken (has zero size). Neither yum or dnf could be invoked.

Expected results:

yum or dnf are both work fine.

Additional info:

Comment 1 Jan Zeleny 2014-02-11 11:34:20 UTC
Well, the fact that multiple components are affected suggests that the problem is not in one of them. Either update of the krb5 component was broken or systemd did something nasty to the update process. Reassigning to krb5 for further evaluation, feel free to switch to systemd if nothing bad is going on in there.

You might try working around the issue by reinstalling the Kerberos library manually by rpm.

Comment 2 Mykola Dvornik 2014-02-11 11:48:56 UTC
I have another Fedora 20 based system that runs just fine. The first issue is there and it is persistent (100% reproducible). The only difference is that I've done an update (that included krb5 stuff) from gnome, but not from run level 3.
So I would not blame krb5, but rather systemd and yum. To me having such a single point of failure as not-even-used krb5 in yum/dnf/gdm is a huge security flow. At the end of the day, yum's reinstall/disto-sync is the only recovery tools for such a bleeding-edge beast as Fedora is. So in my opinion it should be as isolated and independent as it possible.

Comment 3 Jan Zeleny 2014-02-11 12:08:59 UTC
There are two problems in there: the first one is the cause and the second is the consequence.

The consequence can be hardly influenced by yum, as the dependency on Kerberos lies deep underneath (FYI it's yum -> python-urlgrabber -> python_pycurl -> libcurl -> krb5-libs). At this point the problem is about hardcore general system inconsistency, probably going way down to dynamic linker not being able to process the krb5 library.

And as for the cause, it is perfectly possible that the problem was caused by systemd shutting down yum and rpm in the middle of transaction. In such cases there is no way to guarantee consistency of the system from yum's point of view. I reassigned the bug to krb5 to eliminate the possibility of bad testing update of krb5-libs. If there is no such problem, investigation can continue to see if and why the update was interrupted in the middle of transaction. On this front I'd like to ask you for more information (anything that can help identifying the problem), as the description you have is most certainly insufficient and would lead to the bug getting closed.

Comment 4 Mykola Dvornik 2014-02-11 13:08:11 UTC
Ok, I see your point. The only problem I see is the 'yum-complete-transaction' that should, in principle, recover the system if yum was interrupted. But it suffers from the same problem. Perhaps, I am mistaken and just don't see the logic here. Anyway, I will recover my system in a few hours and provide some more details.

Comment 5 Jan Zeleny 2014-02-11 13:21:41 UTC
I understand your perspective, however there are some blind spots. For instance yum-complete-transaction is a tool that just attempts to complete the transaction, in many cases the transaction is beyond repair. Also, as I noted earlier, this issue is much deeper than yum can influence. To use rather extreme comparison, if your BIOS is broken, you will also not blame Fedora for not starting.

Anyway, if you can provide any extra details how the system got to the current state, it will be definitely helpful.

Comment 6 Nalin Dahyabhai 2014-02-11 15:59:18 UTC
What's the version of krb5-libs (including arch and release) that the system believes is installed?  It should be easy enough to look at the contents of the package as the build systems produced it.

Comment 7 Mykola Dvornik 2014-02-11 19:39:52 UTC
Created attachment 861973 [details]
'yum history info' of the failed transaction that broke krb5* among others

Comment 8 Mykola Dvornik 2014-02-11 19:41:09 UTC
Created attachment 861974 [details]
'yum history info' of the following reinstall of the krb5* stuff

Comment 9 Mykola Dvornik 2014-02-11 19:50:38 UTC
Created attachment 861976 [details]
'journalctl -b' of the boot, when yum transaction failed

Comment 10 Mykola Dvornik 2014-02-11 19:54:02 UTC
Jan, Nalin,

I've posted what I believe is the relevant info. Please feel free to request other things if it is required.

Comment 11 Nalin Dahyabhai 2014-02-11 20:39:09 UTC
Jan, I can verify that neither krb5-libs-1.11.3-39.fc20 nor krb5-libs-1.11.5-2.fc20, for either i686 or x86_64, included a zero-length libkrb5.so.3.3.

Comment 12 Jan Zeleny 2014-02-13 08:04:30 UTC
Nalin, thank you for your assistance, seems like krb5 is really not the issue. I looked at the journal and I find this part the most interesting:

Feb 11 09:37:25 localhost.localdomain yum[1102]: Installed: systemd-libs-208-9.fc20.i686
Feb 11 09:37:27 localhost.localdomain systemd[1]: Reloading.

Seems like after the installation of systemd-libs, systemd decided to do something extra with the system which might have caused yum to interrupt. Reassigning to systemd component for further evaluation.

Comment 13 Jan Zeleny 2014-02-13 08:08:00 UTC
*** Bug 1063957 has been marked as a duplicate of this bug. ***

Comment 14 Zbigniew Jędrzejewski-Szmek 2014-02-13 13:30:40 UTC
There appear to be a race condition in systemd's reload implementation. We're working on a fix.

Comment 15 Mykola Dvornik 2014-02-18 07:27:39 UTC
The problem is not specific to the case when systemd is updated. It does 'something extra' every time yum is invoked from VT.

Comment 16 Mykola Dvornik 2014-02-18 07:28:34 UTC
Created attachment 864392 [details]
'journalctl -b' of the boot, when yum is invoked

Comment 17 Lennart Poettering 2014-02-23 15:29:39 UTC

*** This bug has been marked as a duplicate of bug 1043212 ***

Comment 18 Lennart Poettering 2014-02-23 16:11:53 UTC
*** Bug 1045856 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.