From owner-freebsd-current Tue Apr 17 11:16:13 2001 Delivered-To: freebsd-current@freebsd.org Received: from freesbee.wheel.dk (freesbee.wheel.dk [193.162.159.97]) by hub.freebsd.org (Postfix) with ESMTP id 75CD137B422; Tue, 17 Apr 2001 11:16:07 -0700 (PDT) (envelope-from jesper@skriver.dk) Received: by freesbee.wheel.dk (Postfix, from userid 1001) id CFB9F5D60; Tue, 17 Apr 2001 20:16:38 +0200 (CEST) Date: Tue, 17 Apr 2001 20:16:38 +0200 From: Jesper Skriver To: John Baldwin Cc: current@FreeBSD.org Subject: Re: kernel panic in -current, ithread or newcard related ? Message-ID: <20010417201638.A23027@skriver.dk> References: <20010415172142.A27168@skriver.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from jhb@FreeBSD.org on Mon, Apr 16, 2001 at 08:10:37PM -0700 X-PGP-Fingerprint: 6B88 9CE8 66E9 E631 C9C5 5EB4 22AB F0EC F956 1C31 X-PGP-Public-Key: http://freesbee.wheel.dk/~jesper/gpgkey.pub Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message