Date: Fri, 24 Dec 2004 15:25:36 -0600 From: Archie Cobbs <archie@dellroad.org> To: "James R. Van Artsalen" <james@jrv.org> Cc: freebsd-amd64@freebsd.org Subject: Re: mpd@amd64 Message-ID: <41CC8950.90803@dellroad.org> In-Reply-To: <41CBBF53.6020007@jrv.org> References: <1936407230.20041214120051@bk.ru> <41CBBF53.6020007@jrv.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] 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 [-- Attachment #2 --] 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); + } } /*home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41CC8950.90803>
