Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Apr 1998 00:47:44 -0500 (EST)
From:      Chael Hall <nowhere@chaos.taylored.com>
To:        questions@FreeBSD.ORG
Cc:        Chael Hall <nowhere@chaos.taylored.com>
Subject:   2.2.6 panic: vm_page_free... (more info)
Message-ID:  <Pine.BSF.3.95.980430004433.3624A-100000@chaos.taylored.com>

next in thread | raw e-mail | index | archive | help
Well, the post-mortem analysis seems to have worked, but I don't know what
I'm looking for.  I'm not sure if now is the time to become a kernel
hacker, so here's what I turned up so far.  I'll be glad to go romping
around some more if you tell me what to type.  Alternatively, I'd be
willing to send my kernel and the core file to any unwitting--er, kind
soul who wants to debug it in their spare time.  ;-)

Here goes nothing:

Script started on Thu Apr 30 00:39:39 1998
> gdb -k /usr/src/sys/compile/CHAOS226/kernel vmcore.0
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-freebsd), 
Copyright 1996 Free Software Foundation, Inc...
IdlePTD 253000
current pcb at 22ad28
panic: vm_page_free: freeing free page
#0  0xf0113fa3 in boot ()
(kgdb) where
#0  0xf0113fa3 in boot ()
#1  0xf0114262 in panic ()
#2  0xf01c920f in vm_page_freechk_and_unqueue (m=0xf03ea904)
    at ../../vm/vm_page.c:946
#3  0xf01c929e in vm_page_free (m=0xf03ea904) at ../../vm/vm_page.c:1014
#4  0xf01c719a in vm_object_terminate (object=0xf2755000)
    at ../../vm/vm_object.c:409
#5  0xf01c6feb in vm_object_deallocate (object=0xf2755000)
    at ../../vm/vm_object.c:353
#6  0xf01c5374 in vm_map_entry_delete (map=0xf2336d00, entry=0xf21b7600)
    at ../../vm/vm_map.c:1885
#7  0xf01c54f0 in vm_map_delete (map=0xf2336d00, start=0, end=4022329344)
    at ../../vm/vm_map.c:1986
#8  0xf01c5580 in vm_map_remove (map=0xf2336d00, start=0, end=4022329344)
    at ../../vm/vm_map.c:2011
#9  0xf010db80 in exit1 ()
#10 0xf01154e6 in sigexit ()
#11 0xf01152ca in postsig ()
#12 0xf01dd5f0 in trap (frame={tf_es = -272695257, tf_ds = -272695257, 
      tf_edi = 0, tf_esi = -272638376, tf_ebp = -272719652, 
      tf_isp = -272629788, tf_ebx = -272695908, tf_edx = -272702068, 
      tf_ecx = 1, tf_eax = 4096, tf_trapno = 12, tf_err = 0, tf_eip = 0, 
      tf_cs = 31, tf_eflags = 66054, tf_esp = -272719712, tf_ss = 39})
---Type <return> to continue, or q <return> to quit---
    at ../../i386/i386/trap.c:151
(kgdb) up 2
#2  0xf01c920f in vm_page_freechk_and_unqueue (m=0xf03ea904)
    at ../../vm/vm_page.c:946
946				panic("vm_page_free: freeing free page");
(kgdb) up
#3  0xf01c929e in vm_page_free (m=0xf03ea904) at ../../vm/vm_page.c:1014
1014		if (!vm_page_freechk_and_unqueue(m)) {
(kgdb) up
#4  0xf01c719a in vm_object_terminate (object=0xf2755000)
    at ../../vm/vm_object.c:409
409			vm_page_free(p);
(kgdb) up
#5  0xf01c6feb in vm_object_deallocate (object=0xf2755000)
    at ../../vm/vm_object.c:353
353			vm_object_terminate(object);
(kgdb) up
#6  0xf01c5374 in vm_map_entry_delete (map=0xf2336d00, entry=0xf21b7600)
    at ../../vm/vm_map.c:1885
1885			vm_object_deallocate(entry->object.vm_object);
(kgdb) up
#7  0xf01c54f0 in vm_map_delete (map=0xf2336d00, start=0, end=4022329344)
    at ../../vm/vm_map.c:1986
1986			vm_map_entry_delete(map, entry);
(kgdb) up
#8  0xf01c5580 in vm_map_remove (map=0xf2336d00, start=0, end=4022329344)
    at ../../vm/vm_map.c:2011
2011		result = vm_map_delete(map, start, end);
(kgdb) up
#9  0xf010db80 in exit1 ()
(kgdb) up
#10 0xf01154e6 in sigexit ()
(kgdb) up
#11 0xf01152ca in postsig ()
(kgdb) up
#12 0xf01dd5f0 in trap (frame={tf_es = -272695257, tf_ds = -272695257, 
      tf_edi = 0, tf_esi = -272638376, tf_ebp = -272719652, 
      tf_isp = -272629788, tf_ebx = -272695908, tf_edx = -272702068, 
      tf_ecx = 1, tf_eax = 4096, tf_trapno = 12, tf_err = 0, tf_eip = 0, 
      tf_cs = 31, tf_eflags = 66054, tf_esp = -272719712, tf_ss = 39})
    at ../../i386/i386/trap.c:151
151			postsig(sig);
(kgdb) list
146		u_quad_t oticks;
147	{
148		int sig, s;
149	
150		while ((sig = CURSIG(p)) != 0)
151			postsig(sig);
152		p->p_priority = p->p_usrpri;
153		if (want_resched) {
154			/*
155			 * Since we are curproc, clock will normally just change
(kgdb) up
Initial frame selected; you cannot go up.
(kgdb) quit
> exit
exit

Script done on Thu Apr 30 00:43:07 1998

Thanks again...  I really appreciate any help you can provide.

Once again, I'm not on the questions list, so please make sure that all
replies get to me.

Thanks,

Chael

--
Chael Hall, nowhere@chaos.taylored.com

Gossamer USA - http://gossamer.x-philes.com/


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" 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.3.95.980430004433.3624A-100000>