Fails to install (configure) on armel

Bug #762082 reported by Scott Kitterman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dpkg (Ubuntu)
Triaged
Medium
Steve Langasek
dump (Ubuntu)
Fix Released
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)

Revision history for this message
Scott Kitterman (kitterman) wrote :

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

Revision history for this message
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
Revision history for this message
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
Revision history for this message
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.

Revision history for this message
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
Revision history for this message
Steve Langasek (vorlon) wrote :

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

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.