From owner-freebsd-alpha@FreeBSD.ORG Fri Feb 15 17:10:57 2008 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACEAD16A41B for ; Fri, 15 Feb 2008 17:10:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id 2E13613C448 for ; Fri, 15 Feb 2008 17:10:56 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.8s) with ESMTP id 232052286-1834499 for multiple; Fri, 15 Feb 2008 11:52:45 -0500 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m1FGsTJ5000734; Fri, 15 Feb 2008 11:54:33 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-alpha@freebsd.org Date: Fri, 15 Feb 2008 11:31:40 -0500 User-Agent: KMail/1.9.7 References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200802151131.40995.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 15 Feb 2008 11:54:33 -0500 (EST) X-Virus-Scanned: ClamAV 0.91.2/5830/Fri Feb 15 08:07:34 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Christian Weisgerber Subject: Re: rpc.statd: msync() failed X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2008 17:10:57 -0000 On Friday 15 February 2008 11:08:15 am Christian Weisgerber wrote: > $ uname -srm > FreeBSD 5.5-STABLE alpha > > Whenever I boot the machine into multi-user mode, this error shows > up: > > rpc.statd: msync() failed: Invalid argument > > I've finally bothered to ktrace the rpc.statd invocation and the > problem remains mysterious. rpc.statd mmaps its status file, > daemonizes, syslogs a startup messages, reads something from a UDP > socket, msyncs the mmaped region--error! None of the documented > reasons for msync(2) to fail with EINVAL apply. > > [...] > 375 rpc.statd CALL open(0x1200032bc,0x2,0x160258b2a) > 375 rpc.statd NAMI "/var/db/statd.status" > 375 rpc.statd RET open 3 > 375 rpc.statd CALL mmap(0,0x10000000,0x3,0x1,0x3,0,0) > 375 rpc.statd RET mmap 1613389824/0x1602a6000 > 375 rpc.statd CALL lseek(0x3,0,0,0x2) > 375 rpc.statd RET lseek 256/0x100 > 375 rpc.statd CALL sigaction(0x1,0x11ffed68,0x11ffed48) > 375 rpc.statd RET sigaction 0 > 375 rpc.statd CALL fork > 375 rpc.statd RET fork 376/0x178 > 376 rpc.statd RET fork 0 > 375 rpc.statd CALL exit(0) > 376 rpc.statd CALL setsid > 376 rpc.statd RET setsid 376/0x178 > 376 rpc.statd CALL sigaction(0x1,0x11ffed48,0) > 376 rpc.statd RET sigaction 0 > 376 rpc.statd CALL chdir(0x16025b956) > 376 rpc.statd NAMI "/" > 376 rpc.statd RET chdir 0 > 376 rpc.statd CALL open(0x160256c93,0x2,0) > 376 rpc.statd NAMI "/dev/null" > 376 rpc.statd RET open 8 > 376 rpc.statd CALL dup2(0x8,0) > 376 rpc.statd RET dup2 0 > 376 rpc.statd CALL dup2(0x8,0x1) > 376 rpc.statd RET dup2 1 > 376 rpc.statd CALL dup2(0x8,0x2) > 376 rpc.statd RET dup2 2 > 376 rpc.statd CALL close(0x8) > 376 rpc.statd RET close 0 > 376 rpc.statd CALL gettimeofday(0x11ffdfd8,0) > 376 rpc.statd RET gettimeofday 0 > 376 rpc.statd CALL access(0x16025d455,0x4) > 376 rpc.statd NAMI "/etc/localtime" > 376 rpc.statd RET access 0 > 376 rpc.statd CALL open(0x16025d455,0,0x1) > 376 rpc.statd NAMI "/etc/localtime" > 376 rpc.statd RET open 8 > 376 rpc.statd CALL fstat(0x8,0x11ffb618) > 376 rpc.statd RET fstat 0 > 376 rpc.statd CALL read(0x8,0x11ffbaa8,0x249c) > 376 rpc.statd GIO fd 8 read 837 bytes > [... TZ data omitted ...] > 376 rpc.statd RET read 837/0x345 > 376 rpc.statd CALL close(0x8) > 376 rpc.statd RET close 0 > 376 rpc.statd CALL socket(0x1,0x2,0) > 376 rpc.statd RET socket 8 > 376 rpc.statd CALL fcntl(0x8,0x2,0x1) > 376 rpc.statd RET fcntl 0 > 376 rpc.statd CALL connect(0x8,0x11ffdf78,0x6a) > 376 rpc.statd NAMI "/var/run/logpriv" > 376 rpc.statd RET connect 0 > 376 rpc.statd CALL sendto(0x8,0x11ffe048,0x27,0,0,0) > 376 rpc.statd GIO fd 8 wrote 39 bytes > "<30>Feb 15 16:25:31 rpc.statd: Starting" > 376 rpc.statd RET sendto 39/0x27 > 376 rpc.statd CALL sigaction(0x14,0x11ffedb8,0) > 376 rpc.statd RET sigaction 0 > 376 rpc.statd CALL select(0x8,0x11ffec78,0,0,0x11ffed78) > 376 rpc.statd RET select 1 > 376 rpc.statd CALL recvfrom(0x4,0x120034000,0x2260,0,0x11ffe608,0x11ffe688) > 376 rpc.statd GIO fd 4 read 64 bytes > 0x0000 47ba b599 0000 0000 0000 0002 0001 86b8 |G...............| > 0x0010 0000 0001 0000 0004 0000 0000 0000 0000 |................| > 0x0020 0000 0000 0000 0000 0000 0007 4e46 5320 |............NFS | > 0x0030 4e4c 4d00 0000 0000 0000 0000 0000 0000 |NLM.............| > 376 rpc.statd RET recvfrom 64/0x40 > 376 rpc.statd CALL msync(0x1602a6000,0,0) > 376 rpc.statd RET msync -1 errno 22 Invalid argument > 376 rpc.statd CALL gettimeofday(0x11ffd868,0) > 376 rpc.statd RET gettimeofday 0 > 376 rpc.statd CALL sendto(0x8,0x11ffd8d8,0x3f,0,0,0) > 376 rpc.statd GIO fd 8 wrote 63 bytes > "<27>Feb 15 16:25:32 rpc.statd: msync() failed: Invalid argument" > 376 rpc.statd RET sendto 63/0x3f > [...] I would add some printfs to msync() to see which EINVAL case is being triggered and go from there. -- John Baldwin