Hi All, Regarding the first issue and segfaults, I think I have a fix. remote_Cleanup seems to operate with the assumption that csound->remoteGlobals is not NULL but for me it is, so I change the function to just wrap it with a check: /* Cleanup the above; called from musmon csoundCleanup */ void remote_Cleanup(CSOUND *csound) { int fd; if(csound->remoteGlobals != NULL) { if (ST(socksout) == NULL) return; /* if nothing allocated, return */ else { SOCK *sop = ST(socksout), *sop_end = sop + MAXREMOTES; for ( ; sop < sop_end; sop++) if ((fd = sop->rfd) > 0) close(fd); csound->Free(csound,(char *)ST(socksout)); ST(socksout) = NULL; } if (ST(socksin) != NULL) { int *sop = ST(socksin), *sop_end = sop + MAXREMOTES; for ( ; sop < sop_end; sop++) if ((fd = *sop) > 0) close(fd); csound->Free(csound,(char *)ST(socksin)); ST(socksin) = NULL; } if (ST(insrfd_list) != NULL) { csound->Free(csound, ST(insrfd_list)); ST(insrfd_list) = NULL; } if (ST(chnrfd_list) != NULL) { csound->Free(csound, ST(chnrfd_list)); ST(chnrfd_list) = NULL; } if (ST(insrfd) != NULL) { csound->Free(csound, ST(insrfd)); ST(insrfd) = NULL; } if (ST(chnrfd) != NULL) { csound->Free(csound, ST(chnrfd)); ST(chnrfd) = NULL; } if (ST(ipadrs) != NULL) { csound->Free(csound, ST(ipadrs)); ST(ipadrs) = NULL; } ST(insrfd_count) = ST(chnrfd_count) = 0; csound->Free(csound, csound->remoteGlobals); csound->remoteGlobals = NULL; } } With this I'm no longer getting segfaults. Still having issues with the click in the second note, though I noticed that after a fresh reboot of my computer, the first time running csound it didn't seem to click but afterwards it's pretty consistent. Perhaps a global somewhere? I know you all seem to be doing a lot of work on remote.c at the moment so don't want to step on anyone's toes and won't check in the above change as I don't know this code and if this is the most appropriate fix (i.e. maybe remoteGlobals is supposed to be not-null when it gets to the cleanup function, I don't know). Thanks! steven On 10/14/06, Steven Yi wrote: > Hi All, > > I'm using the the latest from CVS and I'm getting a segfault at the > end of every run; from gdb the segfault is coming from remote_cleanup > but I'm currently not compiled for debug so don't know where yet. > > Another issue I'm having is in a piece I'm working on, I'm > consistently getting a buffer underrun when a certain note comes in. > I'm pretty positive it's not a CPU issue as I've used this instrument > in much denser situations as well as with multiple instances of this > instrument. It happen only once and it's right at the init of the > note. I don't know if it's related to all the changes in musmon.c, > but I am so far getting the feeling that it is an actual bug. > (Unfortunately don't have compiled binaries from before the latest CVS > around right now). > > I've attached a CSD file; if someone can test and verify that the > second note coming in is giving a bad pause, I'd really appreciate it. > > Thanks! > steven > > > ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net