NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/44239: raidframe causes a div-by-zero fault for small disks
>Number: 44239
>Category: kern
>Synopsis: raidframe causes a div-by-zero fault for small disks
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 15 20:30:00 +0000 2010
>Originator: Antti Kantee
>Release:
>Organization:
>Environment:
>Description:
Seems like small disks have 0 parity regions:
(gdb) bt
#0 0xbbbb610c in __udivdi3 () from /usr/lib/librumpdev_dm.so.0
#1 0xbbb49370 in rf_paritymap_init (pm=0xb9a5bf20, raid=0xbb4c0000,
params=0xb77ff324)
at
/usr/allsrc/src/sys/rump/dev/lib/libraidframe/../../../../dev/raidframe/rf_paritymap.c:444
#2 0xbbb49b7d in rf_paritymap_attach (raidPtr=0xbb4c0000, force=1)
at
/usr/allsrc/src/sys/rump/dev/lib/libraidframe/../../../../dev/raidframe/rf_paritymap.c:679
#3 0xbbb6dbae in rf_Configure (raidPtr=0xbb4c0000, cfgPtr=0xb8321000, ac=0x0)
at
/usr/allsrc/src/sys/rump/dev/lib/libraidframe/../../../../dev/raidframe/rf_driver.c:425
#4 0xbbb65497 in raidioctl (dev=15875, cmd=2147774977, data=0xb77ff920,
flag=3, l=0xb9a46ad4)
at
/usr/allsrc/src/sys/rump/dev/lib/libraidframe/../../../../dev/raidframe/rf_netbsdkintf.c:1192
#5 0xbb6dc300 in cdev_ioctl (dev=15875, cmd=2147774977, data=0xb77ff920,
flag=3, l=0xb9a46ad4)
at /usr/allsrc/src/sys/rump/librump/rumpkern/../../../kern/subr_devsw.c:876
#6 0xbb771e6d in spec_ioctl (v=0xb77ff7a8)
at
/usr/allsrc/src/sys/rump/librump/rumpvfs/../../../miscfs/specfs/spec_vnops.c:753
#7 0xbb790102 in rump_vop_spec (v=0xb77ff7a8) at rumpfs.c:1453
#8 0xbb6ca64a in VOP_IOCTL (vp=0xbb4b62f8, command=2147774977,
data=0xb77ff920, fflag=3, cred=0xbb425f00)
at /usr/allsrc/src/sys/rump/librump/rumpkern/../../../kern/vnode_if.c:467
#9 0xbb77bbdc in vn_ioctl (fp=0xb8319f80, com=2147774977, data=0xb77ff920)
at /usr/allsrc/src/sys/rump/librump/rumpvfs/../../../kern/vfs_vnops.c:731
#10 0xbb6addd4 in sys_ioctl (l=0xb9a46ad4, uap=0xb9b04040, retval=0xb77ffa7c)
at /usr/allsrc/src/sys/rump/librump/rumpkern/../../../kern/sys_generic.c:624
#11 0xbb704fcc in sy_call (sy=0xbb71aea8, l=0xb9a46ad4, uap=0xb9b04040,
rval=0xb77ffa7c) at /sys/rump/librump/rumpkern/../../../sys/syscallvar.h:61
#12 0xbb704f8c in rump_proxy_syscall (num=54, arg=0xb9b04040,
retval=0xb77ffa7c) at rump.c:672
#13 0xbb667650 in rumpsyscall (sysnum=54, data=0xb9b04040, retval=0xb77ffa7c)
at rumpuser_sp.c:161
#14 0xbb667f60 in serv_handlesyscall (spc=0xbb66dc64, rhdr=0xb9b02074,
data=0xb9b04040 "") at rumpuser_sp.c:472
#15 0xbb66809f in serv_syscallbouncer (arg=0x0) at rumpuser_sp.c:516
#16 0xbb65f4c7 in pthread_setcancelstate () from /usr/lib/libpthread.so.0
#17 0xbb5a3610 in swapcontext () from /usr/lib/libc.so.12
444 rstripes = howmany(raid->Layout.numStripe, pm->params.regions);
(gdb) print pm->params
$1 = {cooldown = 8, tickms = 40000, regions = 0}
>How-To-Repeat:
run tests/dev/raid/t_raid smalldisk (to be committed very soon)
>Fix:
Home |
Main Index |
Thread Index |
Old Index