Ok, here's the situation:
There is no stack backtrace because there is no debug symbol package for
parted_server (which is a binary produced from ubiquity source package
in d-i/source/partman-base/parted_server.c)
Despite that, simply loading parted_server in gdb and disassembling at the
fault address was sufficient to uncover the faulting code. In
parted_server.c::command_get_file_system(), the following line will fault if
fs_type == NULL:
if (0 == strncmp(part->fs_type->name, "linux-swap", 10))
Although this should be fixed, there is a larger problem that is
contributing to this: the scripts feeding the parted_server are
mistaking /dev/mapper partitions as devices.
Here's the output from parted_devices on my machine:
peter@thor:~/src/packages/ubiquity/ubiquity-2.10.8/d-i/source/partman-base$
sudo ./parted_devices
[sudo] password for peter:
/dev/sda 1000204886016 ATA WDC WD1001FALS-0
/dev/sdb 1000204886016 ATA WDC WD1001FALS-0
/dev/sdc 250000000000 ATA ST3250310AS
/dev/sdd 160041885696 Seagate FreeAgent Go
/dev/mapper/isw_cbdbfhdjad_Raid0p6 940568928768 Linux device-mapper
(linear)
/dev/mapper/isw_cbdbfhdjad_Raid0p1 1048575112704 Linux device-mapper
(linear)
/dev/mapper/isw_cbdbfhdjad_Raid0p5 11260376064 Linux device-mapper
(linear)
/dev/mapper/isw_cbdbfhdjad_Raid0p2 951829338112 Linux device-mapper
(linear)
/dev/mapper/isw_cbdbfhdjad_Raid0 2000405397504 Linux device-mapper
(striped)
Now, if you look at the partman log attached to this bug report, you'll
see that parted_server is being fed the /dev/mapper/...._Raid0p2, for
example, as a device. This is *way wrong* -- look at the crazy partition
table it came up with for this "device":
/lib/partman/init.d/35dump: IN: DUMP =dev=mapper=isw_cbdbfhdjad_Raid0p2
parted_server: Read command: DUMP
parted_server: command_dump()
parted_server: Opening outfifo
parted_server: OUT: OK
parted_server: Closing infifo and outfifo
parted_server: main_loop: iteration 20
parted_server: Opening infifo
Device: yes
Model: Linux device-mapper (linear)
Path: /dev/mapper/isw_cbdbfhdjad_Raid0p2
Sector size: 512
Sectors: 1859041676
Sectors/track: 63
Heads: 255
Cylinders: 115719
Partition table: yes
Type: msdos
Partitions: # id length type fs path name
(0,0,0) (0,0,1) -1 0-1023 1024 primary label
/dev/mapper/isw_cbdbfhdjad_Raid0p2p-1
(0,0,2) (114350,253,1) 2 1024-940568929791 940568928768 primary
extended /dev/mapper/isw_cbdbfhdjad_Raid0p2p2
(0,0,2) (114350,253,1) 5 1024-940568929791 940568928768 logical
ext4 /dev/mapper/isw_cbdbfhdjad_Raid0p2p5
(114350,253,2) (114350,254,1) -1 940568929792-940568962047 32256
pri/log free /dev/mapper/isw_cbdbfhdjad_Raid0p2p-1
(114350,254,2) (115719,253,1) 1 940568962048-951829338111
11260376064 primary linux-swap /dev/mapper/isw_cbdbfhdjad_Raid0p2p1
Dump finished.
This mishandling of fakeraid partitions should be easily reproducible on
any fakeraid machine.
FYI - the "outdated debug symbol packages" bug is a red herring. No
stack trace is possible because there are no debug symbol packages for
parted_server.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/973450
Title:
parted_server crashed with SIGSEGV in __libc_start_main()
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/973450/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs