Fails to install (configure) on armel

Bug #762082 reported by Scott Kitterman on 2011-04-15
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dpkg (Ubuntu)
Medium
Steve Langasek
dump (Ubuntu)
High
Unassigned

Bug Description

Binary package hint: dump

apt-get install dump
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  dump
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 282 kB of archives.
After this operation, 651 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports/ natty/universe dump armel 0.4b43-1build1 [282 kB]
Fetched 282 kB in 0s (295 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously deselected package dump.
(Reading database ... 16377 files and directories currently installed.)
Unpacking dump (from .../dump_0.4b43-1build1_armel.deb) ...
Setting up dump (0.4b43-1build1) ...
update-alternatives: Segmentation fault
dpkg: error processing dump (--configure):
 subprocess installed post-installation script returned error exit status 139
Errors were encountered while processing:
 dump
E: Sub-process /usr/bin/dpkg returned an error code (1)

Scott Kitterman (kitterman) wrote :

Tried a no change rebuild on armel and it didn't help.

Steve Langasek (vorlon) wrote :

this segfault occurs because dump calls update-alternatives with --verbose - which no other maintainer script appears to do (I'm not sure why dump should call it either). Backtrace:

(gdb) bt
#0 strlen () at ../ports/sysdeps/arm/strlen.S:29
#1 0x401ca050 in _IO_vfprintf_internal (s=<value optimized out>,
    format=<value optimized out>, ap=<value optimized out>) at vfprintf.c:1620
#2 0x401ca79e in buffered_vfprintf (s=0x402765d8,
    format=<value optimized out>, args=<value optimized out>)
    at vfprintf.c:2260
#3 0x401c6f1e in _IO_vfprintf_internal (s=0x402765d8,
    format=0xe2e8 "using %s to provide %s (%s) in %s.", ap=...)
    at vfprintf.c:1306
#4 0x40235190 in ___vfprintf_chk (fp=0x402765d8, flag=1,
    format=0xe2e8 "using %s to provide %s (%s) in %s.", ap=...)
    at vfprintf_chk.c:35
#5 0x000096aa in vprintf (fmt=0xe2e8 "using %s to provide %s (%s) in %s.")
    at /usr/include/bits/stdio2.h:118
#6 info (fmt=0xe2e8 "using %s to provide %s (%s) in %s.")
    at ../../utils/update-alternatives.c:226
#7 0x0000ab9e in main (argc=11, argv=<value optimized out>)
    at ../../utils/update-alternatives.c:2448

Changed in dpkg (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Changed in dump (Ubuntu):
status: New → Triaged
importance: Undecided → High
Steve Langasek (vorlon) wrote :

dump should be fixed to not pass --verbose, while we get to the bottom of the dpkg crash.

Changed in dpkg (Ubuntu):
assignee: nobody → Steve Langasek (vorlon)
Changed in dump (Ubuntu):
status: Triaged → Confirmed
Steve Langasek (vorlon) wrote :

(gdb) print fmt
$1 = 0xe2e8 "using %s to provide %s (%s) in %s."
(gdb) print *(char **)(&fmt +1)
$2 = 0x14b90e8 "/usr/sbin/rmt-dump"
(gdb) print *(char **)(&fmt +2)
$3 = 0x153b1d8 "/usr/sbin/rmt"
(gdb) print *(char **)(&fmt +3)
$4 = 0x1 <Address 0x1 out of bounds>
(gdb) print *(char **)(&fmt +4)
$5 = 0xd618 "auto mode"
(gdb) up
#7 0x0000ab9e in main (argc=11, argv=<value optimized out>)
    at ../../utils/update-alternatives.c:2448
2448 in ../../utils/update-alternatives.c
(gdb) print a->master_name
$6 = 0x14b9050 "rmt"

Something wrong here with the argument marshalling. Looks like a toolchain bug, not a dpkg bug.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dump - 0.4b43-1ubuntu1

---------------
dump (0.4b43-1ubuntu1) natty; urgency=low

  * Drop --verbose from update-alternatives invocation in postinst to avoid
    segfault during package configure on armel (LP: #762082)
 -- Scott Kitterman <email address hidden> Fri, 15 Apr 2011 15:23:47 -0400

Changed in dump (Ubuntu):
status: Confirmed → Fix Released
Steve Langasek (vorlon) wrote :

update-alternatives runs correctly when built with -O0. Not with -O1 or -O2.

Steve Langasek (vorlon) wrote :

Worked around by building dpkg with -fno-shrink-wrap. Looks like a duplicate of bug #736081 in gcc-linaro.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers