Date: 05 Mar 2002 23:11:48 +0000 From: Harry Newton <harry_newton@telinco.co.uk> To: freebsd-stable@freebsd.org Subject: reproducable panic with python Message-ID: <867koq7gp7.fsf@basilisk.locus>
next in thread | raw e-mail | index | archive | help
With this:
#!/usr/local/bin/python2.2
import mmap
m = mmap.mmap(-1,256,mmap.MAP_ANON)
m = 1
I can panic the kernel:
trap 12: page fault while in kernel mode --- supervisor read, page not
present
Stopped at: vm_map_clean+0x1ee: cmpl $0,0x40(%edi)
I dug around a bit with the debugger, and found the fault to lie in:
/usr/src/sys/vm/vm_map.c : 1749
here's the right bit ( reformatted to fit on this page )
/*
* Note that there is absolutely no sense in writing out
* anonymous objects, so we track down the vnode object
* to write out.
* We invalidate (remove) all pages from the address space
* anyway, for semantic correctness.
*/
while (object->backing_object) {
object = object->backing_object;
offset += object->backing_object_offset;
if (object->size < OFF_TO_IDX( offset + size))
size = IDX_TO_OFF(object->size) - offset;
}
But: I can't be much more use, apart from noting that:
size = 4096
offset = -3621126458136592384
object = 0x0
object->backing_object --- can't access memory at 0x40
I take it that messing round with anonymous maps shouldn't panic the
kernel like this.
Q. + Should I submit a PR ?
+ can I supply anymore information ?
( It was mis-keying that caused the first panic, and I've reduced it
to the above lines of Python: I didn't set out with the above ! )
- Harry
--
Harry Newton
harry_newton at telinco.co.uk
www.gaudeamus.telinco.co.uk/html/gpg.html
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?867koq7gp7.fsf>
