Subject: Re: uvm_fault()s with heavy pkgsrc activity
To: Thomas E. Spanjaard <>
From: Rui Paulo <>
List: current-users
Date: 11/12/2005 16:02:47
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2005.11.10 21:29:10 +0100, Thomas E. Spanjaard wrote:
| When making large programs in pkgsrc, I sometimes get uvm_fault()s. This=
| happened when building Thunderbird and xine-ui(twice, first while in x11=
| and second when I tried in console to be able to catch db(1)). Here's=20
| the relevant uvm_fault() of the second instance (when building xine-lib):
| uvm_fault(0x0686fa0, 0xcd0d6000, 0, 2) -> 0xe
| kernel: supervisor trap page fault, code=3D0
| Stopped in pid 25580.1 (sh) at	netbsd:cache_lookup+0x136:	movl=20
| %edx,0(%eax)
| Backtrace:
| cache_lookup(cad6ddc8,cbcf3e74,cbcf3e88,0,1) at netbsd:cache_lookup+0x136
| ufs_lookup(cbcf3d74,cbb154d4,cbcf3d8c,c0358a6a,c05478e0) at=20
| netbsd:ufs_lookup+0xc7
| VOP_LOOKUP(cad6ddc8,cbcf3e74,cbcf3e88,1,c196beac) at netbsd:VOP_LOOKUP+0x=
| lookup(cbcf3e64,cad70800,400,cbcf3e7c,1) at netbsd:lookup+0x1fd
| namei(cbcf3e64,5,c1343b00,8,8062fac) at netbsd:namei+0xf8
| sys___stat30(cbb188c8,cbcf3f64,cbcf3f5c,0,202) at netbsd:sys___stat30+0x58
| syscall_plain() at netbsd:syscall_plain+0x7e
| --- syscall (number 387) ---
| 0xbbb9d03f:
| Then, when I enter 'sync':
| syncing disks... uvm_fault(0x0686fa0, 0xcd0d0000, 0, 1) -> 0xe
| Next try of sync finishes properly. The coredump is available on=20
| request. I have no real clue as to why this happens, but I suspect it=20
| happens as soon as UVM tries to swap pages out.

This could also be a bug in FFSv2 code, I think. Though I don't
understand where the last two chache_lookup() arguments come from...

		-- Rui Paulo

Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.4.2 (NetBSD)