On Mon, Apr 16, 2001 at 08:10:37PM -0700, John Baldwin wrote:
>
> On 15-Apr-01 Jesper Skriver wrote:
> > About every other time I boot my IBM ThinkPad 600E I get this panic
> > (hand typed, as I don't have a second machine here to be able to use a
> > serial console).
> >
> > Fatal trap 12: page fault while in kernel mode
> > Fault virtual address = 0x28
>
> It's a null pointer dereference. If you've compiled a debug kernel then do
> 'gdb -k /usr/obj/usr/src/sys/TAM2/kernel.debug' and then do
> 'l *csa_readio+0x17' to find the offending line. It's usually pretty easy to
> figure out then.
I's not obvious to me, newbee in kernel debugging, how is the below
(from the trace) related ?
/Jesper
(kgdb) l *csa_readio+0x17
0xc0159cd3 is in csa_readio (machine/bus_at386.h:205).
200 }
201
202 static __inline u_int32_t
203 bus_space_read_4(bus_space_tag_t tag, bus_space_handle_t handle,
204 bus_size_t offset)
205 {
206 #if defined(_I386_BUS_PIO_H_)
207 #if defined(_I386_BUS_MEMIO_H_)
208 if (tag == I386_BUS_SPACE_IO)
209 #endif
(kgdb) l *csa_intr+0x14
0xc015a5ec is in csa_intr (/usr/src/sys/dev/sound/pci/csapcm.c:685).
680 csa_intr (void *p)
681 {
682 struct csa_info *csa = p;
683
684 if ((csa->binfo->hisr & HISR_VC0) != 0)
685 chn_intr(csa->pch.channel);
686 if ((csa->binfo->hisr & HISR_VC1) != 0)
687 chn_intr(csa->rch.channel);
688 }
689
(kgdb) l *ithread_loop+0x23f
0xc018e077 is in ithread_loop (/usr/src/sys/kern/kern_intr.c:518).
513 free(ih, M_ITHREAD);
514 mtx_unlock(&Giant);
515 goto restart;
516 }
517 ih->ih_handler(ih->ih_argument);
518 if ((ih->ih_flags & IH_MPSAFE) == 0)
519 mtx_unlock(&Giant);
520 }
521 }
522
(kgdb) l *fork_exit+0x59
0xc018d221 is in fork_exit (/usr/src/sys/kern/kern_fork.c:737).
732
733 /*
734 * Check if a kernel thread misbehaved and returned from its main
735 * function.
736 */
737 PROC_LOCK(p);
738 if (p->p_flag & P_KTHREAD) {
739 PROC_UNLOCK(p);
740 mtx_lock(&Giant);
741 printf("Kernel thread \"%s\" (pid %d) exited prematurely.\n",
(kgdb) l *fork_trampoline+0x8
No source file for address 0xc0299f6c.
/Jesper
--
Jesper Skriver, jesper(at)skriver(dot)dk - CCIE #5456
Work: Network manager @ AS3292 (Tele Danmark DataNetworks)
Private: FreeBSD committer @ AS2109 (A much smaller network ;-)
One Unix to rule them all, One Resolver to find them,
One IP to bring them all and in the zone to bind them.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message