Coda File System

Re: volutil rpc2 errors

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 16 May 2001 16:00:53 -0400
On Tue, May 15, 2001 at 07:13:02PM -0500, Ryan M. Lefever wrote:
> #6  0x40141047 in fprintf (stream=0x401e1ce0,
>     format=0x4005bed5 "[%s]%s: \"%s\", line %d:    ") at fprintf.c:32
> #7  0x40047200 in RPC2_SendResponse (ConnHandle=505527757,
> Reply=0x8165ad0)
>     at rpc2a.c:154
...
> Since I didn't write any of the Coda code, its kind of hard for me to
> debug.  Jan, does this help you any.

Yes, a lot. However I can't see how it could crash.

The crash happens in glibc's fprintf. This one is called from a debugging macro
that is used all over the place,

    say(0, RPC2_DebugLevel, "RPC2_SendResponse()\n");

where say is defined as,

#define say(when, what, how...)\
    do { \
        if (when < what){ \
	    fprintf(rpc2_logfile, "[%s]%s: \"%s\", line %d:    ", \
		    rpc2_timestring(), LWP_Name(), __FILE__, __LINE__); \
	    fprintf(rpc2_logfile, ## how); \
	    fflush(rpc2_logfile); \
        } \
    } while(0);

The crash happens during the first fprintf call, and I don't know why.
rpc2_timestring() definitely returns a valid pointer, __FILE__ and __LINE__
should be good as well, so only the parameters coming from rpc2_logfile and
LWP_Name() could be suspicious.

What compiler / libc versions are you using?

Jan
Received on 2001-05-16 16:01:10