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