bug-parted
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#23059: parted Debian 8


From: V字龍
Subject: bug#23059: parted Debian 8
Date: Sun, 10 Jul 2016 10:03:45 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0

Hi, after a few attempts I found the exact steps to reproduce this bug:

````````````````````````````
user $ dd if=/dev/zero of=emulated-disk.img bs=1M count=100 # Let's pretend this small file is our disk
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.112727 s, 930 MB/s

user $ parted --script emulated-disk.img mklabel msdos
user $ parted --script emulated-disk.img mkpart extended 1s -- -1s
Warning: The resulting partition is not properly aligned for best performance.

user $ parted --script emulated-disk.img mkpart logical -- 99MiB -1s # I used to create a tiny partition at the end and name it "XXX_Security" to store the disk's owner information, sometime Parted will hide small inter-partition gap so I usually create it first user $ parted --script emulated-disk.img mkpart logical 3s 99MiB # Then I create a filesystem to install GNU/Linux, it's not M$ Windows so I can just give them a logical partition Warning: The resulting partition is not properly aligned for best performance.

user $ parted --script emulated-disk.img print
user $ parted --script emulated-disk.img \
> unit s \
> print # Notice that the partition record is not in order and even that it's valid I still hate it...
Model:  (file)
Disk emulated-disk.img: 204800s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start    End      Size     Type      File system  Flags
 1      1s       204799s  204799s  extended               lba
 6      3s       202751s  202749s  logical
 5      202752s  204799s  2048s    logical

user $ fdisk emulated-disk.img # ...since it seems that Parted doesn't support fixing the order let's use fdisk from util-linux to do the task
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk emulated-disk.img: 100 MiB, 104857600 bytes, 204800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xee29eef8

Device             Boot  Start    End Sectors  Size Id Type
emulated-disk.img1           1 204799  204799  100M  f W95 Ext'd (LBA)
emulated-disk.img5      202752 204799    2048    1M 83 Linux
emulated-disk.img6           3 202751  202749   99M 83 Linux

Partition table entries are not in disk order.

Command (m for help): x

Expert command (m for help): f

Expert command (m for help): r

Command (m for help): w
The partition table has been altered.
Syncing disks.

user $ parted --script emulated-disk.img print # ...then Parted crashed...:-(
Backtrace has 14 calls on stack:
14: /lib/x86_64-linux-gnu/libparted.so.2(ped_assert+0x44) [0x7f686ef4dea4]
  13: /lib/x86_64-linux-gnu/libparted.so.2(+0x1e45f) [0x7f686ef6145f]
  12: /lib/x86_64-linux-gnu/libparted.so.2(+0xf8ba) [0x7f686ef528ba]
11: /lib/x86_64-linux-gnu/libparted.so.2(ped_disk_add_partition+0x25f) [0x7f686ef531af]
  10: /lib/x86_64-linux-gnu/libparted.so.2(+0x1dd4f) [0x7f686ef60d4f]
  9: /lib/x86_64-linux-gnu/libparted.so.2(+0x1dde0) [0x7f686ef60de0]
  8: /lib/x86_64-linux-gnu/libparted.so.2(+0x1dd89) [0x7f686ef60d89]
  7: /lib/x86_64-linux-gnu/libparted.so.2(+0x1ed75) [0x7f686ef61d75]
6: /lib/x86_64-linux-gnu/libparted.so.2(ped_disk_new+0x48) [0x7f686ef52dd8]
  5: parted(+0x7343) [0x560b013b5343]
  4: parted(non_interactive_mode+0x92) [0x560b013bb102]
  3: parted(main+0x1238) [0x560b013b4028]
2: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f686e72b830]
  1: parted(_start+0x29) [0x560b013b41d9]

You found a bug in GNU Parted!

(...)

Assertion (metadata_length > 0) at ../../../libparted/labels/dos.c:2313 in function add_logical_part_metadata() failed.

Aborted (core dumped)
````````````````````````````

Note that I do align the partitions in the real life, the operation above is just for simplicity. I'm using Parted 3.2 from Ubuntu 16.04's software archive, I will try attach a coredump from the current HEAD of the master branch in the next reply.

V字龍 <address@hidden>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]