From owner-freebsd-amd64@FreeBSD.ORG Fri Dec 24 21:30:13 2004 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E90E016A4CE; Fri, 24 Dec 2004 21:30:12 +0000 (GMT) Received: from mxsf27.cluster1.charter.net (mxsf27.cluster1.charter.net [209.225.28.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3E61C43D31; Fri, 24 Dec 2004 21:30:12 +0000 (GMT) (envelope-from archie@dellroad.org) Received: from mxip13.cluster1.charter.net (mxip13a.cluster1.charter.net [209.225.28.143])iBOLUA3t014510; Fri, 24 Dec 2004 16:30:11 -0500 Received: from cable-68-113-94-164.mtv.al.charter.com (HELO InterJet.dellroad.org) (68.113.94.164) by mxip13.cluster1.charter.net with ESMTP; 24 Dec 2004 16:30:04 -0500 X-Ironport-AV: i="3.88,87,1102309200"; d="scan'208?atch'208"; a="671672043:sNHT16899320" Received: from arch20m.dellroad.org (arch20m.dellroad.org [10.2.2.20]) by InterJet.dellroad.org (8.9.1a/8.9.1) with ESMTP id PAA17269; Fri, 24 Dec 2004 15:25:38 -0600 (CST) Received: from [127.0.0.1] (localhost [127.0.0.1])iBOLPaLo016830; Fri, 24 Dec 2004 15:25:37 -0600 (CST) (envelope-from archie@dellroad.org) Message-ID: <41CC8950.90803@dellroad.org> Date: Fri, 24 Dec 2004 15:25:36 -0600 From: Archie Cobbs User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.3) Gecko/20041129 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "James R. Van Artsalen" References: <1936407230.20041214120051@bk.ru> <41CBBF53.6020007@jrv.org> In-Reply-To: <41CBBF53.6020007@jrv.org> Content-Type: multipart/mixed; boundary="------------050805020302010605020706" cc: archie@freebsd.org cc: freebsd-amd64@freebsd.org Subject: Re: mpd@amd64 X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Dec 2004 21:30:13 -0000 This is a multi-part message in MIME format. --------------050805020302010605020706 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit James R. Van Artsalen wrote: >> Hello, freebsd-amd64. >> >> does mpd work on amd64? it crashes with message like >> pid (some huge integer), (.. - as one char)@ > > I looked at this and it crashes starting up for me too. It crashes in > vprintf, within the second call to LogPrintf (), apparently while > logging ordinary startup messages. I don't see any obvious cause at > that point unfortunately. Can you try the attached patch? Someone else on the mpd-users mailing list had a similar problem and this helped. -Archie __________________________________________________________________________ Archie Cobbs * CTO, Awarix * http://www.awarix.com --------------050805020302010605020706 Content-Type: text/plain; name="mpd.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="mpd.patch" Index: log.c =================================================================== RCS file: /cvsroot/mpd/mpd/src/log.c,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -r1.4 -r1.4.2.1 --- log.c 25 Nov 2002 23:51:41 -0000 1.4 +++ log.c 7 Oct 2004 22:43:31 -0000 1.4.2.1 @@ -265,17 +265,21 @@ { va_list args; - va_start(args, fmt); LogTimeStamp(logprintf); + va_start(args, fmt); vlogprintf(fmt, args); + va_end(args); + va_start(args, fmt); vlogprintf("\n", args); /* XXX args will be ignored */ + va_end(args); if (gLogOptions & LG_CONSOLE) { + va_start(args, fmt); vfprintf(stdout, fmt, args); + va_end(args); putc('\n', stdout); fflush(stdout); } - va_end(args); } /* @@ -315,12 +319,16 @@ /* Dump it */ - va_start(ap, fmt); - if (console) + if (console) { + va_start(ap, fmt); LogDoDumpBp(printf, vprintf, FALSE, bp, fmt, ap); - if (log) + va_end(ap); + } + if (log) { + va_start(ap, fmt); LogDoDumpBp(logprintf, vlogprintf, TRUE, bp, fmt, ap); - va_end(ap); + va_end(ap); + } } /* @@ -342,11 +350,16 @@ /* Dump it */ - va_start(ap, fmt); - if (console) + if (console) { + va_start(ap, fmt); LogDoDumpBuf(printf, vprintf, FALSE, buf, count, fmt, ap); - if (log) + va_end(ap); + } + if (log) { + va_start(ap, fmt); LogDoDumpBuf(logprintf, vlogprintf, TRUE, buf, count, fmt, ap); + va_end(ap); + } } /* --------------050805020302010605020706--