Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Feb 1999 11:22:31 -0500 (EST)
From:      Larry Lile <lile@stdio.com>
To:        Julian Elischer <julian@whistle.com>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: Why did this panic?
Message-ID:  <Pine.BSF.4.05.9902091114560.14147-100000@heathers.stdio.com>
In-Reply-To: <Pine.BSF.4.05.9902090801190.276-100000@s204m82.isp.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help


Arrgh, a little help with the derefernce.  I can't seem to get it
out of gdb.  What is the correct command? I seem to bee finding
all of the wrong ones :(

Larry Lile
lile@stdio.com



On Tue, 9 Feb 1999, Julian Elischer wrote:

> I think We saw this last week..
> it crashed on MCLGET..
> what is the pointer to the next free mbuf cluster?
> (not the next mbuf) (check the MCLGET macro to see what I mean)
> 
> 
> On Tue, 9 Feb 1999, Larry Lile wrote:
> 
> > 
> > I am working on improving the mtu sizes (above 1500) for the Olicom 
> > token ring driver but I just ran across this panic that I really
> > don't understand.  Any ideas? 
> > 
> > Larry Lile
> > lile@stdio.com
> > 
> > 
> > Fatal trap 12: page fault while in kernel mode
> > fault virtual address	= 0xf07eddc2
> > fault code		= supervisor write, page not present
> > instruction pointer	= 0x8:0xf02096ff
> > stack pointer	        = 0x10:0xf6829cdc
> > frame pointer	        = 0x10:0xf6829d14
> > code segment		= base 0x0, limit 0xfffff, type 0x1b
> > 			= DPL 0, pres 1, def32 1, gran 1
> > processor eflags	= interrupt enabled, resume, IOPL = 0
> > current process		= 352 (ftpd)
> > interrupt mask		= net 
> > trap number		= 12
> > panic: page fault
> > 
> > syncing disks... 7 7 done
> > 
> > dumping to dev 20419, offset 761856
> > dump 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 
> > ---
> > #0  boot (howto=256) at ../../kern/kern_shutdown.c:285
> > 285			dumppcb.pcb_cr3 = rcr3();
> > (kgdb) bt
> > #0  boot (howto=256) at ../../kern/kern_shutdown.c:285
> > #1  0xf013f55d in panic (fmt=0xf023f25b "page fault")
> >     at ../../kern/kern_shutdown.c:446
> > #2  0xf02024da in trap_fatal (frame=0xf6829ca0, eva=4034846146)
> >     at ../../i386/i386/trap.c:942
> > #3  0xf0202193 in trap_pfault (frame=0xf6829ca0, usermode=0, eva=4034846146)
> >     at ../../i386/i386/trap.c:835
> > #4  0xf0201daa in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -260740608, 
> >       tf_esi = -260740576, tf_ebp = -159212268, tf_isp = -159212344, 
> >       tf_ebx = -1073314688, tf_edx = 630210, tf_ecx = -265747636, 
> >       tf_eax = -260751360, tf_trapno = 12, tf_err = 2, tf_eip = -266299649, 
> >       tf_cs = 8, tf_eflags = 66066, tf_esp = -250238026, tf_ss = -250238028})
> >     at ../../i386/i386/trap.c:437
> > #5  0xf02096ff in DriverReceiveFrameCompleted (DriverHandle=0x1, 
> >     ByteCount=1514, FragmentCount=1, FragmentHandle=0x9, ReceiveStatus=0)
> >     at ../../i386/isa/if_oltr.c:1236
> > #6  0xf0210acc in ReturnCompletedBuffers ()
> > #7  0x631000 in ?? ()
> > #8  0xecc5b15a in ?? ()
> > Cannot access memory at address 0x104018.
> > (kgdb) up 5
> > #5  0xf02096ff in DriverReceiveFrameCompleted (DriverHandle=0x1, 
> >     ByteCount=1514, FragmentCount=1, FragmentHandle=0x9, ReceiveStatus=0)
> >     at ../../i386/isa/if_oltr.c:1236
> > 1236	                MCLGET(m0, M_DONTWAIT);
> > (kgdb) print m0
> > $1 = (struct mbuf *) 0xf0756a00
> > (kgdb) list
> > 1231	            if (m0 == NULL) {
> > 1232	                ifp->if_ierrors++;
> > 1233	                goto out;
> > 1234	            }
> > 1235	            if (ByteCount + 2 > MHLEN) {
> > 1236	                MCLGET(m0, M_DONTWAIT);
> > 1237	                mbuf_size = MCLBYTES;
> > 1238	                if ((m0->m_flags & M_EXT) == 0) {
> > 1239	                    m_freem(m0);
> > 1240	                    ifp->if_ierrors++;
> > (kgdb) print mbstat
> > $3 = {m_mbufs = 128, m_clusters = 100, m_spare = 0, m_clfree = 27, 
> >   m_drops = 0, m_wait = 0, m_drain = 0, m_mtypes = {65453, 79, 4, 
> >     0 <repeats 253 times>}, m_mcfail = 0, m_mpfail = 0, m_msize = 128, 
> >   m_mclbytes = 2048, m_minclsize = 204, m_mlen = 108, m_mhlen = 96}
> > (kgdb) print *m0
> > $4 = {m_hdr = {mh_next = 0x0, mh_nextpkt = 0x0, mh_data = 0xf0756a20 "(rc=", 
> >     mh_len = 40, mh_type = 1, mh_flags = 2}, M_dat = {MH = {MH_pkthdr = {
> >         rcvif = 0x0, len = 1492, header = 0x4000000}, MH_dat = {MH_ext = {
> >           ext_buf = 0x3d637228 <Address 0x3d637228 out of bounds>, 
> >           ext_free = 0, ext_size = 2048, ext_ref = 0}, 
> >         MH_databuf = "(rc=\000\000\000\000\000\b\000\000\000\000\000\000E\b\005Ô1º@\000@\006ï_\n\000\000\001\n\000\000\002\000\024\004\r\t\211ô¾\013ø¶\002P\020D\020Z²\000\000sap f4 ui/C len=\020@\020\000Z±Åì\000\000\203/íªª\003\000\000\000\b\000le"}}, 
> >     M_databuf = "\000\000\000\000Ô\005\000\000\000\000\000\004(rc=\000\000\000\000\000\b\000\000\000\000\000\000E\b\005Ô1º@\000@\006ï_\n\000\000\001\n\000\000\002\000\024\004\r\t\211ô¾\013ø¶\002P\020D\020Z²\000\000sap f4 ui/C len=\020@\020\000Z±Åì\000\000\203/íªª\003\000\000\000\b\000le"}}
> > (kgdb)
> > 
> > 
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-hackers" in the body of the message
> > 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9902091114560.14147-100000>