** Summary changed: - parted crashed with SIGABRT in ped_assert() + Parted crashed with a partition table modified by fdisk in a certain way(Assertion (metadata_length > 0) at ../../../libparted/labels/dos.c:2313 in function add_logical_part_metadata() failed.)
** Description changed: - As title + ## Bug Reproduce Instructions ## + ```````````````````````````` + 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) + ```````````````````````````` ProblemType: Crash DistroRelease: Ubuntu 16.04 Package: parted 3.2-15 ProcVersionSignature: Ubuntu 4.4.0-28.47-generic 4.4.13 Uname: Linux 4.4.0-28-generic x86_64 ApportVersion: 2.20.1-0ubuntu2.1 Architecture: amd64 CurrentDesktop: Unity Date: Sun Jul 10 13:31:29 2016 ExecutablePath: /sbin/parted ExecutableTimestamp: 1455197005 InstallationDate: Installed on 2016-01-07 (184 days ago) InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021) ProcCmdline: parted /tmp/emulated-disk.img ProcCwd: /var/crash Signal: 6 SourcePackage: parted StacktraceTop: - ped_assert () from /lib/x86_64-linux-gnu/libparted.so.2 - ?? () from /lib/x86_64-linux-gnu/libparted.so.2 - ?? () from /lib/x86_64-linux-gnu/libparted.so.2 - ped_disk_add_partition () from /lib/x86_64-linux-gnu/libparted.so.2 - ?? () from /lib/x86_64-linux-gnu/libparted.so.2 + ped_assert () from /lib/x86_64-linux-gnu/libparted.so.2 + ?? () from /lib/x86_64-linux-gnu/libparted.so.2 + ?? () from /lib/x86_64-linux-gnu/libparted.so.2 + ped_disk_add_partition () from /lib/x86_64-linux-gnu/libparted.so.2 + ?? () from /lib/x86_64-linux-gnu/libparted.so.2 Title: parted crashed with SIGABRT in ped_assert() UpgradeStatus: Upgraded to xenial on 2016-04-07 (93 days ago) UserGroups: adm lpadmin sambashare sudo ** Bug watch added: Email to bug-parted@gnu # mailto:bug-par...@gnu.org ** Also affects: parted via mailto:bug-par...@gnu.org Importance: Undecided Status: New ** Information type changed from Private to Public -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1600557 Title: Parted crashed with a partition table modified by fdisk in a certain way(Assertion (metadata_length > 0) at ../../../libparted/labels/dos.c:2313 in function add_logical_part_metadata() failed.) To manage notifications about this bug go to: https://bugs.launchpad.net/parted/+bug/1600557/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs