Univention Bugzilla – Bug 35729
App Center installation hangs sometimes
Last modified: 2014-11-07 15:37:11 CET
Noticed during Jenkins tests. Not sure how to really provoke this. But the PackageManager seems to hang forever under unknown conditions. This is because of reading from a socket of another thread to get the dpkg-messages.
Backport to 3.2-2
Created attachment 6076 [details] Daemonize the dpkg reading thread Patch from Philipp
A stripped down version of the patch has been committed to 3.2-3: r53120 | Bug #35729 lib: Fix stall in dpkg status pipe reading code r53122 | Bug #35729 lib: Fix stall in dpkg status pipe reading code YAML branches/ucs-3.2/ucs-3.2-3/doc/errata/staging/2014-08-28-univention-lib.yaml The patch probably needs back-porting to 3.2-2, but as those versions are the same, the YAML just lists the package for both -2 and -3 so far. The patch needs forward-porting to 4.0-0 after successful QA. WARNING: The patch will break the installation of "noctua", which starts several daemons which don't disconnect from the PIPE; those processes will terminate now when "univention-add-app" terminates. I've notified "init.at" about that issue. QA: You could create and install a dummy app, which just forks a process during package installation, which keeps STDOUT or STDERR open. dummy.postinst: #!/bin/sh # double-fork as minimal daemonize sh -c 'while [ ! -e /tmp/dummy_should_exit ]; do sleep 10; done &' &
Changes are OK, everything works fine. Jenkins does not get stuck anymore. Please revert the changes for now while init can look into the issues with the installation routines. After that please apply the patch again against 3.2-3, 3.2-2, 4.0-0.
r53543 | Revert "Bug #35729 lib: Fix stall in dpkg status pipe reading code" r53544 | Revert "Bug #35729 lib: Fix stall in dpkg status pipe reading code" YAML
(In reply to Dirk Wiesenthal from comment #4) > Please revert the changes for now while init can look into the issues with > the installation routines. > > After that please apply the patch again against 3.2-3, 3.2-2, 4.0-0. Should be done next week.
r53712 | Bug #35729 lib: Fix stall in dpkg status pipe reading code r53711 | Bug #35729 lib: Fix stall in dpkg status pipe reading code r53710 | Bug #35729 lib: Fix stall in dpkg status pipe reading code Package: univention-lib Version: 3.0.26-68.278.201409161801 Branch: ucs_3.2-0 Scope: errata3.2-3 r53713 | Bug #35729 lib: Fix stall in dpkg status pipe reading code YAML Package: univention-lib Version: 4.0.3-2.279.201409161802 Branch: ucs_4.0-0 No changelog entry as this is a forward port of an errata.
Changeset: OK YAML: OK 4.0-0: OK
http://errata.univention.de/ucs/3.2/235.html