Red Hat Bugzilla – Bug 195986
Cannot mkpart of parted-1.7.1-5 on IA64
Last modified: 2007-11-30 17:11:35 EST
Description of problem:
I annot mkpart by using parted-1.7.1-5 on IA64
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. parted /dev/sdb
2. mkpart ext2 xxxx yyyy
[root@fc6 ~]# parted /dev/sdb
GNU Parted 1.7.1
Welcome to GNU Parted! Type 'help' to view a list of commands.
Disk /dev/sdb: 147GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 268MB 268MB fat16 primary boot
2 268MB 21.7GB 21.5GB ext3 primary
3 21.7GB 23.9GB 2147MB linux-swap primary
(parted) mkpart primary ext2 23900 103900
You found a bug in GNU Parted! Here's what you have to do:
Don't panic! The bug has most likely not affected any of your data.
Help us to fix this bug by doing the following:
Check whether the bug has already been fixed by checking
the last version of GNU Parted that you can find at:
Please check this version prior to bug reporting.
If this has not been fixed yet or if you don't know how to check,
please visit the GNU Parted website:
for further information.
Your report should contain the version of this release (1.7.1)
along with the error message below, the output of
parted DEVICE unit co print unit s print
and additional information about your setup you consider important.
Error: SEGV_MAPERR (Address not mapped to object)Aborted
create new partition.
I get the parted from http://ftp.gnu.org/gnu/parted/parted-1.7.1.tar.gz.
I use it and try the mkpart.
I success making new partition.
I look like original parted works good.
The follwoing parted-1.7.0-headers.patch causes the problem.
It removes the prototype declaration of ped_device_get_constraint(),
which is why the return value of that function is considered as an integer
(32bit wide), even though its return value is a pointer (64bit wide on ia64).
Since the top half of the return value is masked by implicit cast on ia64,
SEGV fault occured. (Oviously, this problem never happens on 32bit platforms.)
IMHO, that patch should be removed. I'm not sure why this patch is made
--- parted-1.7.0/include/parted/device.h.traint 2006-05-19 16:26:47.000000000 -0400
+++ parted-1.7.0/include/parted/device.h 2006-05-19 16:27:36.000000000 -0400
@@ -135,7 +135,6 @@
extern int ped_device_sync_fast (PedDevice* dev);
extern PedSector ped_device_check (PedDevice* dev, void* buffer,
PedSector start, PedSector count);
-extern PedConstraint* ped_device_get_constraint (PedDevice* dev);
/* private stuff ;-) */
Fixed in rawhide.
*** This bug has been marked as a duplicate of 200577 ***