Bug 1223111 - bug in libparted trying to add partitions to list
Summary: bug in libparted trying to add partitions to list
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: parted
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-19 21:35 UTC by David Timms
Modified: 2015-06-09 17:03 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-09 17:03:27 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
command line results of gdb parted (14.40 KB, text/plain)
2015-05-19 21:35 UTC, David Timms
no flags Details
gdb thread apply all bt (5.22 KB, text/plain)
2015-05-20 10:07 UTC, David Timms
no flags Details
fdisk dump disk layout script file. (717 bytes, text/plain)
2015-05-20 10:22 UTC, David Timms
no flags Details
backtrace for gparted 3.2 (f21) running on f20. (4.21 KB, text/plain)
2015-05-20 11:39 UTC, David Timms
no flags Details
dd if=/dev/sda of=notebook-750g.mbr512bytes bs=512 count=1 (512 bytes, application/octet-stream)
2015-05-20 21:45 UTC, David Timms
no flags Details
run parted against backed up mbr(512 bytes). (3.46 KB, text/plain)
2015-05-20 21:57 UTC, David Timms
no flags Details
cfdisk run - show the 1M free between sda3/sda4 not shown on other tools. (1.13 KB, text/plain)
2015-05-20 22:08 UTC, David Timms
no flags Details

Description David Timms 2015-05-19 21:35:43 UTC
Created attachment 1027412 [details]
command line results of gdb parted

Description of problem:
Attemping to use parted to list partitions on the physical hard drive causes parted to fail in libparted.

Version-Release number of selected component (if applicable):
gparted 3.2

How reproducible:
On this particular hard drive: HP ProBook 470 G2, 750GB disk. Formatted by manufacturer, then repartioned by gparted 3.2 on Fedora 20 x86_64. The original windows partitions have been resized and moved to make way for a Fedora 22 (TC4)
install.

Steps to Reproduce:
a) Fedora 22 TC4 workstation live, on usb via unetbootin.
1. Boot live "dvd"
2. gnome-terminal
3. parted
4. print devices  (ok)
5. print free (boom).

b) Anacona:
1. Boot Fedora 22 TC4 server network CD.
2. crash in text UI before GUI is shown.

Actual results:
Backtrace has 19 calls on stack:
  19: /lib64/libparted.so.2(ped_assert+0x44) [0x7f8a48fda2f4]
  18: /lib64/libparted.so.2(+0x20506) [0x7f8a48fed506]
  17: /lib64/libparted.so.2(+0x11d5a) [0x7f8a48fded5a]
  16: /lib64/libparted.so.2(ped_disk_add_partition+0x263) [0x7f8a48fdf653]
  15: /lib64/libparted.so.2(+0x1fde5) [0x7f8a48fecde5]
  14: /lib64/libparted.so.2(+0x1fe80) [0x7f8a48fece80]
  13: /lib64/libparted.so.2(+0x1fe80) [0x7f8a48fece80]
  12: /lib64/libparted.so.2(+0x1fe80) [0x7f8a48fece80]
  11: /lib64/libparted.so.2(+0x1fe80) [0x7f8a48fece80]
  10: /lib64/libparted.so.2(+0x1fe80) [0x7f8a48fece80]
  9: /lib64/libparted.so.2(+0x1fe80) [0x7f8a48fece80]
  8: /lib64/libparted.so.2(+0x1fe1f) [0x7f8a48fece1f]
  7: /lib64/libparted.so.2(+0x20dd5) [0x7f8a48feddd5]
  6: /lib64/libparted.so.2(ped_disk_new+0x49) [0x7f8a48fdf279]
  5: parted() [0x407719]
  4: parted(interactive_mode+0xff) [0x40c9ef]
  3: parted(main+0x119f) [0x405f1f]
  2: /lib64/libc.so.6(__libc_start_main+0xf0) [0x7f8a487b9790]
  1: parted() [0x405f77]

Expected results:
a) be able to list the partitions on the hard disk.
b) be able to install F22.

Additional info:
May be specific to partitions created by the manufacturer, or that plus resize/move with F20 gparted.

Comment 1 David Timms 2015-05-20 10:07:08 UTC
Created attachment 1027600 [details]
gdb thread apply all bt

# fdisk -l /dev/sda
Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x25eceef1

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *          2048    2101247    2099200     1G  7 HPFS/NTFS/exFAT
/dev/sda2          2101248  237621247  235520000 112.3G  7 HPFS/NTFS/exFAT
/dev/sda3        237621248  442419199  204797952  97.7G  7 HPFS/NTFS/exFAT
/dev/sda4        442421248 1465147391 1022726144 487.7G  5 Extended
/dev/sda5        442423296  444518399    2095104  1023M 83 Linux
/dev/sda6        444520448  530536447   86016000    41G 83 Linux
/dev/sda7        530538496  608362495   77824000  37.1G 83 Linux
/dev/sda8        608364544  948332543  339968000 162.1G  7 HPFS/NTFS/exFAT
/dev/sda9        948334592 1077358591  129024000  61.5G  7 HPFS/NTFS/exFAT
/dev/sda10      1077360640 1462691839  385331200 183.8G  7 HPFS/NTFS/exFAT
/dev/sda11      1462691840 1465147391    2455552   1.2G  b W95 FAT32

Comment 2 David Timms 2015-05-20 10:22:14 UTC
Created attachment 1027604 [details]
fdisk dump disk layout script file.

Comment 3 David Timms 2015-05-20 11:39:51 UTC
Created attachment 1027645 [details]
backtrace for gparted 3.2 (f21) running on f20.

Note: the partitions were modified from default by:
parted-3.2-4.fc21.x86_64 @fedora/21, but
running on fedora 20 x86_64, via a E-SATA cable to the drive.
(see backtrace attachment)

If I revert my F20 machine to the F20 package:
parted-3.1-13.fc20.x86_64 fedora.

Now I get: (while loaded in a USB to SATA caddy):
(parted) version                                                          

GNU Parted 3.1

Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

(parted) select /dev/sdg                                                
Using /dev/sdg

(parted) print
Error: Unable to satisfy all constraints on the partition.
Model: NORELSYS 106X (scsi)                                               
Disk /dev/sdg: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

(parted)

Comment 4 David Timms 2015-05-20 21:45:13 UTC
Created attachment 1027880 [details]
dd if=/dev/sda of=notebook-750g.mbr512bytes bs=512 count=1

mbr from offending disk.

Comment 5 David Timms 2015-05-20 21:57:29 UTC
Created attachment 1027883 [details]
run parted against backed up mbr(512 bytes).

While trying to read the table shows "can't have partition outside disk", which makes sense given this is only the mbr file, not the /dev/disk, this does end up drawing some of the partition table (3xprimary + extended).

Free also shows those little unused bits between partitions, although the [4] entry is incorrect. 524GB is not free space.

Comment 6 David Timms 2015-05-20 22:08:44 UTC
Created attachment 1027887 [details]
cfdisk run - show the 1M free between sda3/sda4 not shown on other tools.

Comment 7 Brian Lane 2015-06-09 17:03:27 UTC
Sorry it took so long to get back to this, thanks for the gdb dump.

The problem partitions are the last 2:

/dev/sda10      1077360640 1462691839  385331200 183.8G  7 HPFS/NTFS/exFAT
/dev/sda11      1462691840 1465147391    2455552   1.2G  b W95 FAT32

There is no 1 sector gap between them so parted refuses to operate on the disk. There's nothing to be done, except to recreate that last partition starting at 
1462691841.


Note You need to log in before you can comment on or make changes to this bug.