Hello Ingo, You should install gpart-dbgsym* package, to get a meaningful stacktrace.
It's a luck I've found the problem from your strace log ;) The root cause is the code gpart-0.3/src/disku.c:80: if (ioctl(d->d_fd,HDIO_GETGEO,&hg) == -1) pr(FATAL,EM_IOCTLFAILED,"HDIO_GETGEO",strerror(errno)); #ifdef BLKGETSIZE if (ioctl(d->d_fd,BLKGETSIZE,&nsects) == -1) pr(FATAL,EM_IOCTLFAILED,"BLKGETSIZE",strerror(errno)); g.d_nsecs = nsects; g.d_c = nsects / (hg.heads * hg.sectors); // <- BUG HERE - devide by 0 as you can see from strace: > ioctl(3, HDIO_GETGEO, {heads=0, sectors=0, cylinders=0, start=0}) = 0 so (hg.heads * hg.sectors) is here zero. The latest version 1:0.3-5 contains the same code. Regards, Aleksey