[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>