Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Nov 2003 11:37:44 +0100
From:      des@des.no (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=)
To:        Mark Murray <markm@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/random harvest.c hash.c randomdev.c randomdev.h yarrow.c
Message-ID:  <xzphe12x8qv.fsf@dwp.des.no>
In-Reply-To: <200311172302.hAHN2LSu061069@repoman.freebsd.org> (Mark Murray's message of "Mon, 17 Nov 2003 15:02:21 -0800 (PST)")
References:  <200311172302.hAHN2LSu061069@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Mark Murray <markm@FreeBSD.org> writes:
>   Log:
>   Overhaul the entropy device:
>   [...]

This causes a 100% reproducable panic on my machine, which I've worked
around by disabling harvesting in rc.conf.  I'm not sure if the bug is
in your code or in UMA, though.  Here's a backtrace:

root@dwp /var/crash# gdb -k symbols.0 vmcore.0
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain condition=
s.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...
panic: pmap_invalidate_page: interrupts disabled
panic messages:
---
panic: pmap_invalidate_page: interrupts disabled
cpuid =3D 0;
Dumping 1023 MB
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 =
336 352 368 384 400 416 432 448 464 480 496 512 528 544 560 576 592 608 624=
 640 656 672 688 704 720 736 752 768 784 800 816 832 848 864 880 896 912 92=
8 944 960 976 992 1008
---
Reading symbols from /boot/kernel/snd_ich.ko...done.
Loaded symbols for /boot/kernel/snd_ich.ko
Reading symbols from /boot/kernel/snd_pcm.ko...done.
Loaded symbols for /boot/kernel/snd_pcm.ko
Reading symbols from /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modul=
es/procfs/procfs.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modules=
/procfs/procfs.ko.debug
Reading symbols from /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modul=
es/pseudofs/pseudofs.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modules=
/pseudofs/pseudofs.ko.debug
Reading symbols from /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modul=
es/linprocfs/linprocfs.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modules=
/linprocfs/linprocfs.ko.debug
Reading symbols from /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modul=
es/linux/linux.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modules=
/linux/linux.ko.debug
Reading symbols from /boot/kernel/sysvmsg.ko...done.
Loaded symbols for /boot/kernel/sysvmsg.ko
Reading symbols from /boot/kernel/sysvsem.ko...done.
Loaded symbols for /boot/kernel/sysvsem.ko
Reading symbols from /boot/kernel/sysvshm.ko...done.
Loaded symbols for /boot/kernel/sysvshm.ko
Reading symbols from /boot/kernel/if_fxp.ko...done.
Loaded symbols for /boot/kernel/if_fxp.ko
Reading symbols from /boot/kernel/miibus.ko...done.
Loaded symbols for /boot/kernel/miibus.ko
Reading symbols from /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modul=
es/ums/ums.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modules=
/ums/ums.ko.debug
Reading symbols from /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modul=
es/usb/usb.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/dwp_smp/modules/usr/src/sys/modules=
/usb/usb.ko.debug
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
240             dumping++;
(kgdb) where
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
#1  0xc0443a0e in db_fncall (dummy1=3D0, dummy2=3D0, dummy3=3D-1067432000,
    dummy4=3D0xebe3f908 "$=F9=E3=EB=D2=CAI=C0=C0G`=C0\001") at /usr/src/sys=
/ddb/db_command.c:548
#2  0xc044381c in db_command (last_cmdp=3D0xc05f3040, cmd_table=3D0x0,
    aux_cmd_tablep=3D0xc05cae38, aux_cmd_tablep_end=3D0xc05cae3c)
    at /usr/src/sys/ddb/db_command.c:346
#3  0xc04438f4 in db_command_loop () at /usr/src/sys/ddb/db_command.c:472
#4  0xc0445f69 in db_trap (type=3D3, code=3D0) at /usr/src/sys/ddb/db_trap.=
c:73
#5  0xc0574cc5 in kdb_trap (type=3D3, code=3D0, regs=3D0xebe3fa34)
    at /usr/src/sys/i386/i386/db_interface.c:171
#6  0xc0586c34 in trap (frame=3D
      {tf_fs =3D 24, tf_es =3D 16, tf_ds =3D 16, tf_edi =3D -1067683308, tf=
_esi =3D 1, tf_ebp =3D -337380744, tf_isp =3D -337380768, tf_ebx =3D 0, tf_=
edx =3D 0, tf_ecx =3D 1, tf_eax =3D 18, tf_trapno =3D 3, tf_err =3D 0, tf_e=
ip =3D -1068019838, tf_cs =3D 8, tf_eflags =3D 12438, tf_esp =3D -337380700=
, tf_ss =3D -337380712})
    at /usr/src/sys/i386/i386/trap.c:580
#7  0xc0576268 in calltrap () at {standard input}:94
#8  0xc04a4229 in panic (fmt=3D0xc05c7214 "%s: interrupts disabled")
    at /usr/src/sys/kern/kern_shutdown.c:534
#9  0xc0582212 in pmap_invalidate_page (pmap=3D0xc061bcc0, va=3D3333619712)
    at /usr/src/sys/i386/i386/pmap.c:597
#10 0xc0583a7c in pmap_enter (pmap=3D0xc061bcc0, va=3D3333619712, m=3D0xc19=
7ebd8,
    prot=3D7 '\a', wired=3D1) at /usr/src/sys/i386/i386/pmap.c:2036
#11 0xc0547d8c in kmem_malloc (map=3D0xc0c310a0, size=3D4096, flags=3D1)
    at /usr/src/sys/vm/vm_kern.c:443
#12 0xc05550b2 in page_alloc (zone=3D0xc0c3ba80, bytes=3D4096, pflag=3D0x0,=
 wait=3D1)
    at /usr/src/sys/vm/uma_core.c:845
#13 0xc0554e5e in slab_zalloc (zone=3D0xc0c3ba80, wait=3D1)
    at /usr/src/sys/vm/uma_core.c:753
#14 0xc0555bdd in uma_zone_slab (zone=3D0xc0c3ba80, flags=3D1)
    at /usr/src/sys/vm/uma_core.c:1539
#15 0xc0555dc8 in uma_zalloc_bucket (zone=3D0xc0c3ba80, flags=3D1)
    at /usr/src/sys/vm/uma_core.c:1635
#16 0xc0555ada in uma_zalloc_arg (zone=3D0xc0c3ba80, udata=3D0x0, flags=3D1)
    at /usr/src/sys/vm/uma_core.c:1469
#17 0xc049b6c3 in malloc (size=3D3234052736, type=3D0xc05d3240, flags=3D1)
    at /usr/src/sys/vm/uma.h:234
#18 0xc0472bfe in random_harvest_internal (somecounter=3D168282886354,
    entropy=3D0xebe3fc44, count=3D8, bits=3D0, frac=3D0, origin=3DRANDOM_IN=
TERRUPT)
    at /usr/src/sys/dev/random/randomdev.c:370
#19 0xc04725f9 in random_harvest (entropy=3D0xebe3fc44, count=3D8, bits=3D2=
, frac=3D0,
    origin=3DRANDOM_INTERRUPT) at machine/cpu.h:104
#20 0xc04949aa in ithread_schedule (ithread=3D0xc25a5600, do_switch=3D1)
    at /usr/src/sys/kern/kern_intr.c:378
#21 0xc0579b5e in intr_execute_handlers (isrc=3D0xc259fdac, iframe=3D0x16)
    at /usr/src/sys/i386/i386/intr_machdep.c:206
#22 0xc057bc6a in lapic_handle_intr (frame=3D
      {if_vec =3D 64, if_fs =3D 24, if_es =3D -1067778032, if_ds =3D 16, if=
_edi =3D -964573952, if_esi =3D -1067681663, if_ebp =3D -337380124, if_ebx =
=3D 1006, if_edx =3D -964573952, if_ecx =3D -961720212, if_eax =3D 4, if_ei=
p =3D -1068906191, if_cs =3D 8, if_eflags =3D 12870, if_esp =3D -961720212,=
 if_ss =3D -961720320})
    at /usr/src/sys/i386/i386/local_apic.c:488
#23 0xc0571e63 in Xapic_isr2 () at {standard input}:37
#24 0xc0587398 in syscall (frame=3D
      {tf_fs =3D 47, tf_es =3D 47, tf_ds =3D 47, tf_edi =3D 6, tf_esi =3D 4=
00, tf_ebp =3D -1077941528, tf_isp =3D -337379980, tf_ebx =3D 140448768, tf=
_edx =3D 0, tf_ecx =3D 0, tf_eax =3D 3, tf_trapno =3D 12, tf_err =3D 2, tf_=
eip =3D -2011007837, tf_cs =3D 31, tf_eflags =3D 12950, tf_esp =3D -1077941=
572, tf_ss =3D 47})
    at /usr/src/sys/i386/i386/trap.c:1006
#25 0xc05762bd in Xint0x80_syscall () at {standard input}:136
---Can't read userspace from dump, or kernel process---

DES
--=20
Dag-Erling Sm=F8rgrav - des@des.no



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzphe12x8qv.fsf>