Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
On Fri, Mar 27, 2015 at 11:58:01PM +0100, gregor herrmann wrote: > On Tue, 24 Mar 2015 10:18:44 -0700, Mark Brown wrote: > > Actually having opened the logs I'm not seeing the command lines, the > > logs appear to start with displaying output from the commend. > And the output shows the used command lines very close to the top: > % grep -n "Command line" xemacs21-gnome-mule* Near, but not actually at, the top where one would expect to find them (and frankly the lines are so long that if I did see them I'm pretty sure I'd just have skipped over them). signature.asc Description: Digital signature
Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
On Tue, 24 Mar 2015 10:18:44 -0700, Mark Brown wrote: > Actually having opened the logs I'm not seeing the command lines, the > logs appear to start with displaying output from the commend. And the output shows the used command lines very close to the top: % grep -n "Command line" xemacs21-gnome-mule* xemacs21-gnome-mule.patched.pass.log:7:0m0.0s INFO: Command line arguments: /srv/piuparts/sbin/piuparts --skip-logrotatefiles-test --warn-on-others --no-eatmydata --scriptsdir /etc/piuparts/scripts --allow-database --warn-on-leftovers-after-purge -i /etc/shells --scriptsdir /etc/piuparts/scripts-jessie --warn-on-debsums-errors --proxy http://localhost:3128 --mirror 'http://ftp.de.debian.org/debian main' --tmpdir /tmp/piupartss --arch amd64 -b /srv/piuparts/slave/basetgz/squeeze_amd64.tar.gz -d squeeze -d wheezy -d jessie --apt xemacs21-gnome-mule=None --bindmount /tmp/xem2 --testdebs-repo /tmp/xem2 --distupgrade-to-testdebs --log-file xemacs21-gnome-mule.patched.pass.log xemacs21-gnome-mule_None.fail.log:41:0m0.0s INFO: Command line arguments: /srv/piuparts/sbin/piuparts --skip-logrotatefiles-test --warn-on-others --no-eatmydata --scriptsdir /etc/piuparts/scripts --allow-database --warn-on-leftovers-after-purge -i /etc/shells --scriptsdir /etc/piuparts/scripts-jessie --warn-on-debsums-errors --proxy http://localhost:3128 --mirror 'http://ftp.de.debian.org/debian main' --tmpdir /tmp/piupartss --arch amd64 -b /srv/piuparts/slave/basetgz/squeeze_amd64.tar.gz -d squeeze -d wheezy -d jessie -d testing --apt xemacs21-gnome-mule=None Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - https://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Red Hot Chili Peppers: Savior signature.asc Description: Digital Signature
Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
On Wed, Mar 18, 2015 at 12:41:56AM +0100, Andreas Beckmann wrote: > On 2015-03-17 11:21, Mark Brown wrote: > > OK, thanks for the command lines. How about the analysis for the patch? > > I'm not keen on just applying random changes without understanding. Actually having opened the logs I'm not seeing the command lines, the logs appear to start with displaying output from the commend. > As I understood #735268, the strict dependency xemacs21-support -> > xemacs21 is no longer needed, so I removed that as well to break the > circular dependency and always have a deterministic configuration order > of the xemacs21 packages - that would simplify further debugging (which > luckily was not needed). All xemacs21* packages passed my piuparts tests > after applying this patch - no more hangs :-) So you made this additional change in the hope that it might be useful rather than as a targetted part of the same fix? It is bad practice to mix unrelated changes into a single patch since it makes things harder to follow, means that review issues from unrelated changes can mean that good parts of the change can't be applied or directed appropriately. signature.asc Description: Digital signature
Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
On 2015-03-17 11:21, Mark Brown wrote: > OK, thanks for the command lines. How about the analysis for the patch? > I'm not keen on just applying random changes without understanding. The Conflicts against the old transitional packages ensure they get removed before the new versions are unpacked. Circular package dependencies are problematic, since they need to be broken arbitrarily to form a dag in order to perform topsort to get a possible package configuration order. circular deps often exhibit problems during upgrades in some corner cases - recently the ancient one between perl and perl-modules removed since it caused upgrade issues (reproducible ones, but there were probably a lot of spurious ones in the past). Since there are at least 2 points where the dependency can be broken, a subtle change in the system can cause apt to do the break elsewhere - maybe doing a much worse decision than before. As I understood #735268, the strict dependency xemacs21-support -> xemacs21 is no longer needed, so I removed that as well to break the circular dependency and always have a deterministic configuration order of the xemacs21 packages - that would simplify further debugging (which luckily was not needed). All xemacs21* packages passed my piuparts tests after applying this patch - no more hangs :-) Hope that helps. Andreas -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
On Tue, Mar 17, 2015 at 01:56:34AM +0100, Andreas Beckmann wrote: > Package: > src:xemacs21,xemacs21-gnome-mule,xemacs21-gnome-nomule,xemacs21-gnome-mule-canna-wnn > Followup-For: Bug #775733 > > Attached are two new piuparts logs: > * failure due to deadlock and timeout > * success after patching xemacs > > The logfiles contain the piuparts command lines used. OK, thanks for the command lines. How about the analysis for the patch? I'm not keen on just applying random changes without understanding. signature.asc Description: Digital signature
Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
Package: src:xemacs21,xemacs21-gnome-mule,xemacs21-gnome-nomule,xemacs21-gnome-mule-canna-wnn Followup-For: Bug #775733 Attached are two new piuparts logs: * failure due to deadlock and timeout * success after patching xemacs The logfiles contain the piuparts command lines used. Andreas xemacs21-gnome-mule_None.fail.log.gz Description: application/gzip xemacs21-gnome-mule.patched.pass.log.gz Description: application/gzip
Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
Followup-For: Bug #775733 Hi, no longer building the transitional packages is not sufficient to fix the hangs. But making the upgrade path deterministic by breaking the circular dependency and ensuring the old transitional packages get removed before the other xemacs21 packages are upgraded does the job. Tested patch attached. The removal probably does unregister something that otherwise causes the hang ... Andreas diff -Nru xemacs21-21.4.22/debian/changelog xemacs21-21.4.22/debian/changelog --- xemacs21-21.4.22/debian/changelog 2015-01-19 13:23:54.0 +0100 +++ xemacs21-21.4.22/debian/changelog 2015-03-13 17:51:40.0 +0100 @@ -1,3 +1,10 @@ +xemacs21 (21.4.22-12) UNRELEASED; urgency=medium + + * Break circular dependency hell. (Closes: #735268) + * Add conflicts against the old transitional packages. (Closes: #775733) + + -- Andreas Beckmann Fri, 13 Mar 2015 17:14:18 +0100 + xemacs21 (21.4.22-11) unstable; urgency=low * Remove GNOME transitional packages which have been present for more diff -Nru xemacs21-21.4.22/debian/control xemacs21-21.4.22/debian/control --- xemacs21-21.4.22/debian/control 2015-01-19 13:23:01.0 +0100 +++ xemacs21-21.4.22/debian/control 2015-03-13 17:14:02.0 +0100 @@ -22,6 +22,7 @@ Package: xemacs21-mule Architecture: any Depends: xemacs21-support (= ${source:Version}), xemacs21-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs21-mulesupport (>= 2003.04.23-1), xemacs21-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Conflicts: xemacs21-gnome-mule Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs21 Description: highly customizable text editor -- Mule binary XEmacs is a full fledged programming language with a mail reader, @@ -48,6 +49,7 @@ Package: xemacs21-nomule Architecture: any Depends: xemacs21-support (= ${source:Version}), xemacs21-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs21-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Conflicts: xemacs21-gnome-nomule Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs21 Description: highly customizable text editor -- Non-mule binary XEmacs is a full fledged programming language with a mail reader, @@ -70,6 +72,7 @@ Package: xemacs21-mule-canna-wnn Architecture: any Depends: xemacs21-support (= ${source:Version}), xemacs21-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs21-mulesupport (>= 2003.04.23-1), xemacs21-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Conflicts: xemacs21-gnome-mule-canna-wnn Suggests: xfonts-cjk Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs21 Description: highly customizable text editor -- Mule binary compiled with Canna and Wnn @@ -112,7 +115,7 @@ Conflicts: xemacs-support, sgml-base (<< 1.23) Replaces: xemacs-support Suggests: xemacs21-supportel (= ${source:Version}) -Depends: emacsen-common, xemacs21 (= ${source:Version}), ${misc:Depends} +Depends: emacsen-common, ${misc:Depends} Description: highly customizable text editor -- architecture independent support files XEmacs is a full fledged programming language with a mail reader, news reader, info browser, web browser, calendar, specialized editor
Bug#775733: xemacs21-gnome-*: hangs during upgrade from squeeze -> wheezy -> jessie
Package: xemacs21-gnome-mule,xemacs21-gnome-nomule,xemacs21-gnome-mule-canna-wnn Version: 21.4.22-10 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, during a test with piuparts I noticed your package fails to upgrade from 'squeeze' to 'wheezy' to 'jessie'. It installed fine in 'squeeze', and upgraded to 'wheezy' successfully, keeping the squeeze version installed since there was no xemacs in wheezy, but then the upgrade to 'jessie' hangs. I'm attaching upgrade logs from xemacs21-mule (which was successful) and xemacs21-gnome-mule (which failed) even though xemacs21-gnome-mule seems to be only a transitional package depending on xemacs21-mule. The commands running at the point where something hangs are apt-get -yf dist-upgrade /usr/bin/dpkg --force-unsafe-io --status-fd 13 --configure libgpm2:amd64 x11-common:all libice6:amd64 libgmp10:amd64 libnettle4:amd64 libhogweed2:amd 64 libffi6:amd64 libp11-kit0:amd64 libtasn1-6:amd64 libgnutls-deb0-28:amd64 libsasl2-modules-db:amd64 libsasl2-2:amd64 libldap-2.4-2:amd64 libsm6:amd64 libx11-data:all libxau6:amd64 libxdmcp6:amd64 libxcb1:amd64 li bx11-6:amd64 libxext6:amd64 libxt6:amd64 libxmu6:amd64 emacsen-common:all xemacs21-support:all xemacs21-bin:amd64 libjpeg62-turbo:amd64 libpng12-0:amd64 libjbig0:amd64 libtiff5:amd64 libxpm4:amd64 libxaw7:amd64 xem acs21-mulesupport:all libgdbm3:amd64 perl:amd64 perl-modules:all xemacs21-basesupport:all xemacs21-mule:amd64 libtext-charwidth-perl:amd64 libtext-iconv-perl:amd64 liblocale-gettext-perl:amd64 bsdmainutils:amd64 de bconf-i18n:all libclass-isa-perl:all libswitch-perl:all ucf:all xz-utils:amd64 xemacs21:all xemacs21-gnome-mule:amd64 /bin/sh /var/lib/dpkg/info/emacsen-common.postinst configure 2.0.5 /usr/bin/perl -w /usr/lib/emacsen-common/emacs-package-install --postinst emacsen-common [emacs-package-i] /bin/sh /usr/lib/emacsen-common/packages/install/emacsen-common xemacs21 xemacs21 --no-init-file --no-site-file -batch -f batch-byte-compile /etc/xemacs21/site-start.d/00debian-vars.el /usr/share/xemacs21/site-lisp/debian- startup.el The problem is reproducable. strace on the xemacs process yields: sudo strace -p 5247 Process 5247 attached - interrupt to quit restart_syscall(<... resuming interrupted call ...>^C Process 5247 detached cheers, Andreas xemacs21-gnome-mule_21.4.22-10.log.gz Description: application/gzip xemacs21-mule_21.4.22-10.log.gz Description: application/gzip