Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Dec 1996 03:54:14 +0100 (MET)
From:      Greg Lehey <grog@lemis.de>
To:        curt@tkg.com (Curt Finch)
Cc:        questions@FreeBSD.org (FreeBSD Questions)
Subject:   Re: crash traceback
Message-ID:  <199612260254.DAA26571@freebie.lemis.de>
In-Reply-To: <Pine.A32.3.91.961215102354.44402A-100000@spycam.tkg.com> from Curt Finch at "Dec 15, 96 10:27:39 am"

next in thread | previous in thread | raw e-mail | index | archive | help
Curt Finch writes:
>
>
> this is a traceback from a crash that occurs on my machine whenever i
> try to fire up X.  This happens with two completely different video
> cards (one S3 and one S3V) with no other hardware (i.e. no ethernet
> card or sound card) in the machine.

I wonder how "completely different" these two boards are.  Can you try
it with a completely different chip set (say, ATI or Cirrus)?

> anyone have a clue?
>
> freebsd2.1.5 xfree86 3.2  vga16 xserver in this case but the s3v and s3
> xservers also crash me
>
> i can make the dump and kernel available for analysis
>
>
> GDB 4.13 (i386-unknown-freebsd),
> Copyright 1994 Free Software Foundation, Inc...
> IdlePTD 207000
> current pcb at 1f9210
> panic: page fault
> #0  boot (howto=256) at ../../i386/i386/machdep.c:912
> 912					dumppcb.pcb_ptd = rcr3();
> (kgdb) #0  boot (howto=256) at ../../i386/i386/machdep.c:912
> #1  0xf0112b73 in panic (fmt=0xf01a724c "page fault")
>     at ../../kern/subr_prf.c:116
> #2  0xf01a7d82 in trap_fatal (frame=0xefbffd6c) at ../../i386/i386/trap.c:748
> #3  0xf01a78f4 in trap_pfault (frame=0xefbffd6c, usermode=0)
>     at ../../i386/i386/trap.c:670
> #4  0xf01a7563 in trap (frame={tf_es = 16, tf_ds = -257425392, tf_edi = 27,
>       tf_esi = -1073545062, tf_ebp = -272630344, tf_isp = -272630380,
>       tf_ebx = -2147483648, tf_edx = 0, tf_ecx = -266316512, tf_eax = 0,
>       tf_trapno = 12, tf_err = 0, tf_eip = 0, tf_cs = 8, tf_eflags = 78470,
>       tf_esp = -266598368, tf_ss = 0}) at ../../i386/i386/trap.c:310

This doesn't look nice.  Your crash has wiped out the EIP register
(program counter), so you don't know where it happened.

> #5  0xf019d451 in calltrap ()
> #6  0xf012fb53 in spec_open (ap=0xefbffe1c)
>     at ../../miscfs/specfs/spec_vnops.c:181

This is the function that called the function which crapped out.  The
code at line 81 is:

		VOP_UNLOCK(vp);
		error = (*cdevsw[maj].d_open)(dev, ap->a_mode, S_IFCHR, ap->a_p);
		VOP_LOCK(vp);

This looks as if you may have a corrupted cdevsw entry.  With this
dump, try:

  (kgdb) f 6			(select this stack frame)
  (kgdb) p maj			(show the major device number)
  (kgdb) p cdevsw [maj]		(show the contents of the entry)

I'd guess you'll find that cdevsw[maj].d_open is 0.  

Let me know what the results are, and we can look further.  I don't
have time to go through a full dump analysis, however.

Greg



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