Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41CC8950.90803>