[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
parted-1.6.9 division by zero on _device_get_length
From: |
Christian Ehrlicher |
Subject: |
parted-1.6.9 division by zero on _device_get_length |
Date: |
Mon, 21 Jun 2004 16:16:31 +0200 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello
I just tried to compile qtparted and got an division by zero exception
on startup. after some investigation I've found the problem in
_device_get_length:
(gdb) r
Starting program: /usr/sbin/parted
Program received signal SIGFPE, Arithmetic exception.
0x40063a27 in __udivdi3 (n=0, d=1) at ../../gcc/libgcc2.c:551
551 ../../gcc/libgcc2.c: Datei oder Verzeichnis nicht gefunden.
~ in ../../gcc/libgcc2.c
(gdb) bt
#0 0x40063a27 in __udivdi3 (n=0, d=1) at ../../gcc/libgcc2.c:551
#1 0x4004d5e7 in _device_get_length (dev=0x8066070) at linux.c:408
#2 0x4004d67f in _device_probe_geometry (dev=0x8066070) at linux.c:436
#3 0x4004d9d5 in init_ide (dev=0x8066070) at linux.c:529
#4 0x4004e0be in linux_new (path=0x8065068 "/dev/hdc") at linux.c:791
#5 0x40035a81 in ped_device_get (path=0x0) at device.c:157
#6 0x4003594e in _ped_device_probe (path=0x40068558 "/dev/hdc") at
device.c:113
#7 0x4004f24f in _probe_standard_devices () at linux.c:1410
#8 0x4003598f in ped_device_probe_all () at device.c:122
#9 0x0804d9bc in _choose_device (argc_ptr=0xbffff1f0,
argv_ptr=0xbffff1f4) at parted.c:1547
#10 0x0804da4c in _init (argc_ptr=0xbffff1f0, argv_ptr=0xbffff1f4) at
parted.c:1582
#11 0x0804db57 in main (argc=0, argv=0xbffff238) at parted.c:1634
(gdb) up
#1 0x4004d5e7 in _device_get_length (dev=0x8066070) at linux.c:408
408 return bytes / _device_get_sector_size(dev);
(gdb) p *dev
$3 = {next = 0xffffffff, model = 0x806f3e0 "_NEC DVD_RW ND-1300A", path
= 0x80660c0 "/dev/hdc", type = PED_DEVICE_IDE, sector_size = -1,
~ length = -1, open_count = 1, read_only = 1, external_mode = 0, dirty =
0, boot_dirty = 0, heads = -1, sectors = -1, cylinders = -1,
~ geom_known = 1, geom_already_guessed = 0, host = -1, did = -1,
arch_specific = 0x80660d0}
As you can see the sector size is -1 but a
(gdb) p _device_get_sector_size(dev)
$2 = 0
gives back 0 which causes the division by zero.
Hope you get this fixed soon :-)
System: SuSE 9.0 / gcc 3.3.1
- --
MfG
Christian Ehrlicher
==============================================================================
Christian Ehrlicher mailto:address@hidden
deneg GmbH Phone : +49 421 2043 282
Kurfürstenallee 130 Fax : +49 421 2043 120
D 28211 Bremen http://www.deneg.de/
==============================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFA1u2/nNKwkgf+zVMRAmmJAJ9ncZg37vnhp4u19loeJQJU1YU32QCfYMba
LIAiYXpgkfroGosJyKM6jeY=
=2i1n
-----END PGP SIGNATURE-----
- parted-1.6.9 division by zero on _device_get_length,
Christian Ehrlicher <=