Date: Wed, 6 Mar 2002 22:09:59 +0000 From: David Malone <dwmalone@maths.tcd.ie> To: Harry Newton <harry_newton@telinco.co.uk> Cc: freebsd-stable@freebsd.org, dillon@freebsd.org Subject: Re: reproducable panic with python Message-ID: <20020306220959.GA47881@walton.maths.tcd.ie> In-Reply-To: <867koq7gp7.fsf@basilisk.locus> References: <867koq7gp7.fsf@basilisk.locus>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 05, 2002 at 11:11:48PM +0000, Harry Newton wrote:
> #!/usr/local/bin/python2.2
>
> import mmap
> m = mmap.mmap(-1,256,mmap.MAP_ANON)
> m = 1
I've made a little progress on this. It doesn't work with python2.0.
It does work on both -stable and -current. The trace back on -current
looks is included below. It's doing a msync when it doesdies.
The msync args look like:
(kgdb) print *(struct msync_args *)0xd10e1d20
$1 = {addr_l_ = <optimized out or zero length>, addr = 0x281e1000,
addr_r_ = 0xd10e1d24 "", len_l_ = 0xd10e1d24 "", len = 256,
len_r_ = 0xd10e1d28 "", flags_l_ = 0xd10e1d28 "", flags = 0,
flags_r_ = 0xd10e1d2c ""}
but code which just does mmap, write, msync doesn't cause the panic.
char *m;
m = mmap((void *)0,256,PROT_READ|PROT_WRITE,MAP_ANON,-1,0);
*m = 1;
msync(m, 256, 0);
I guess this is probably one for Matt.
David.
#10 0xc028e7d7 in trap (frame={tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = 0,
tf_esi = 0, tf_ebp = -787604296, tf_isp = -787604372, tf_ebx = 0,
tf_edx = -795552496, tf_ecx = -795552496, tf_eax = -795552496,
tf_trapno = 12, tf_err = 0, tf_eip = -1071245990, tf_cs = 8,
tf_eflags = 66118, tf_esp = 4096, tf_ss = 673058816})
at ../../../i386/i386/trap.c:431
#11 0xc026155a in vm_map_clean (map=0xd08fcfc0, start=673058816,
end=673062912, syncio=1, invalidate=0) at ../../../vm/vm_map.c:1890
#12 0xc0263654 in msync (td=0xd10d2a00, uap=0xd10e1d20)
at ../../../vm/vm_mmap.c:553
#13 0xc028f237 in syscall (frame={tf_fs = 47, tf_es = 47, tf_ds = 47,
tf_edi = 256, tf_esi = 0, tf_ebp = -1077938440, tf_isp = -787604108,
tf_ebx = 672132592, tf_edx = 135172096, tf_ecx = 135300544, tf_eax = 65,
tf_trapno = 12, tf_err = 2, tf_eip = 672555827, tf_cs = 31,
tf_eflags = 643, tf_esp = -1077938484, tf_ss = 47})
at ../../../i386/i386/trap.c:1045
#14 0xc028348d in syscall_with_err_pushed ()
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?20020306220959.GA47881>
