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

Reply via email to