[Bug 733414] Re: dpkg crashed with SIGSEGV in findbreakcycle()

Launchpad Bug Tracker 733414 at bugs.launchpad.net
Fri Oct 14 14:16:47 UTC 2011


This bug was fixed in the package dpkg - 1.16.1ubuntu1

---------------
dpkg (1.16.1ubuntu1) precise; urgency=low

  * Resynchronise with Debian.  Remaining changes:
    - Merge from git://git.debian.org/users/hertzog/dpkg.git
      pu/multiarch/full for multiarch support.
    - On upgrade from 1.16.0~ubuntu[1-3], if /var/lib/dpkg/info/$arch is a
      directory, migrate the contents to var/lib/dpkg/info; and handle the
      reverse on downgrade.  This does not handle metadata for packages of
      foreign architectures.
    - Add DPKG_UNTRANSLATED_MESSAGES environment check so that higher-level
      tools can get untranslated dpkg terminal log messages while at the
      same time having translated debconf prompts.  This is useful for tools
      that hide the dpkg terminal by default and use apport for bug
      reporting with the untranslated error message.
    - Add /etc/dpkg/dpkg.cfg.d/multiarch as a conffile on amd64, so that
      users are guaranteed to always have it after upgrade even if they
      don't use update-manager for the upgrade itself.
  * Continue exporting compiler flags in dpkg-buildpackage, since we do not
    want to regress hardening support in Ubuntu 12.04 LTS.  We will revisit
    this for Ubuntu 12.10.

dpkg (1.16.1) unstable; urgency=low

  [ Raphaël Hertzog ]
  * Dpkg::Deps: Implement new "reset" method and bump module version to 1.01
    due to this.
  * Improved description of --search in dpkg-query(1). Closes: #621066
    Thanks to Lars Buitinck <larsmans at gmail.com> for the patch.
  * Let update-alternatives fsync() its administrative files before
    moving them in place to avoid empty files with some filesystems.
    LP: #344019
  * Tighten the regexp used by dpkg-source to ignore the .pc directory of
    quilt. Thanks to Mike Hommey for noticing the problem.
  * Change behaviour of dpkg-source's --extend-diff-ignore to also
    extend the current diff-ignore if it has already been set.
  * Fix dependency checking code to consider a dependency on a virtual
    package provided by a package in triggers-pending status as satisfied.
  * Do not fail when encountering a pre-dependency in triggers-awaited state,
    instead process the awaited triggers. Closes: #526774
  * "any" no longer hides "all" in the Architecture field of a .dsc.
  * Fix dpkg --remove to really remove the triggers from the various
    internal files in /var/lib/dpkg/info/triggers/. Closes: #525160
  * Avoid a perl warning in dpkg-gensymbols when no symbols file has been
    generated (because it would have been empty). Closes: #626684
  * Re-enable the Package-List field but drop the Architecture column since we
    have no clear use case yet. It can always be added later on.
    Also drop the source line since it duplicates other fields.
    Closes: #619131
  * Add the extraction part of Dpkg::Source::Package to the supported API.
    Useful to extract source packages without having to depend on dpkg-source
    (and hence dpkg-dev).
  * Add the Dpkg::Vendor module to the supported API. Useful for lintian
    when dpkg-dev is absent.
  * Check presence of required parameters in dpkg-vendor. Closes: #628726
    Thanks to Niels Thykier <niels at thykier.net> for the patch.
  * Avoid a Perl warning in dpkg-buildflags when HOME is not set.
    Closes: #635467
  * dpkg-source can now also use debian/source/local-patch-header (that is not
    included in the generated source package) instead of
    debian/source/patch-header. Closes: #629582
  * Changed dpkg-source --after-build to automatically unapply patches that it
    has applied during --before-build.
  * Fix two possible causes for the assertion failure "pigp->trigpend_head".
    LP: #798793, #424358 Closes: #560251
  * Use "special" instead of "particular" to qualify the "3.0 (custom)" format
    in dpkg-source(1). Closes: #631435
  * Add some supplementary checks to ensure debian/control has the required
    fields. Closes: #631439
  * dpkg-gensymbols(1): document syntax of comments. Closes: #630996
  * Allow empty lines in symbols files to better delimit multiple libraries.
    Thanks to Cyril Brulebois <kibi at debian.org> for the patch.
  * dpkg: if "prerm upgrade" fails when downgrading, do not try to run
    "prerm failed-upgrade" with the prerm of the oldest prerm, it can't work
    around a bug of a newer prerm anyway.
  * dpkg: support new "interest-noawait" and "activate-noawait" trigger
    directives.
  * dpkg-buildflags(1): make it clear that DEB_*_(SET|APPEND) environment
    variables are meant for users and should not be used by packages.
  * update-alternatives: do not allow to reuse a slave link in another
    slave alternative. Closes: #631547
  * Improve dpkg-source's logic to identify ignored files. Closes: #632168
  * Fix a small typo in dpkg-source(1). Closes: #632937
  * Reword the description of dpkg-source --before-build and --after-build
    to be clearer. Closes: #608260
  * dpkg-buildpackage no longer exports the compiler flags. Closes: #560070
    Packages must directly call dpkg-buildflags to retrieve them.
  * dpkg-buildflags supports a prepend command to modify the build
    flags. Particularly useful for package maintainers who don't want
    their supplementary flags to take precedence over user submitted
    flags.
  * Add new --dump action to dpkg-buildflags and make it the default action.
    Closes: #603435
  * dpkg-mergechangelogs now checks the return value of the close() call.
    Thanks to Niels Thykier <niels at thykier.net> for the patch. Closes: #633539
  * Similar changes to dpkg-shlibdeps and dpkg-gencontrol, also by Niels.
  * Fix update-alternatives to not remove a real file when dropping a
    symlink for a slave that's not provided by the new current choice.
    Closes: #633627
  * Improve dpkg-source's error message complaining about the lack
    of the upstream tarball. Closes: #634510
  * Add some common makefile snippets for use in rules files in
    /usr/share/dpkg/: default.mk, architecture.mk, buildflags.mk, pkg-info.mk,
    vendor.mk Closes: #606839
  * Fix the dpkg-divert test-suite to also skip test that would fail if run
    under root. Closes: #634961
  * Change merge conflict separators created by dpkg-mergechangelogs to match
    the usual norm of being composed of 7 characters. LP: #815700
  * With source format 2.0 and 3.0 (quilt), dpkg-source now fails by default
    when upstream changes have not been recorded in a quilt patch. The new
    --commit operation can be used to properly record the changes before-hand.
    LP: #797839
    And it fails before installing the automatic patch in debian/patches/
    Closes: #615899
  * dpkg-buildflags now supports "--export=configure" to output compilation
    flags on a single line with double quotes as delimiter of the various
    values. It also uses DEB_<flag>_MAINT_<op> to let the maintainer
    extend the build flags to use. Last but not least, it can now also strip
    options from the returned build flags.
  * Fix possible segfault of dpkg in findbreakcycle(). LP: #733414
  * dpkg-source now properly cleans up the temporary tarball generated for
    native formats in case of unexpected interruption. Closes: #631494
  * Fix simplification logic of union dependencies. Closes: #637564
  * Fix dpkg's handling of a hardlink pointing to a conffile. Closes: #638291
  * Add example of extend-diff-ignore's usage in dpkg-source(1).
    Closes: #640198
  * dpkg-buildflags now returns hardening flags by default. Closes: #489771
    They can be individually enabled/disabled via DEB_BUILD_MAINT_OPTIONS,
    see dpkg-buildflags(1). Thanks to Kees Cook for his help.

  [ Guillem Jover ]
  * Install deb-src-control(5) man pages in dpkg-dev. Closes: #620520
  * Add ‘.gitmodules’ to the default dpkg-source ignore lists. Closes: #620490
  * Document in dpkg-query(1) man page that on --listfiles each list of
    files per package name is separated by a blank line. Same goes for
    --status and --print-avail.
  * Use execvp(3) unconditionally in command_exec(). Making the call always
    fallback to use the system shell in case of error, such as with empty
    maintainer scripts. Thanks to Jonathan Nieder <jrnieder at gmail.com>.
    Closes: #622094
  * Improve deb-split(5) format description by splitting debian-split
    member contents into a list.
  * Switch to debhelper compatibility level 7.
    - Use dh_prep instead of deprecated “dh_clean -k”.
  * Bump Standards-Version to 3.9.2 (no changes needed).
  * Generate filenames following current conventions on “dpkg-split --join”,
    by including the architecture in the debian-split member of a split
    package and using underscores to separate filename parts.
  * Support conffiles with spaces when diffing them. Closes: #147583
  * Allow installing packages with bogus versions with new
    --force-bad-version.
  * Do not fail when unpacking a diverted hardlink. Closes: #245322
    Based on a patch by Christopher Baines <cbaines8 at gmail.com>.
  * Document in dpkg-deb(1) that --fsys-tarfile will always process the
    input archive sequentially. Closes: #616609
  * Remove long non-functional --new and --old dpkg-deb option handling
    from dpkg which were being treated as dpkg commands.
  * Remove reference to --nocheck dpkg-deb option from dpkg man page as
    the latter does not pass it to the former.
  * Clarify the current dpkg behaviour when running the dpkg-deb and
    dpkg-query back-ends, of not passing through back-end specific options
    when running them from dpkg. Closes: #610940
  * Use “unselected” as an adjective in dpkg output messages instead of
    “deselected”. Closes: #231089
  * Clarify exit status in dpkg-split and start-stop-daemon --help output.
  * Clarify “EXIT STATUS” section in man pages by using a table.
  * Add a --status command to start-stop-daemon returning LSB Init Script
    status action exit codes.
  * Add start-stop-daemon process name kernel limits for Solaris, NetBSD,
    OpenBSD, FreeBSD and Darwin.
  * On package removal, keep only directories actually containing conffiles,
    and not directories just matching the substring in the conffile or the
    directory itself. Thanks to Ondřej Surý <ondrej at debian.org>.
  * On purge correctly remove symlinks acting as directories, when they are
    not being used by any other package's files.
  * Do not lose track of parent directories on removal so that they can
    be properly cleaned up on purge if not used by any other package.
    Based on a patch by Ondřej Surý <ondrej at debian.org>. Closes: #454694
  * Add ‘.hgsigs’ to the default dpkg-source ignore lists.
    Based on a patch by Jakub Wilk <jwilk at debian.org>. Closes: #627462
  * Do not allow blank lines in field values. Closes: #308082
  * Do not warn on missing architecture on packages in config-files state,
    but then make sure the architecture field is usable. Closes: #604241
  * Run du with --apparent-size when generating the Installed-Size field in
    dpkg-gencontrol to get consistent results independent of build system.
    Thanks to Ludovic Brenta <ludovic at ludovic-brenta.org>. Closes: #630533
  * Do not fail to unpack shared directories missing on the file system
    from packages being replaced by other packages. Closes: #631808
  * Do not require programs to define thisname, provide two new functions
    to handle the program name (dpkg_set_progname and dpkg_get_progname).
    Closes: #631757
  * Man pages cleanup:
    - Rename “USAGE” dselect(1) section to “ACTIONS” and clarify they can
      be performed interactively or from command line.
    - Add missing built-in methods to dselect(1).
    - Add missing escaping to field dashes in deb-control(5).
    - Use dashes instead of underscores for variable text.
    - Clarify that several front-end fields are not dselect specific in
      dpkg-query(1).
    - Use [option...] instead of [options] and friends.
    - Use italics or bold instead of surrounding the text with <>.
    - Correctly format text with bold and italics.
    - Use minus signs and hyphens consistently in man pages.
    - Fix reference to /etc/dpkg/dselect.cfg.d instead of dpkg.cfg.d in
      dselect(1).
    - Add missing optional group|gid --chuid argument in start-stop-daemon(8).
  * Refer to Sources and Packages files as part of a repository instead of
    as being of exclusive use or owned by APT, which has never been the case.
  * Unify somewhat dpkg-maintscript-helper --help output with other commands.
  * Add build-indep and build-arch targets as aliases for build in
    debian/rules.
  * Use the perl interpreter found by configure to call dpkg-architecture.pl
    in the m4 DPKG_ARCHITECTURE macro.
  * Add new --verbose option to dpkg-deb and change --extract to honour it.
    Closes: #293280
  * Add new --raw-extract option to dpkg-deb combining --control and
    --extract. Closes: #552123
  * Defer hardlink renames so that there's never a point were the new
    file contents are accessible from the final path before they have
    been fsync()ed and cannot be executed causing ETXTBSY when trying
    to open the to be installed paths for writing.
    Thanks to Jonathan Nieder <jrnieder at gmail.com>. Closes: #635683
  * Clarify the default dpkg-deb compression-levels on the man page.
  * Clarify dpkg --update-avail usage error message. Closes: #628055
  * Change Dpkg::Compression default values depending on the compressor
    used, and as such dpkg-source inherits this functionality.
    Prompted by Timo Juhani Lindfors <timo.lindfors at iki.fi>.
  * Print an actual error or warning message instead of assert()ing on
    readlink()/stat() size discrepancies. Closes: #639229
  * Update alternative links only if they change. This allows for a
    read-only file system and a writable database. Closes: #636700
    Based on a patch by Salvatore Bonaccorso <carnil at debian.org>.
  * Fix double “error:” string in dpkg missing PATH error output.
    Closes: #639997
  * Do not warn on strange timestamps when unpacking with dpkg-deb.
    Closes: #640298
  * Reduce dpkg-trigger binary size by refactoring libdpkg modules so that
    it does not end up pulling triglib.
  * Reduce dpkg-deb binary size by refectoring libdpkg modules so that it
    does not end up pulling triglib.
  * Do not fail on --compare-version when generating parse warnings.
    Existing packages with invalid versions should not fail on their
    maintainer scripts due to that.
  * Use the user name (instead of the user id) when setting the supplementary
    groups in start-stop-daemon. Closes: #641834
  * Use --srcdir and --destdir po4a options, and bump Build-Depends version
    to 0.36.4.

  [ Updated dpkg translations ]
  * German (Sven Joachim). Closes: #620312
  * Swedish (Peter Krefting).
  * French (Christian Perrier).

  [ Updated man page translations ]
  * French (Christian Perrier).
  * German (Helge Kreutzmann) including improvement by "Flo".
  * Swedish (Peter Krefting).

  [ Updated scripts translations ]
  * French (Christian Perrier, Sylvestre Ledru). Closes: #637096
  * German (Helge Kreutzmann).
  * Swedish (Peter Krefting).
 -- Colin Watson <cjwatson at ubuntu.com>   Fri, 14 Oct 2011 15:01:55 +0100

** Changed in: dpkg (Ubuntu)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dpkg in Ubuntu.
https://bugs.launchpad.net/bugs/733414

Title:
  dpkg crashed with SIGSEGV in findbreakcycle()

Status in “dpkg” package in Ubuntu:
  Fix Released

Bug description:
  Binary package hint: dpkg

  updating packages in package-manager.  Also running Shisen-Sho as
  foreground task.

  ProblemType: Crash
  DistroRelease: Ubuntu 11.04
  Package: dpkg 1.16.0~ubuntu3
  ProcVersionSignature: Ubuntu 2.6.38-1.27-generic 2.6.38-rc2
  Uname: Linux 2.6.38-1-generic i686
  Architecture: i386
  Date: Fri Mar 11 11:53:22 2011
  ExecutablePath: /usr/bin/dpkg
  InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
  ProcCmdline: /usr/bin/dpkg --force-overwrite --status-fd 40 --configure libnih1 libdbus-1-3 libnih-dbus1 libc-dev-bin linux-libc-dev libc6-dev libdbus-1-dev libgomp1 libgmp3c2 libgmpxx4ldbl libmpfr4 libmpc2 cpp-4.5 binutils gcc-4.5 g++-4.5 libstdc++6-4.5-dev libpcre3 libglib2.0-0 libglib2.0-data libglib2.0-bin libglib2.0-dev libatk1.0-data libatk1.0-0 libatk1.0-dev libpng12-0 libpng12-dev libtiff4 x11proto-input-dev libxcb1 libxcb1-dev libx11-data libx11-6 libx11-dev xkb-data libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-dev libgtk2.0-common libxext6 libgl1-mesa-glx libudev0 libx11-xcb1 libxcb-dri2-0 libxcb-render0 libxcb-shape0 libxcb-xfixes0 libegl1-mesa libfreetype6 ucf fontconfig-config libfontconfig1 libpixman-1-0 libxcb-shm0 libcairo2 libcairo-gobject2 libcairo-script-interpreter2 libfreetype6-dev libfontconfig1-dev libpixman-1-dev libxcb-render0-dev libxcb-shm0-dev mesa-common-dev libxext-dev libgl1-mesa-dev x11proto-dri2-dev sysvinit-utils sysv-rc initscripts libusb-0.1-4 initramfs-tools-bin libklibc klibc-utils busybox-initramfs cpio initramfs-tools adduser udev libplymouth2 plymouth mountall upstart x11-common x11proto-gl-dev x11proto-xf86vidmode-dev libxxf86vm-dev libegl1-mesa-dev libcairo2-dev libgl1-mesa-dri libthai-data libthai0 libxft2 libxft-dev fontconfig libpango1.0-0 libpango1.0-dev plymouth-label libavahi-common-data libavahi-common3 libavahi-client3 libkrb5support0 libk5crypto3 libkeyutils1 libkrb5-3 libgssapi-krb5-2 libcups2 libgcrypt11 libxi6 shared-mime-info libgtk2.0-0 plymouth-x11 grub-common grub-pc libfuse2 fuse-utils perl perl-modules bzip2 libperl5.10 libbrlapi0.5 libxaw7 brltty brltty-x11 libcupscgi1 libcupsdriver1 libcupsimage2 libcupsmime1 libcupsppdc1 libldap-2.4-2 libpoppler12 libpoppler13 poppler-utils libgs9-common gs-cjk-resource libgs9 ghostscript ghostscript-x cups-common cups-client cups-bsd cups-ppdc cups foomatic-db-compressed-ppds foomatic-filters foo2zjs libmtp8 dbus dbus-x11 xorg-sgml-doctools libxi-dev libgtk2.0-dev libgail18 libgail-common gtk2-engines-pixbuf libindicator3 indicator-applet-complete libdbusmenu-glib3 libdbusmenu-gtk3 libindicate5 indicator-messages libdbus-glib-1-2 indicator-application glib-networking libsoup2.4-1 libedataserver1.2-14 libecal1.2-8 libsqlite3-0 libcamel1.2-19 libebook1.2-10 evolution-data-server-common libedataserverui1.2-11 libgeoclue0 libido-0.1-0 libjson-glib-1.0-0 libpolkit-gobject-1-0 libappindicator1 libpolkit-agent-1-0 libpolkit-backend-1-0 policykit-1 policykit-1-gnome libpolkit-gtk-1-0 libgudev-1.0-0 libnm-util1 libnm-glib2 geoclue geoclue-ubuntu-geoip indicator-datetime indicator-applet indicator-applet-session libgee2 libpulse0 libpulse-mainloop-glib0 readline-common libreadline6 python2.7 libpython2.7 libasound2 libltdl7 libjack0 libasound2-plugins libpulse-browse0 pulseaudio-utils libavahi-core7 libcap2 libisc62 libdns69 libisccc60 libisccfg62 libbind9-60 liblwres60 bind9-host avahi-daemon pulseaudio-module-zeroconf pulseaudio-module-raop pulseaudio indicator-sound indicator-applet-appmenu python-central gwibber-service libgwibber1 libtelepathy-glib0 indicator-me libgirepository-1.0-1 gir1.2-glib-2.0 python-gobject python2.6-minimal python2.6 python-appindicator libupower-glib1 upower indicator-session bamfdaemon libbamf0 indicator-appmenu libglu1-mesa libglibmm-2.4-1c2a compiz-core compiz-plugins-main compiz-fusion-plugins-main libcompizconfig0 libdecoration0 libvorbis0a libvorbisfile3 libcanberra0 libcanberra-gtk0 metacity-common libmetacity-private0 librsvg2-2 compiz-plugins compizconfig-backend-gconf compiz-gnome libdee-1.0-1 libglew1.5 libglewmx1.5 libnux-0.9-common libnux-0.9-0 libunity-misc0 unity-common nux-tools unity libindicate-gtk2 libssl-dev python2.7-dev gir1.2-freedesktop python-indicate libebackend1.2-0 libedata-book1.2-8 libedata-cal1.2-10 libegroupwise1.2-13 evolution-data-server libpython2.6 libbluetooth3 dnsutils pulseaudio-module-bluetooth pulseaudio-esound-compat pulseaudio-module-gconf pulseaudio-module-x11 libjs-jquery xulrunner-2.0-mozjs couchdb-bin python-avahi python-desktopcouch-records python-twisted-bin python-twisted-cor
  ProcEnviron:
   LANGUAGE=en_US:en
   PATH=(custom, user)
   LANG=en_US.UTF-8
   LC_MESSAGES=en_US.utf8
   SHELL=/bin/bash
  SegvAnalysis:
   Segfault happened at: 0x8051bbe:	movl   $0x0,0x4(%eax)
   PC (0x08051bbe) ok
   source "$0x0" ok
   destination "0x4(%eax)" (0x00000004) not located in a known VMA region (needed writable region)!
  SegvReason: writing NULL VMA
  Signal: 11
  SourcePackage: dpkg
  StacktraceTop:
   ?? ()
   ?? ()
   ?? ()
   ?? ()
   ?? ()
  Title: dpkg crashed with SIGSEGV
  UpgradeStatus: Upgraded to natty on 2011-03-11 (0 days ago)
  UserGroups:

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/733414/+subscriptions




More information about the foundations-bugs mailing list