[nas] Bug in server if client gone?
Peter Berg Larsen
pebl at math.ku.dk
Wed Sep 26 15:31:16 MDT 2001
Hi,
First a question: is it leagal to call AuSoundPlayFromBucket more than
once on the same bucket? I hear it as played once. I am using nas 1.4.2
on a sun ray 1.
If it is legal then nas seqfaults with this trace:
[1] WriteToClient(who = 0x6dcb0, count = 32, buf = 0xffbeee54 "^B"),line 711 in "io.c"
[2] WriteEventsToClient(pClient = 0x6dcb0, count = 1, events = 0x74dd0),line 77 in "events.c"
[3] WriteAuEventsToClient(pClient = 0x6dcb0, count = 1, events =0x74dd0), line 79 in "auevents.c"
[4] ProcessAudioEvents(), line 148 in "auevents.c"
[5] Dispatch(), line 152 in "dispatch.c"
[6] main(argc = 3, argv = 0xffbef27c), line 177 in "main.c"
where who is
*who = {
index = 1
clientAsMask = 4194304U
requestBuffer = 0x7a408 "!"
osPrivate = (nil)
swapped = 1
pSwapReplyFunc = 0x22f78 = &AuSwapBucketAttributesWrite()
errorValue = 0
sequence = 23
closeDownMode = 1
clientGone = 1
noClientException = 0
numSaved = 0
screenPrivate = ((nil), (nil), (nil))
requestVector = 0x5f2a8
req_len = 1U
big_requests = 0
}
Note the osPrivate is nil, but WriteToClient tries to:
#if !defined(AMOEBA) && !defined(_MINIX)
int
WriteToClient (who, count, buf)
ClientPtr who;
char *buf;
int count;
{
OsCommPtr oc = (OsCommPtr)who->osPrivate;
register ConnectionOutputPtr oco = oc->output;
int padBytes;
[...]
Now is the fault that osPrivat is nil or that none of the called functions
checks whether the clientGone is set?
Peter
--
E-Mail: pebl at math.ku.dk
Real name: Peter Berg Larsen
Where: Department of Computer Science, Copenhagen Uni., Denmark
More information about the Nas
mailing list