Bug 1111050

Summary: Installation hangs at 100% of packages installed
Product: [openSUSE] openSUSE Distribution Reporter: Fabian Vogt <fvogt>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Leap 15.0   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST logs

Description Fabian Vogt 2018-10-08 11:47:07 UTC
Created attachment 785326 [details]
YaST logs

Found by openQA, confirmed by manual testing.

https://openqa.opensuse.org/tests/768671#step/await_install/398

After the last package got installed, YaST waits indefinitely for

root      4916  4866  0 12:58 ?        00:00:00 /usr/bin/perl -w /usr/lib/YaST2/servers_non_y2/ag_udev_persistent

to exit. Strace shows that it's waiting for input on stdin.
kill -9 4916 worked and the installation finished successfully.
Comment 1 Stefan Hundhammer 2018-10-08 16:07:35 UTC
No y2logs in that OpenQA test case.  :-((
Can you attach the last few lines of the y2log?


That perl script is part of yast2-network:

https://github.com/yast/yast-network/blob/master/src/servers_non_y2/ag_udev_persistent

It is called a couple of times in yast2-network:

https://github.com/yast/yast-network/blob/master/src/modules/LanItems.rb#L370
https://github.com/yast/yast-network/blob/master/src/modules/LanItems.rb#L674
https://github.com/yast/yast-network/blob/master/src/modules/LanItems.rb#L1066

https://github.com/yast/yast-network/blob/master/src/include/network/lan/udev.rb#L69

Having that y2log snippet would make it a lot easier to narrow this down.
Comment 2 Arvin Schnell 2018-10-08 17:59:22 UTC
Could be a duplicate of bug #1110368 / #1109877.
Comment 3 Stefan Hundhammer 2018-10-09 12:11:02 UTC
Yes, this looks indeed like a duplicate of bug #1110368.

I am not sure where the connection to bug #1109877 is, however, which is what bug #1110368 was marked a duplicate of. The libzypp maintainers should know.

Michael, Benjamin: Please check. We might need a backport to SLE-15 GA and Leap 15.
Comment 4 Michael Andres 2018-10-09 13:14:07 UTC
Code15 and TW are the same code base (libzypp-17.x). There's nothing to backport.
(https://build.suse.de/request/show/173281)

> 2018-10-02 13:33:37 <1> localhost.localdomain(4866) [Ruby] bin/y2start:18 y2base called with ["installation", "--arg", "initial", "qt"]
> ...
> 2018-10-08 13:00:50 <1> localhost.localdomain(4866) [zypp] ZYppImpl.cc(commit):157 Attempt to commit (CommitPolicy( DownloadDefault syncPoolAfterCommit ))
> 2018-10-08 13:00:50 <1> localhost.localdomain(4866) [zypp::exec++] ExternalProgram.cc(start_program):259 Executing '/usr/bin/systemd-inhibit' '--what=sleep:shutdown:idle' '--who=zypp' '--mode=block' '--why=Zypp commit runnin
> 2018-10-08 13:00:50 <1> localhost.localdomain(4866) [zypp::exec++] ExternalProgram.cc(start_program):424 pid 6351 launched
> ...
> 2018-10-08 13:25:46 <1> localhost.localdomain(4866) [zypp] TargetImpl.cc(commit):1340 TargetImpl::commit(<pool>, CommitPolicy( DownloadAsNeeded syncPoolAfterCommit )) returns: CommitResult  (total 2296, done 2296, error 0, s
> 2018-10-08 13:25:46 <2> localhost.localdomain(4866) [zypp::exec] ExternalProgram.cc(checkStatus):538 Pid 6351 was killed by signal 9 (Getötet)

Now comes the buggy `wait( -1 )` until ag_udev_persistent was killed....

> 2018-10-08 13:40:33 <2> localhost.localdomain(4866) [zypp::exec] ExternalProgram.cc(checkStatus):538 Pid -1 was killed by signal 9 (Getötet)
> 2018-10-08 13:40:33 <1> localhost.localdomain(4866) [zypp++] ZYppImpl.cc(commit):168 reloading @System repo to pool
> ...

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