Bug 521332

Summary: update with Yast stops at rpm package aaa_base
Product: [openSUSE] openSUSE 11.2 Reporter: Stefan Quandt <squan>
Component: InstallationAssignee: E-mail List <bnc-team-screening>
Status: RESOLVED DUPLICATE QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P5 - None    
Version: Factory   
Target Milestone: ---   
Hardware: i686   
OS: SUSE Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Stefan Quandt 2009-07-11 14:10:25 UTC
User-Agent:       Mozilla/5.0 (compatible; Konqueror/4.2; Linux) KHTML/4.2.95 (like Gecko) SUSE

In Yast2 (sw_single) I selected 170 packages from package group 'system' for update.
The update proceeded until 44% and then never finished the install of package aaa_base-11.2-30.2.i586.
Yast2 shows me a busy cursor (rotating balls) and the UI is not responsive (e.g. I cannot scroll the widget with package messages or close the app).

The last lines of /var/log/YaST2/y2log (at the end of this report) reveal that yast has forked an rpm process which does not finish and that it receives application close events (but does not react on).

Running ps shows me that the forked rpm is still alive after over 60 minutes (in whatever state):
root     26741  0.0  0.3   8364  4384 ?        S    14:55   0:00 rpm

On the other hand a check with rpm -qi shows me a history of three aaa_base packages which also lists the new one as being installed today at 14:55:55.

Could it be that the rpm process hangs in some post install?
I attached the rpm process with gdb and got the following backtrace:
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb7d828c9 in __lll_lock_wait () from /lib/libpthread.so.0
#2  0xb7d7def1 in _L_lock_765 () from /lib/libpthread.so.0
#3  0xb7d7dd09 in pthread_mutex_lock () from /lib/libpthread.so.0
#4  0xb7dc6978 in rpmsqWait () from /usr/lib/librpmio-4.4.so
#5  0xb7f88024 in ?? () from /usr/lib/librpm-4.4.so
#6  0xb7f889de in ?? () from /usr/lib/librpm-4.4.so
#7  0xb7f8a53f in rpmpsmStage () from /usr/lib/librpm-4.4.so
#8  0xb7f8b7fd in ?? () from /usr/lib/librpm-4.4.so
#9  0xb7f8aed1 in rpmpsmStage () from /usr/lib/librpm-4.4.so
#10 0xb7f8b7fd in ?? () from /usr/lib/librpm-4.4.so
#11 0xb7f8a671 in rpmpsmStage () from /usr/lib/librpm-4.4.so
#12 0xb7fb2a50 in rpmtsRun () from /usr/lib/librpm-4.4.so
#13 0xb7f9e9cd in rpmInstall () from /usr/lib/librpm-4.4.so
#14 0x0804bd4f in ?? ()
#15 0xb7c2dabe in __libc_start_main () from /lib/libc.so.6



tail of /var/log/YaST2/y2log:
2009-07-11 14:55:54 <1> galapagos(20300) [zypp] PackageProvider.cc(providePackage):147 provided Package (5345)aaa_base-11.2-30.2.i586(openSUSE 11.2-0) at /var/cache/zypp/packages/openSUSE 11.2-0/suse/i586/aaa_base-11.2-30.2.i586.rpm
2009-07-11 14:55:54 <1> galapagos(20300) [Pkg] PackageSlideShow.ycp:1087 Pkg Builtin called: PkgInstalled
2009-07-11 14:55:54 <1> galapagos(20300) [Pkg] Package.cc(searchPackage):577 Package 'aaa_base' installed: true
2009-07-11 14:55:55 <1> galapagos(20300) [Pkg] SlideShowCallbacks.ycp:299 Pkg Builtin called: PkgDU
2009-07-11 14:55:55 <2> galapagos(20300) [Pkg] Package.cc(PkgDU):2393 Disk usage for package aaa_base is unknown
2009-07-11 14:55:55 <1> galapagos(20300) [Pkg] SlideShowCallbacks.ycp:349 Pkg Builtin called: TargetAvailable
2009-07-11 14:55:55 <1> galapagos(20300) [YCP] SlideShowCallbacks.ycp:351 Available space (/): 47324921856
2009-07-11 14:55:55 <1> galapagos(20300) [zypp] RpmDb.cc(doInstallPackage):1976 RpmDb::installPackage(/var/cache/zypp/packages/openSUSE 11.2-0/suse/i586/aaa_base-11.2-30.2.i586.rpm,0x0000000c)
2009-07-11 14:55:55 <1> galapagos(20300) [zypp++] ExternalProgram.cc(start_program):210 Executing 'rpm' '--root' '/' '--dbpath' '/var/lib/rpm' '-U' '--percent' '--force' '--nodeps' '--' '/var/cache/zypp/packages/openSUSE 11.2-0/suse/i586/aaa_base-11.2-30.2.i586.rpm'
2009-07-11 14:55:55 <1> galapagos(20300) [zypp++] ExternalProgram.cc(start_program):354 pid 26741 launched
2009-07-11 15:32:16 <1> galapagos(20300) [qt-ui] YQMainWinDock.cc(closeEvent):297 Caught window manager close event - returning with YCancelEvent


Reproducible: Didn't try

Steps to Reproduce:
1.
2.
3.
Comment 1 Stefan Quandt 2009-07-11 14:28:20 UTC
> Could it be that the rpm process hangs in some post install?
ps shows me that in fact rpm forked a shell script which obviously hangs in ececuting 'usermod':
stefan   20258  0.0  0.1  22932  2060 ?        Sl   14:29   0:02  \_ kdesud
root     20261  0.0  0.0   3368   992 pts/9    Ss+  14:29   0:00      \_ su
root     20267  0.0  0.0   1992   460 pts/9    S+   14:29   0:00          \_ kdesu_stub
root     20270  0.0  0.0   4140   808 ?        Ss   14:29   0:00              \_ yast2
root     20300  1.8  6.7 143856 77568 ?        Sl   14:29   1:50                  \_ y2base
root     26741  0.0  0.3   8364  4356 ?        S    14:55   0:00                      \_ rpm
root     26794  0.0  0.1   2868  1248 ?        S    14:55   0:00                          \_ sh
root     26924  0.0  0.1   4860  1500 ?        S    14:55   0:00                              \_ usermod

cat /proc/26924/cmdline contains
/usr/sbin/usermod-gnobodynobody

Trying to tar the proc directory of the usermod process reveals that is doing network activity:
tar cjvf usermod1.proc /proc/26924 |grep beim
tar: Entferne führende „/“ von Elementnamen
tar: /proc/26924/net/anycast6: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/pnp: Datei hat sich beim Lesen geändert.
galapagos:~/traces # tar cjvf usermod1.proc /proc/26924 |grep beim
tar: Entferne führende „/“ von Elementnamen
tar: /proc/26924/net/rpc/auth.unix.gid: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/rpc: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/dev_snmp6/pan0: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/dev_snmp6: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/irda/discovery: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/irda: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/stat/nf_conntrack: Datei hat sich beim Lesen geändert.
tar: /proc/26924/net/stat: Datei hat sich beim Lesen geändert.
galapagos:~/traces # cat /proc/26924/cmdline

So blaming yast seems no longer adequate. Feel free to give this bug a new summary.
Comment 2 Stefan Quandt 2009-07-11 14:33:47 UTC
Workaround (command line required :)): Killing the usermod process (with -9) made my install proceed.
Hooray!
Comment 3 Katarina Machalkova 2009-07-14 13:14:27 UTC
Known issue

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