parted crashes with "double free or corruption" message

Bug #371595 reported by Torsten Hilbrich
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
parted (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Ubuntu: 9.04
Version: 1.8.8.git.2008.03.24-11.1ubuntu6

Libraries:
libparted1.8-10 1.8.8.git.2008.03.24-11.1ubuntu6
libc6 2.9-4ubuntu6

Steps to reproduce the problem:

1. mkdir -p /tmp/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc
2. cd /tmp/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc
3. dd if=/dev/zero of=foobar bs=25M count=1 && parted -s foobar -- mklabel msdos && parted -s foobar -- unit kB mkpartfs primary ext2 1 -1

Expected result: Creation of image foobar containing a msdos-style partition table with a single ext2 partition

Got result: parted creates partition but crashes during a free call with the error message shown at the end of message

NOTE 1: if the path contains one less element (cd /tmp/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc) the error do not happen, so it seems related to the canonical name of the image parted works on.
NOTE 2: Bug is not reproducible with upstream version 1.8.8 of parted (Patch needed for compiling included in this report).

Here is the error message of glibc:

*** glibc detected *** parted: double free or corruption (!prev): 0x08adcab8 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7d2c604]
/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb7d2e5b6]
/lib/libparted-1.8.so.10(ped_free+0x1d)[0xb7e9063d]
/lib/libparted-1.8.so.10[0xb7e9b149]
/lib/libparted-1.8.so.10(ped_device_destroy+0x64)[0xb7e8e6f4]
/lib/libparted-1.8.so.10(ped_device_free_all+0x28)[0xb7e8e738]
/lib/libparted-1.8.so.10[0xb7e907a7]
/lib/libparted-1.8.so.10[0xb7e8d998]
/lib/libparted-1.8.so.10[0xb7eda8b0]
/lib/ld-linux.so.2[0xb7f0ca73]
/lib/tls/i686/cmov/libc.so.6(exit+0x89)[0xb7cebbb9]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xed)[0xb7cd377d]
parted[0x804c781]
======= Memory map: ========
08048000-0805b000 r-xp 00000000 08:02 3325958 /sbin/parted
0805b000-0805c000 r--p 00012000 08:02 3325958 /sbin/parted
0805c000-0805d000 rw-p 00013000 08:02 3325958 /sbin/parted
08ad5000-08b99000 rw-p 08ad5000 00:00 0 [heap]
b7a00000-b7a21000 rw-p b7a00000 00:00 0
b7a21000-b7b00000 ---p b7a21000 00:00 0
b7b22000-b7b2f000 r-xp 00000000 08:02 2408547 /lib/libgcc_s.so.1
b7b2f000-b7b30000 r--p 0000c000 08:02 2408547 /lib/libgcc_s.so.1
b7b30000-b7b31000 rw-p 0000d000 08:02 2408547 /lib/libgcc_s.so.1
b7b43000-b7b56000 r--p 00000000 08:02 3558226 /usr/share/locale-langpack/de/LC_MESSAGES/parted.mo
b7b56000-b7b95000 r--p 00000000 08:02 3244080 /usr/lib/locale/de_DE.utf8/LC_CTYPE
b7b95000-b7c80000 r--p 00000000 08:02 3244387 /usr/lib/locale/de_DE.utf8/LC_COLLATE
b7c80000-b7c81000 rw-p b7c80000 00:00 0
b7c81000-b7c99000 r-xp 00000000 08:02 2408552 /lib/libselinux.so.1
b7c99000-b7c9a000 r--p 00017000 08:02 2408552 /lib/libselinux.so.1
b7c9a000-b7c9b000 rw-p 00018000 08:02 2408552 /lib/libselinux.so.1
b7c9b000-b7c9c000 rw-p b7c9b000 00:00 0
b7c9c000-b7c9f000 r-xp 00000000 08:02 2408511 /lib/libuuid.so.1.2
b7c9f000-b7ca0000 r--p 00002000 08:02 2408511 /lib/libuuid.so.1.2
b7ca0000-b7ca1000 rw-p 00003000 08:02 2408511 /lib/libuuid.so.1.2
b7ca1000-b7cb6000 r-xp 00000000 08:02 2410598 /lib/libdevmapper.so.1.02.1
b7cb6000-b7cb7000 r--p 00014000 08:02 2410598 /lib/libdevmapper.so.1.02.1
b7cb7000-b7cb9000 rw-p 00015000 08:02 2410598 /lib/libdevmapper.so.1.02.1
b7cb9000-b7cbb000 r-xp 00000000 08:02 3458619 /lib/tls/i686/cmov/libdl-2.9.so
b7cbb000-b7cbc000 r--p 00001000 08:02 3458619 /lib/tls/i686/cmov/libdl-2.9.so
b7cbc000-b7cbd000 rw-p 00002000 08:02 3458619 /lib/tls/i686/cmov/libdl-2.9.so
b7cbd000-b7e19000 r-xp 00000000 08:02 3458604 /lib/tls/i686/cmov/libc-2.9.so
b7e19000-b7e1a000 ---p 0015c000 08:02 3458604 /lib/tls/i686/cmov/libc-2.9.so
b7e1a000-b7e1c000 r--p 0015c000 08:02 3458604 /lib/tls/i686/cmov/libc-2.9.so
b7e1c000-b7e1d000 rw-p 0015e000 08:02 3458604 /lib/tls/i686/cmov/libc-2.9.so
b7e1d000-b7e20000 rw-p b7e1d000 00:00 0
b7e20000-b7e4f000 r-xp 00000000 08:02 2408503 /lib/libncurses.so.5.7
b7e4f000-b7e51000 r--p 0002e000 08:02 2408503 /lib/libncurses.so.5.7
b7e51000-b7e52000 rw-p 00030000 08:02 2408503 /lib/libncurses.so.5.7
b7e52000-b7e53000 rw-p b7e52000 00:00 0
b7e53000-b7e7f000 r-xp 00000000 08:02 2408581 /lib/libreadline.so.5.2
b7e7f000-b7e80000 ---p 0002c000 08:02 2408581 /lib/libreadline.so.5.2
b7e80000-b7e81000 r--p 0002c000 08:02 2408581 /lib/libreadline.so.5.2
b7e81000-b7e84000 rw-p 0002d000 08:02 2408581 /lib/libreadline.so.5.2
b7e84000-b7e85000 rw-p b7e84000 00:00 0
b7e85000-b7ee5000 r-xp 00000000 08:02 2408589 /lib/libparted-1.8.so.10.0.0
b7ee5000-b7ee6000 ---p 00060000 08:02 2408589 /lib/libparted-1.8.so.10.0.0
b7ee6000-b7ee7000 r--p 00060000 08:02 2408589 /lib/libparted-1.8.so.10.0.0
b7ee7000-b7ee8000 rw-p 00061000 08:02 2408589 /lib/libparted-1.8.so.10.0.0
b7ee8000-b7ee9000 rw-p b7ee8000 00:00 0
b7eea000-b7eeb000 r--p 00000000 08:02 3245567 /usr/lib/locale/de_DE.utf8/LC_NUMERIC
b7eeb000-b7eec000 r--p 00000000 08:02 3244280 /usr/lib/locale/de_DE.utf8/LC_TIME
b7eec000-b7eed000 r--p 00000000 08:02 3244388 /usr/lib/locale/de_DE.utf8/LC_MONETARY
b7eed000-b7eee000 r--p 00000000 08:02 3260444 /usr/lib/locale/de_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
b7eee000-b7eef000 r--p 00000000 08:02 3245271 /usr/lib/locale/de_DE.utf8/LC_PAPER
b7eef000-b7ef0000 r--p 00000000 08:02 3244389 /usr/lib/locale/de_DE.utf8/LC_NAME
b7ef0000-b7ef1000 r--p 00000000 08:02 3244390 /usr/lib/locale/de_DE.utf8/LC_ADDRESS
b7ef1000-b7ef2000 r--p 00000000 08:02 3244391 /usr/lib/locale/de_DE.utf8/LC_TELEPHONE
b7ef2000-b7ef3000 r--p 00000000 08:02 3245267 /usr/lib/locale/de_DE.utf8/LC_MEASUREMENT
b7ef3000-b7efa000 r--s 00000000 08:02 3211684 /usr/lib/gconv/gconv-modules.cache
b7efa000-b7efb000 r--p 00000000 08:02 3244392 /usr/lib/locale/de_DE.utf8/LC_IDENTIFICATION
b7efb000-b7efd000 rw-p b7efb000 00:00 0
b7efd000-b7efe000 r-xp b7efd000 00:00 0 [vdso]
b7efe000-b7f1a000 r-xp 00000000 08:02 2414791 /lib/ld-2.9.so
b7f1a000-b7f1b000 r--p 0001b000 08:02 2414791 /lib/ld-2.9.so
b7f1b000-b7f1c000 rw-p 0001c000 08:02 2414791 /lib/ld-2.9.so
bfa06000-bfa1b000 rw-p bffeb000 00:00 0 [stack]
Aborted

Revision history for this message
Torsten Hilbrich (torsten-hilbrich) wrote :
Revision history for this message
Phillip Susi (psusi) wrote :

9.04 is no longer supported, are you able to reproduce this with a more recent release?

Changed in parted (Ubuntu):
status: New → Incomplete
Revision history for this message
Phillip Susi (psusi) wrote :

I followed your ( very good ) reproduction steps and was not able to reproduce this.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for parted (Ubuntu) because there has been no activity for 60 days.]

Changed in parted (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Torsten Hilbrich (torsten-hilbrich) wrote :

I checked with Ubuntu 12.10, parted version 2.3-10ubuntu2 and the problem was not reproducible.

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.