Further debugging led me to the conclusion that the problem is in pmap_protect(), in src/sys/i386/i386/pmap.c; and has to do with a 32-bit-truncated pt_entry_t being passed to PHYS_TO_VM_PAGE(). (pt_entry_t is 64 bits if the kernel is built with PAE.) This caused a page fault in vm_page_flag_set() which left the thread deadlocked while holding vm_page_queue_mtx and in turn led to a panic when another thread tried to acquire vm_page_queue_mtx.
Then I checked the cvs logs, and saw rev 1.524, which looks like what I was thinking about as a fix, so I'm giving it a spin on top of earlier-this-week's RELENG_5. Thus far I'll say that with that change my usual way of provoking the problem hasn't, yet. I'm going to try to get this PC put back into co-lo where it can get some production-like testing this weekend. It'd be nice to get this fix MFC'd to RELENG_5 too. -Frank McConnell _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"