diff --git a/.project b/.project index a8496969..8fb722c3 100644 --- a/.project +++ b/.project @@ -11,7 +11,7 @@ org.eclipse.cdt.make.core.build.arguments - -f makefile_linux + -f makefile_slinux org.eclipse.cdt.core.errorOutputParser @@ -26,7 +26,7 @@ all - org.eclipse.cdt.make.core.buildLocation + org.eclipse.cdt.make.core.environment @@ -34,17 +34,17 @@ false - org.eclipse.cdt.make.core.environment + org.eclipse.cdt.make.core.buildLocation - - org.eclipse.cdt.make.core.enableFullBuild - true - org.eclipse.cdt.make.core.build.target.inc all + + org.eclipse.cdt.make.core.enableFullBuild + true + org.eclipse.cdt.make.core.enabledIncrementalBuild true @@ -53,14 +53,14 @@ org.eclipse.cdt.make.core.build.location - - org.eclipse.cdt.make.core.build.command - make - org.eclipse.cdt.make.core.build.target.clean clean + + org.eclipse.cdt.make.core.build.command + make + org.eclipse.cdt.make.core.enableCleanBuild true diff --git a/SCinter.h b/SCinter.h index 9bb8c3ff..3c60dea8 100644 --- a/SCinter.h +++ b/SCinter.h @@ -134,7 +134,11 @@ typedef struct __SINTER */ char *FindAlias(SicsInterp *pSics, void *pData); - +/*---------------------------------------------------------------------- + FindAliases locates alle aliases related to a gibe name. The result + is returned as a komma separated list. + */ + char *FindAliases(SicsInterp *pSics, char *name); /*------------------------------------------------------------------------- FindCommandData finds a command with the name given. It tests the name in the ObjectDescriptor to be of name class. If all this succeeds a pointer diff --git a/fitcenter.c b/fitcenter.c index c39bfff0..d042bd0a 100644 --- a/fitcenter.c +++ b/fitcenter.c @@ -101,21 +101,6 @@ GetScanVar(self->pScan,0,self->fAxis,self->iNP); GetScanVarName(self->pScan,0,self->pName,131); - /* correct fAxis for softzero points and sign - when the scan variable is a motor - */ - if(!isScanVarSoft(self->pScan)) - { - pMot = FindMotor(pServ->pSics,self->pName); - if(pMot) - { - for(i = 0; i < self->iNP; i++) - { - self->fAxis[i] = MotorHardToSoftPosition(pMot,self->fAxis[i]); - } - } - } - return 1; } /*-------------------------------------------------------------------------*/ diff --git a/maximize.c b/maximize.c index 0afafcc3..a8b8affa 100644 --- a/maximize.c +++ b/maximize.c @@ -145,14 +145,7 @@ pDriv = GetDrivableInterface(pVar); assert(pDriv != NULL); - if(strcmp(pDum->pDescriptor->name,"Motor") == 0) - { - MotorGetSoftPosition((pMotor)pVar,pCon,&value); - } - else - { - value = pDriv->GetValue(pVar,pCon); - } + value = pDriv->GetValue(pVar,pCon); return value; } /*-----------------------------------------------------------------------*/ diff --git a/motor.c b/motor.c index 5f20f8f5..8945b3e8 100644 --- a/motor.c +++ b/motor.c @@ -135,7 +135,7 @@ float fVal = 0.; assert(pData); - iRet = MotorGetHardPosition((pMotor)pData,pCon,&fVal); + iRet = MotorGetSoftPosition((pMotor)pData,pCon,&fVal); if(iRet != OKOK) { fVal = -9999999.99; diff --git a/nserver.c b/nserver.c index f5114fe8..7924a07b 100644 --- a/nserver.c +++ b/nserver.c @@ -132,6 +132,7 @@ } return 0; } + self->dummyCon = SCCreateDummyConnection(self->pSics); /* check for option RedirectFile and redirect stout/sterr to it @@ -257,30 +258,6 @@ EnvMonSignal, NULL, self->pMonitor,1); - - - /* initialize the last saved status of the system */ - strcpy(pBueffel,"Restore "); - pText = IFindOption(pSICSOptions,"statusfile"); - if(pText) - { - strcat(pBueffel,pText); - } - else - { - strcat(pBueffel,DEFAULTSTATUSFILE); - IFAddOption(pSICSOptions,"statusfile", - DEFAULTSTATUSFILE); - } - self->dummyCon = pCon = SCCreateDummyConnection(self->pSics); - if(pCon) - { - InterpExecute(self->pSics,pCon,pBueffel); - } - else - { - printf("ERROR: Cannot allocate dummy connection, status NOT loaded"); - } /* install performance monitor */ pMon = CreatePerfMon(20); diff --git a/nxdict.c b/nxdict.c index 7453988d..e1d5639c 100644 --- a/nxdict.c +++ b/nxdict.c @@ -1349,19 +1349,8 @@ iRet = NXDIUnwind(hfil,pParse.iDepth); return NX_ERROR; } - - /* try rewinding the hierarchy */ - if(pParse.iTerminal == TERMSDS) - { - iStat = NXDIUnwind(hfil,pParse.iDepth); - if(iStat != NX_OK) - { - return NX_ERROR; - } - } - /* do not rewind on links */ - return iRet; + return iRet; } /*------------------------------------------------------------------------*/ NXstatus NXDopenalias(NXhandle hfil, NXdict dict, char *pAlias) diff --git a/nxscript.c b/nxscript.c index ddec8be1..5252fca7 100644 --- a/nxscript.c +++ b/nxscript.c @@ -391,11 +391,12 @@ static void putAttribute(SConnection *pCon, SicsInterp *pSics, return; } status = NXputattr(self->fileHandle,argv[3],(void *)argv[4], - strlen(argv[4])+1, type); + strlen(argv[4])+1, type); if(status != NX_OK){ sprintf(buffer,"ERROR: failed to write attribute %s", argv[3]); SCWrite(pCon,buffer,eError); } + NXopenpath(self->fileHandle,"/"); } /*----------------------------------------------------------------------*/ static void updateHMDim(NXScript *self, pHistMem mem){ @@ -594,10 +595,7 @@ static void putHistogramMemoryChunked(SConnection *pCon, SicsInterp *pSics, SCWrite(pCon,buffer,eError); return; } - - - - + /* read HM */ @@ -647,6 +645,95 @@ static void putHistogramMemoryChunked(SConnection *pCon, SicsInterp *pSics, return; } +/*----------------------------------------------------------------------*/ +static int listToArray(SicsInterp *pSics, char *list, + int intar[NX_MAXRANK]){ + int argc, status, i, val; + CONST char **argv; + Tcl_Interp *pTcl = InterpGetTcl(pSics); + + status = Tcl_SplitList(pTcl, list, &argc, &argv); + if(status != TCL_OK){ + return status; + } + + for(i = 0; i < argc; i++){ + status = Tcl_GetInt(pTcl,argv[i],&val); + if(status != TCL_OK){ + return status; + } + intar[i] = val; + } + Tcl_Free((char *)argv); + return TCL_OK; +} +/*----------------------------------------------------------------------*/ +static void putSlab(SConnection *pCon, SicsInterp *pSics, pNXScript self, + int argc, char *argv[]){ + int start[NX_MAXRANK], size[NX_MAXRANK]; + int status, written = 0; + pHistMem mem = NULL; + HistInt *histData = NULL; + pSICSData data = NULL; + + if(argc < 6){ + SCWrite(pCon,"ERROR: insufficient number of arguments to putslab", + eError); + return; + } + + status = NXDopenalias(self->fileHandle, self->dictHandle,argv[2]); + if(status != NX_OK){ + SCPrintf(pCon,eError,"ERROR: failed to open alias %s", argv[2]); + return; + } + + status = listToArray(pSics,argv[3],start); + if(status != TCL_OK){ + SCWrite(pCon,"ERROR: failed to convert start value list", eError); + return; + } + + status = listToArray(pSics,argv[4],size); + if(status != TCL_OK){ + SCWrite(pCon,"ERROR: failed to convert size value list", eError); + return; + } + + /* + * try to write HM data + */ + mem = (pHistMem)FindCommandData(pSics,argv[5],"HistMem"); + if(mem != NULL){ + histData = GetHistogramPointer(mem,pCon); + if(histData){ + status = NXputslab(self->fileHandle, histData, start, size); + if(status == NX_OK){ + written = 1; + } + } + } + + /* + * try to look for sicsdata + */ + data = (pSICSData)FindCommandData(pSics,argv[5],"SICSData"); + if(data != NULL){ + status = NXputslab(self->fileHandle,data->data,start,size); + if(status == NX_OK){ + written = 1; + } + } + /* + * drop out of hierarchy + */ + NXopenpath(self->fileHandle,"/"); + + if(written == 0){ + SCWrite(pCon,"ERROR: failed to write data, data not recognised", + eError); + } +} /*-------------------------------------------------------------------*/ static void putTimeBinning(SConnection *pCon, SicsInterp *pSics, pNXScript self, @@ -659,7 +746,7 @@ static void putTimeBinning(SConnection *pCon, SicsInterp *pSics, if(argc < 4){ SCWrite(pCon,"ERROR: insufficient number of arguments to puttimebinning", - eError); + eError); return; } @@ -1024,6 +1111,9 @@ static int handlePut(SConnection *pCon, SicsInterp *pSics, pNXScript self, }else if(strcmp(argv[1],"putattribute") == 0){ /*===============*/ putAttribute(pCon,pSics,self,argc,argv); + }else if(strcmp(argv[1],"putslab") == 0){ + /*===============*/ + putSlab(pCon,pSics,self,argc,argv); } else { SCWrite(pCon,"ERROR: put command not recognised",eError); } diff --git a/nxxml.c b/nxxml.c index bec44eef..36f84ac5 100644 --- a/nxxml.c +++ b/nxxml.c @@ -2,7 +2,7 @@ * This is the implementation file for the XML file driver * for NeXus * - * Copyright (C) 2004 Mark Koennecke + * Copyright (C) 2006 Mark Koennecke * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,7 +18,7 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * For further information, see + * For further information, see */ #include #include @@ -243,6 +243,7 @@ static mxml_node_t *searchGroupLinks(pXMLNexus xmlHandle, CONSTCHAR *name, mxml_node_t *current; mxml_node_t *test = NULL; const char *linkTarget; + const char *linkName = NULL; current = xmlHandle->stack[xmlHandle->stackPointer].current; linkNode = current; @@ -257,6 +258,17 @@ static mxml_node_t *searchGroupLinks(pXMLNexus xmlHandle, CONSTCHAR *name, } } } + /* + test for named links + */ + linkName = mxmlElementGetAttr(linkNode,"name"); + if(test != NULL && linkName != NULL){ + if(strcmp(test->value.element.name,nxclass) == 0){ + if(strcmp(linkName, name) == 0){ + return test; + } + } + } } return NULL; } @@ -374,8 +386,10 @@ NXstatus NXXmakedata (NXhandle fid, return NX_ERROR; } if(dimensions[0] < 0){ - NXIReportError(NXpData, - "NeXus XML-API does not support unlimited dimensions"); + dimensions[0] = 1; + } + if ((datatype == NX_CHAR) && (rank > 1)) { + NXIReportError(NXpData,"NeXus XML-API does not yet support multi-dimensional character arrays"); return NX_ERROR; } @@ -419,6 +433,7 @@ static mxml_node_t *searchSDSLinks(pXMLNexus xmlHandle, CONSTCHAR *name){ mxml_node_t *current; mxml_node_t *test = NULL; const char *linkTarget; + const char *linkName = NULL; current = xmlHandle->stack[xmlHandle->stackPointer].current; linkNode = current; @@ -431,6 +446,15 @@ static mxml_node_t *searchSDSLinks(pXMLNexus xmlHandle, CONSTCHAR *name){ return test; } } + /* + test for named links + */ + linkName = mxmlElementGetAttr(linkNode,"name"); + if(test != NULL && linkName != NULL){ + if(strcmp(linkName,name) == 0){ + return test; + } + } } return NULL; } @@ -670,6 +694,38 @@ static void putSlabData(pNXDS dataset, pNXDS slabData, int dim, } } } +/*---------------------------------------------------------------------- + This is in order to support unlimited dimensions along the first axis + -----------------------------------------------------------------------*/ +static int checkAndExtendDataset(mxml_node_t *node, pNXDS dataset, + int start[], int size[]){ + int dim0, byteLength; + void *oldData = NULL; + char *typestring = NULL; + + dim0 = start[0] + size[0]; + if(dim0 > dataset->dim[0]){ + byteLength = getNXDatasetByteLength(dataset); + oldData = dataset->u.ptr; + dataset->dim[0] = dim0; + dataset->u.ptr = malloc(getNXDatasetByteLength(dataset)); + if(dataset->u.ptr == NULL){ + return 0; + } + memset(dataset->u.ptr,0,getNXDatasetByteLength(dataset)); + memcpy(dataset->u.ptr,oldData,byteLength); + free(oldData); + typestring = buildTypeString(dataset->type,dataset->rank,dataset->dim); + if(typestring != NULL){ + mxmlElementSetAttr(node,TYPENAME,typestring); + free(typestring); + } else { + NXIReportError(NXpData,"Failed to allocate typestring"); + return 0; + } + } + return 1; +} /*----------------------------------------------------------------------*/ NXstatus NXXputslab (NXhandle fid, void *data, int iStart[], int iSize[]){ @@ -678,7 +734,7 @@ NXstatus NXXputslab (NXhandle fid, void *data, mxml_node_t *userData = NULL; mxml_node_t *current = NULL; pNXDS dataset, slabData; - int sourcePos[NX_MAXRANK], targetPos[NX_MAXRANK]; + int sourcePos[NX_MAXRANK], targetPos[NX_MAXRANK], status; xmlHandle = (pXMLNexus)fid; assert(xmlHandle); @@ -697,11 +753,20 @@ NXstatus NXXputslab (NXhandle fid, void *data, } dataset = (pNXDS)userData->value.custom.data; assert(dataset); + + status = checkAndExtendDataset(current,dataset,iStart,iSize); + if(status == 0){ + NXIReportError(NXpData,"Out of memory extending dataset"); + return NX_ERROR; + } + slabData = makeSlabData(dataset, data, iSize); if(slabData == NULL){ NXIReportError(NXpData,"Failed to allocate slab data"); return NX_ERROR; } + + putSlabData(dataset,slabData,0,iStart,sourcePos,targetPos); free(slabData->dim); free(slabData); @@ -882,16 +947,8 @@ NXstatus NXXputattr (NXhandle fid, CONSTCHAR *name, void *data, xmlHandle = (pXMLNexus)fid; assert(xmlHandle); - if(!isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){ - /* - global attribute - */ - current = xmlHandle->stack[0].current; - } else { - /* - dataset attribute - */ - current = xmlHandle->stack[xmlHandle->stackPointer].current; + current = xmlHandle->stack[xmlHandle->stackPointer].current; + if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){ if(strcmp(name,TYPENAME) == 0){ NXIReportError(NXpData,"type is a reserved attribute name, rejected"); return NX_ERROR; @@ -922,17 +979,7 @@ NXstatus NXXgetattr (NXhandle fid, char *name, xmlHandle = (pXMLNexus)fid; assert(xmlHandle); - if(!isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){ - /* - global attribute - */ - current = xmlHandle->stack[0].current; - } else { - /* - dataset attribute - */ - current = xmlHandle->stack[xmlHandle->stackPointer].current; - } + current = xmlHandle->stack[xmlHandle->stackPointer].current; attribute = mxmlElementGetAttr(current,name); if(!attribute){ @@ -1014,6 +1061,7 @@ NXstatus NXXgetnextentry (NXhandle fid,NXname name, const char *target = NULL, *attname = NULL; pNXDS dataset; char pBueffel[256]; + const char *linkName = NULL; xmlHandle = (pXMLNexus)fid; assert(xmlHandle); @@ -1045,6 +1093,7 @@ NXstatus NXXgetnextentry (NXhandle fid,NXname name, } if(strcmp(next->value.element.name,"NAPIlink") == 0){ target = mxmlElementGetAttr(next,"target"); + linkName = mxmlElementGetAttr(next,"name"); if(target == NULL){ NXIReportError(NXpData,"Corrupted file, NAPIlink without target"); return NX_ERROR; @@ -1078,6 +1127,12 @@ NXstatus NXXgetnextentry (NXhandle fid,NXname name, attname = mxmlElementGetAttr(next,"name"); strcpy(name,attname); } + /* + this is for named links + */ + if(linkName != NULL){ + strcpy(name,linkName); + } return NX_OK; } /*----------------------------------------------------------------------*/ @@ -1108,17 +1163,7 @@ NXstatus NXXgetnextattr (NXhandle fid, NXname pName, xmlHandle = (pXMLNexus)fid; assert(xmlHandle); - if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){ - /* - dataset attribute - */ - stackPtr = xmlHandle->stackPointer; - } else { - /* - global attribute - */ - stackPtr = 0; - } + stackPtr = xmlHandle->stackPointer; current = xmlHandle->stack[stackPtr].current; currentAtt = xmlHandle->stack[stackPtr].currentAttribute; @@ -1128,10 +1173,20 @@ NXstatus NXXgetnextattr (NXhandle fid, NXname pName, return NX_EOD; } + /* + hide group name attribute + */ + if(strcmp(current->value.element.attrs[currentAtt].name,"name") == 0 + && !isDataNode(current) ){ + xmlHandle->stack[stackPtr].currentAttribute++; + return NXXgetnextattr(fid,pName,iLength,iType); + } + /* hide type attribute */ - if(strcmp(current->value.element.attrs[currentAtt].name,TYPENAME) == 0){ + if(strcmp(current->value.element.attrs[currentAtt].name,TYPENAME) == 0 + && isDataNode(current)){ xmlHandle->stack[stackPtr].currentAttribute++; return NXXgetnextattr(fid,pName,iLength,iType); } @@ -1161,18 +1216,7 @@ extern NXstatus NXXinitattrdir(NXhandle fid){ xmlHandle = (pXMLNexus)fid; assert(xmlHandle); - if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){ - /* - dataset attribute - */ - stackPtr = xmlHandle->stackPointer; - } else { - /* - global attribute - */ - stackPtr = 0; - } - + stackPtr = xmlHandle->stackPointer; xmlHandle->stack[stackPtr].currentAttribute = 0; return NX_OK; } @@ -1218,22 +1262,17 @@ NXstatus NXXgetattrinfo (NXhandle fid, int *iN){ xmlHandle = (pXMLNexus)fid; assert(xmlHandle); - if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){ - /* - dataset attribute - */ - stackPtr = xmlHandle->stackPointer; - } else { - /* - global attribute - */ - stackPtr = 0; - } + stackPtr = xmlHandle->stackPointer; current = xmlHandle->stack[stackPtr].current; + /* - hide type attribute + hide type and group name attributes */ + if(!isDataNode(current)) { + *iN = current->value.element.num_attrs -1; + return NX_OK; + } if(mxmlElementGetAttr(current,TYPENAME) != NULL){ *iN = current->value.element.num_attrs -1; } else { @@ -1413,6 +1452,34 @@ NXstatus NXXmakelink (NXhandle fid, NXlink* sLink){ } return NX_OK; } + +/*-----------------------------------------------------------------------*/ +NXstatus NXXmakenamedlink (NXhandle fid, char *name, NXlink* sLink){ + pXMLNexus xmlHandle = NULL; + mxml_node_t *current = NULL, *linkNode = NULL; + mxml_node_t *linkedNode = NULL; + + xmlHandle = (pXMLNexus)fid; + assert(xmlHandle); + + if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){ + NXIReportError(NXpData,"No group to link to open"); + return NX_ERROR; + } + current = xmlHandle->stack[xmlHandle->stackPointer].current; + linkNode = mxmlNewElement(current,"NAPIlink"); + if(!linkNode){ + NXIReportError(NXpData,"Failed to allocate new link element"); + return NX_ERROR; + } + mxmlElementSetAttr(linkNode,"target",sLink->targetPath); + mxmlElementSetAttr(linkNode,"name",name); + linkedNode = getLinkTarget(xmlHandle,sLink->targetPath); + if(linkedNode != NULL){ + mxmlElementSetAttr(linkedNode,"target",sLink->targetPath); + } + return NX_OK; +} /*----------------------------------------------------------------------*/ NXstatus NXXsameID (NXhandle fileid, NXlink* pFirstID, NXlink* pSecondID){ diff --git a/optimise.c b/optimise.c index 89a3ad89..64afe2cb 100644 --- a/optimise.c +++ b/optimise.c @@ -308,22 +308,7 @@ { DynarGet(self->pVariables,i,&pData); pOVar = (pOVarEntry)pData; - if(FindMotor(pServ->pSics,pOVar->pName) != NULL) - { - iRet = MotorGetSoftPosition(pOVar->pData,pCon,&fVal); - if(iRet == 1) - { - pOVar->fCenter = fVal; - } - else - { - pOVar->fCenter = -1000.; - } - } - else - { - pOVar->fCenter = pOVar->pDriv->GetValue(pOVar->pData,pCon); - } + pOVar->fCenter = pOVar->pDriv->GetValue(pOVar->pData,pCon); if(pOVar->fCenter < -900.) { return SCANERROR; diff --git a/polldriv.c b/polldriv.c index 36959c26..fcd23df9 100644 --- a/polldriv.c +++ b/polldriv.c @@ -38,6 +38,7 @@ static int pollHdb(struct __POLLDRIV *self, SConnection *pCon){ if(!compareHdbValue(old,newVal)){ UpdateHipadabaPar(node,newVal,pCon); } + ReleaseHdbValue(&newVal); return 1; } else { return 0; diff --git a/polldriv.tc b/polldriv.tc index c0e88ceb..2337eda8 100644 --- a/polldriv.tc +++ b/polldriv.tc @@ -34,6 +34,7 @@ static int pollHdb(struct __POLLDRIV *self, SConnection *pCon){ if(!compareHdbValue(old,newVal)){ UpdateHipadabaPar(node,newVal,pCon); } + ReleaseHdbValue(&newVal); return 1; } else { return 0; diff --git a/scan.c b/scan.c index 359e9ba6..4ad1e37b 100644 --- a/scan.c +++ b/scan.c @@ -209,8 +209,6 @@ static void ConfigureScanDict(pStringDict dict) self->ScanDrive = ScanDrive; self->ScanCount = ScanCount; self->CollectScanData = CollectScanData; - self->posSoft = 0; - return 1; } /*-------------------------------------------------------------------------*/ @@ -1068,10 +1066,6 @@ CountEntry CollectCounterData(pScanData self) } } /*---------------------------------------------------------------------*/ -int isScanVarSoft(pScanData self){ - return self->posSoft; -} -/*-------------------------------------------------------------------------*/ int GetScanVarStep(pScanData self, int iWhich, float *fStep) { pVarEntry pVar = NULL; @@ -2101,14 +2095,6 @@ static int DumpScan(pScanData self, SConnection *pCon) SCSendOK(pCon); return 1; } - else if(strcmp(argv[2],"soft") == 0) - { - ResetScanFunctions(self); - self->CollectScanData = CollectScanDataJochen; - self->posSoft = 1; - SCSendOK(pCon); - return 1; - } else { site = getSite(); @@ -2415,20 +2401,6 @@ static int DumpScan(pScanData self, SConnection *pCon) } return AppendVarPos(pCon,self,i,(float)fStep); } - else if(strcmp(argv[1],"softpos") == 0){ - if(argc > 2) { - if(!SCMatchRights(pCon,usMugger)){ - return 0; - } - self->posSoft = atoi(argv[2]); - SCSendOK(pCon); - return 1; - } else { - sprintf(pBueffel,"%s.softpos = %d", argv[0],self->posSoft); - SCWrite(pCon,pBueffel,eValue); - return 1; - } - } /*------- savecounter */ else if(strcmp(argv[1],"savecounter") == 0) { diff --git a/scan.h b/scan.h index aeea5377..09ad15b7 100644 --- a/scan.h +++ b/scan.h @@ -39,7 +39,6 @@ char *pName, int iLength); int GetScanVarStep(pScanData self, int iWhich, float *fStep); - int isScanVarSoft(pScanData self); int GetScanMonitor(pScanData self, int iWhich, long *lData, int iDataLen); int GetScanNP(pScanData self); diff --git a/scan.i b/scan.i index 5bf55307..52dae69f 100644 --- a/scan.i +++ b/scan.i @@ -46,7 +46,6 @@ int iP); pStringDict scanFunctions; long lPos; - int posSoft; void *pCounterData; char pCounterName[512]; int iChannel; diff --git a/scan.tex b/scan.tex index ce5eecc1..373c7c68 100644 --- a/scan.tex +++ b/scan.tex @@ -222,7 +222,6 @@ $\langle$scandata {\footnotesize ?}$\rangle\equiv$ \mbox{}\verb@ int iP);@\\ \mbox{}\verb@ pStringDict scanFunctions;@\\ \mbox{}\verb@ long lPos;@\\ -\mbox{}\verb@ int posSoft;@\\ \mbox{}\verb@ void *pCounterData;@\\ \mbox{}\verb@ char pCounterName[512];@\\ \mbox{}\verb@ int iChannel;@\\ @@ -353,7 +352,6 @@ $\langle$scaninter {\footnotesize ?}$\rangle\equiv$ \mbox{}\verb@ char *pName, int iLength);@\\ \mbox{}\verb@ int GetScanVarStep(pScanData self, int iWhich, @\\ \mbox{}\verb@ float *fStep);@\\ -\mbox{}\verb@ int isScanVarSoft(pScanData self);@\\ \mbox{}\verb@ int GetScanMonitor(pScanData self, int iWhich, @\\ \mbox{}\verb@ long *lData, int iDataLen);@\\ \mbox{}\verb@ int GetScanNP(pScanData self);@\\ diff --git a/scan.w b/scan.w index 9f1f9122..960e758e 100644 --- a/scan.w +++ b/scan.w @@ -192,7 +192,6 @@ Scan variables have an interface: int iP); pStringDict scanFunctions; long lPos; - int posSoft; void *pCounterData; char pCounterName[512]; int iChannel; @@ -312,7 +311,6 @@ functions: char *pName, int iLength); int GetScanVarStep(pScanData self, int iWhich, float *fStep); - int isScanVarSoft(pScanData self); int GetScanMonitor(pScanData self, int iWhich, long *lData, int iDataLen); int GetScanNP(pScanData self); diff --git a/scontroller.c b/scontroller.c index 141a59a4..8a4b057e 100644 --- a/scontroller.c +++ b/scontroller.c @@ -23,7 +23,7 @@ #include "rs232c_def.h" #include "el734_def.h" #include "psi/hardsup/serialsinq.h" -#include "sics.h" +#include #define False 0 #define True 1 diff --git a/sics.h b/sics.h index d32d24b8..f3ddb5c1 100644 --- a/sics.h +++ b/sics.h @@ -17,7 +17,7 @@ /* the following line suppresses const declarations in tcl.h. -> makes the compiler happy M.Z. */ -/* #define NO_CONST */ +#define NO_CONST #include #include diff --git a/statemon.c b/statemon.c index eee359e6..4200c28d 100644 --- a/statemon.c +++ b/statemon.c @@ -37,7 +37,7 @@ typedef struct __STATEMON { eventCode = STEND; } else { printf("Unrecognized event text from devexec in statemon.c: %s\n", - text); + (char *)text); return 0; } if(self != NULL){ diff --git a/stdscan.c b/stdscan.c index c2deb893..621f2a64 100644 --- a/stdscan.c +++ b/stdscan.c @@ -787,16 +787,8 @@ int prepareDataFile(pScanData self){ pVar = (pVarEntry)pDings; if(pVar) { - if(jochenFlag == 1 && - strcmp(pVar->pObject->pDescriptor->name, "Motor") == 0) - { - MotorGetSoftPosition((pMotor)pVar->pObject,self->pCon,&fVal); - } - else - { - fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon); - } - AppendScanVar(pVar,fVal); + fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon); + AppendScanVar(pVar,fVal); sprintf(pItem,"%-9.9s ",ScanVarName(pVar)); strcat(pHead,pItem); sprintf(pItem,"%-9.3f ",fVal); @@ -841,11 +833,6 @@ int prepareDataFile(pScanData self){ { return CollectScanDataIntern(self,iPoint,0); } -/*--------------------------------------------------------------------------*/ - int CollectScanDataJochen(pScanData self, int iPoint) - { - return CollectScanDataIntern(self,iPoint,1); - } /*------------------------------------------------------------------------*/ int CollectSilent(pScanData self, int iPoint) { @@ -867,15 +854,7 @@ int prepareDataFile(pScanData self){ pVar = (pVarEntry)pDings; if(pVar) { - if(jochenFlag == 1 && - strcmp(pVar->pObject->pDescriptor->name, "Motor") == 0) - { - MotorGetSoftPosition((pMotor)pVar->pObject,self->pCon,&fVal); - } - else - { - fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon); - } + fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon); AppendScanVar(pVar,fVal); } } diff --git a/tasscanub.c b/tasscanub.c index 8b291b19..6be8bf4f 100644 --- a/tasscanub.c +++ b/tasscanub.c @@ -142,16 +142,7 @@ static float readDrivable(char *val, SConnection *pCon){ float fVal; /* - if motor: read motor - */ - pMot = FindMotor(pServ->pSics,val); - if(pMot != NULL){ - MotorGetSoftPosition(pMot,pCon,&fVal); - return fVal; - } - - /* - else: read general drivable + read general drivable */ pCom = FindCommand(pServ->pSics,val); if(pCom != NULL){ diff --git a/val.lis b/val.lis index e5e2de98..7f0f572f 100644 --- a/val.lis +++ b/val.lis @@ -1,215 +1,458 @@ -==16499== Memcheck, a memory error detector for x86-linux. -==16499== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al. -==16499== Using valgrind-2.2.0, a program supervision framework for x86-linux. -==16499== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al. -==16499== For more details, rerun with: -v -==16499== +==26623== Memcheck, a memory error detector. +==26623== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. +==26623== Using LibVEX rev 1575, a library for dynamic binary translation. +==26623== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. +==26623== Using valgrind-3.1.1, a dynamic binary instrumentation framework. +==26623== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. +==26623== For more details, rerun with: -v +==26623== WARNING: Cannot log(Accepted dummy connection ) -sim/topsi/morpheus.tcl:0>> ServerOption ReadTimeOut 10 -sim/topsi/morpheus.tcl:1>> ServerOption AcceptTimeOut 50 -sim/topsi/morpheus.tcl:2>> ServerOption ReadUserPasswdTimeout 500000 -sim/topsi/morpheus.tcl:3>> ServerOption LogFileBaseName $loghome/morpheus -sim/topsi/morpheus.tcl:4>> ServerOption TecsPort 9753 -sim/topsi/morpheus.tcl:5>> ServerOption ServerPort 2911 -sim/topsi/morpheus.tcl:6>> ServerOption InterruptPort 9709 -sim/topsi/morpheus.tcl:7>> ServerOption statusfile $datahome/morpheusstatus.tcl -sim/topsi/morpheus.tcl:8>> ServerOption TelnetPort 1301 -sim/topsi/morpheus.tcl:9>> ServerOption TelWord sicslogin -sim/topsi/morpheus.tcl:10>> ServerOption QuieckPort 2108 -sim/topsi/morpheus.tcl:11>> TokenInit connan -sim/topsi/morpheus.tcl:12>> ServerOption LogFileDir $loghome -sim/topsi/morpheus.tcl:13>> commandlog auto -sim/topsi/morpheus.tcl:14>> ServerOption RedirectFile $loghome/mostdout -sim/topsi/morpheus.tcl:15>> MakeDataNumber SicsDataNumber $datahome/DataNumber -sim/topsi/morpheus.tcl:16>> VarMake SicsDataPath Text Mugger -sim/topsi/morpheus.tcl:17>> SicsDataPath $datahome/ -sim/topsi/morpheus.tcl:18>> SicsDataPath lock -sim/topsi/morpheus.tcl:19>> VarMake SicsDataPrefix Text Mugger -sim/topsi/morpheus.tcl:20>> SicsDataPrefix lock -sim/topsi/morpheus.tcl:21>> VarMake SicsDataPostFix Text Mugger -sim/topsi/morpheus.tcl:22>> SicsDataPostFix .dat -sim/topsi/morpheus.tcl:23>> SicsDataPostFix lock -sim/topsi/morpheus.tcl:24>> SicsUser lnsmanager lnsSICSlns 1 -sim/topsi/morpheus.tcl:25>> SicsUser morpheususer 06lns1 2 -sim/topsi/morpheus.tcl:26>> SicsUser mu 06lns1 2 -sim/topsi/morpheus.tcl:27>> VarMake Instrument Text Internal -sim/topsi/morpheus.tcl:28>> VarMake sample Text User -sim/topsi/morpheus.tcl:29>> sample " " -sim/topsi/morpheus.tcl:30>> VarMake Title Text User -sim/topsi/morpheus.tcl:31>> Title "morpheus" -sim/topsi/morpheus.tcl:32>> VarMake User Text User -sim/topsi/morpheus.tcl:33>> User "unknown" -sim/topsi/morpheus.tcl:34>> VarMake email Text User -sim/topsi/morpheus.tcl:35>> email "unknown" -sim/topsi/morpheus.tcl:36>> VarMake adress Text User -sim/topsi/morpheus.tcl:37>> adress "unknown" -sim/topsi/morpheus.tcl:38>> VarMake fax Text User -sim/topsi/morpheus.tcl:39>> fax "unknown" -sim/topsi/morpheus.tcl:40>> VarMake phone Text User -sim/topsi/morpheus.tcl:41>> phone "unknown" -sim/topsi/morpheus.tcl:42>> VarMake BatchRoot text User -sim/topsi/morpheus.tcl:43>> VarMake lastscancommand Text User -sim/topsi/morpheus.tcl:44>> lastscancommand "unknown scan" -sim/topsi/morpheus.tcl:45>> Publish savemotorpar Mugger -sim/topsi/morpheus.tcl:46>> SicsAlias STH A3 -sim/topsi/morpheus.tcl:47>> SicsAlias STH SOM -sim/topsi/morpheus.tcl:48>> SicsAlias STH TH -sim/topsi/morpheus.tcl:49>> SicsAlias STH OM -sim/topsi/morpheus.tcl:50>> SicsAlias STT A4 -sim/topsi/morpheus.tcl:51>> SicsAlias STT S2T -sim/topsi/morpheus.tcl:52>> SicsAlias STT TTH -sim/topsi/morpheus.tcl:53>> SicsAlias STT 2T -sim/topsi/morpheus.tcl:54>> SicsAlias SCX SCH -sim/topsi/morpheus.tcl:55>> SicsAlias SCY SPH -sim/topsi/morpheus.tcl:56>> SicsAlias SCY ATX -sim/topsi/morpheus.tcl:57>> SicsAlias PO1 POL -sim/topsi/morpheus.tcl:58>> SicsAlias PO2 ANA -sim/topsi/morpheus.tcl:59>> SicsAlias MTH A1 -sim/topsi/morpheus.tcl:60>> SicsAlias MTH MOM -sim/topsi/morpheus.tcl:61>> SicsAlias MTT A2 -sim/topsi/morpheus.tcl:62>> SicsAlias MTT M2T -sim/topsi/morpheus.tcl:63>> SicsAlias MFV MCV -sim/topsi/morpheus.tcl:64>> SicsAlias SCX CHI -sim/topsi/morpheus.tcl:65>> SicsAlias SCY PHI -sim/topsi/morpheus.tcl:66>> MakeLin2Ang sttl utt -sim/topsi/morpheus.tcl:67>> sttl length 2110 -sim/topsi/morpheus.tcl:68>> SicsAlias sttl u2t -sim/topsi/morpheus.tcl:69>> MakeO2T O2T sth stt -sim/topsi/morpheus.tcl:70>> MakeO2T O2TL sth sttl -sim/topsi/morpheus.tcl:71>> MakeO2T O2U sth sttl -sim/topsi/morpheus.tcl:72>> MakeScanCommand xxxscan counter $scripthome/morpheus.hdd \ - $loghome/recover.bin -sim/topsi/morpheus.tcl:73>> MakePeakCenter xxxscan -sim/topsi/morpheus.tcl:74>> xxxscan configure soft -sim/topsi/morpheus.tcl:75>> MakeOptimise opti counter -sim/topsi/morpheus.tcl:76>> SicsAlias drive dr -sim/topsi/morpheus.tcl:77>> DefineAlias TT temperature -sim/topsi/morpheus.tcl:78>> MakeHKL stt sth sph sch -sim/topsi/morpheus.tcl:79>> MakeHKLMot hkl -sim/topsi/morpheus.tcl:80>> MakeUBCalc ubcalc hkl -sim/topsi/morpheus.tcl:81>> MakeCone cone ubcalc -sim/topsi/morpheus.tcl:82>> MakeXYTable table -sim/topsi/morpheus.tcl:83>> MakeConfigurableMotor two -sim/topsi/morpheus.tcl:84>> two drivescript twoscript +mcstas/dmc/vdmc.tcl:0>> ServerOption ReadTimeOut 10 +mcstas/dmc/vdmc.tcl:1>> ServerOption AcceptTimeOut 10 +mcstas/dmc/vdmc.tcl:2>> ServerOption ReadUserPasswdTimeout 500000 +mcstas/dmc/vdmc.tcl:3>> ServerOption LogFileBaseName "$home/vdmclog" +mcstas/dmc/vdmc.tcl:4>> ServerOption LogFileDir $home/ +mcstas/dmc/vdmc.tcl:5>> ServerOption ServerPort 2911 +mcstas/dmc/vdmc.tcl:6>> ServerOption statusfile $home/vdmcstatus.tcl +mcstas/dmc/vdmc.tcl:7>> ServerOption InterruptPort 3007 +mcstas/dmc/vdmc.tcl:8>> ServerOption TelnetPort 1301 +mcstas/dmc/vdmc.tcl:9>> ServerOption TelWord sicslogin +mcstas/dmc/vdmc.tcl:10>> SicsUser lnsmanager lnsSICSlns 1 +mcstas/dmc/vdmc.tcl:11>> SicsUser Manager Manager 1 +mcstas/dmc/vdmc.tcl:12>> SicsUser user looser 2 +mcstas/dmc/vdmc.tcl:13>> SicsUser Spy 007 1 +mcstas/dmc/vdmc.tcl:14>> ClientPut "Installing Motors" +Installing Motors +mcstas/dmc/vdmc.tcl:15>> Motor OmegaM SIM 0 120 -.1 2. +mcstas/dmc/vdmc.tcl:16>> Motor TwoThetaM SIM 30 100 -.1 1. +mcstas/dmc/vdmc.tcl:17>> Motor MonoX SIM -30 30 -.1 3.0 +mcstas/dmc/vdmc.tcl:18>> Motor MonoY SIM -30 30 -.1 3.0 +mcstas/dmc/vdmc.tcl:19>> Motor CurveM SIM 0 20 -.1 3.0 +mcstas/dmc/vdmc.tcl:20>> Motor MonoPhi SIM -30 30 -.1 3.0 +mcstas/dmc/vdmc.tcl:21>> Motor MonoChi SIM -30 30 -.1 3.0 +mcstas/dmc/vdmc.tcl:22>> Motor Table SIM -180 360 -.1 2. +mcstas/dmc/vdmc.tcl:23>> Motor TwoThetaD SIM -10 120 -.1 1. +mcstas/dmc/vdmc.tcl:24>> MakeMono Mono "PG-002" OmegaM TwoThetaM CurveM +mcstas/dmc/vdmc.tcl:25>> Mono DD 3.3537 +mcstas/dmc/vdmc.tcl:26>> Mono vk1 -0.025942 +mcstas/dmc/vdmc.tcl:27>> Mono vk2 5.351660 +mcstas/dmc/vdmc.tcl:28>> MakeWaveLength lambda Mono +mcstas/dmc/vdmc.tcl:29>> allowexec $home/dmcafter +mcstas/dmc/vdmc.tcl:30>> allowexec $home/dmc_sics05 +mcstas/dmc/vdmc.tcl:31>> ClientPut "Installing counter" +Installing counter +mcstas/dmc/vdmc.tcl:32>> MakeCounter counter mcstas +mcstas/dmc/vdmc.tcl:33>> counter SetExponent 1 +mcstas/dmc/vdmc.tcl:34>> MakeHM banana mcstas +mcstas/dmc/vdmc.tcl:35>> banana configure HistMode Normal +mcstas/dmc/vdmc.tcl:36>> banana configure OverFlowMode Ceil +mcstas/dmc/vdmc.tcl:37>> banana configure Rank 1 +mcstas/dmc/vdmc.tcl:38>> banana configure dim0 400 +mcstas/dmc/vdmc.tcl:39>> banana configure BinWidth 4 +mcstas/dmc/vdmc.tcl:40>> banana preset 100. +mcstas/dmc/vdmc.tcl:41>> banana CountMode Timer +mcstas/dmc/vdmc.tcl:42>> banana configure Counter counter +mcstas/dmc/vdmc.tcl:43>> banana configure init 0 +mcstas/dmc/vdmc.tcl:44>> banana init +mcstas/dmc/vdmc.tcl:45>> banana exponent 3 +mcstas/dmc/vdmc.tcl:46>> SicsAlias OmegaM A1 +mcstas/dmc/vdmc.tcl:47>> SicsAlias TwoThetaM A2 +mcstas/dmc/vdmc.tcl:48>> SicsAlias Table A3 +mcstas/dmc/vdmc.tcl:49>> SicsAlias TwoThetaD A4 +mcstas/dmc/vdmc.tcl:50>> SicsAlias MonoX A5 +mcstas/dmc/vdmc.tcl:51>> SicsAlias MonoY A6 +mcstas/dmc/vdmc.tcl:52>> SicsAlias MonoPhi A7 +mcstas/dmc/vdmc.tcl:53>> SicsAlias MonoChi A8 +mcstas/dmc/vdmc.tcl:54>> SicsAlias CurveM A9 +mcstas/dmc/vdmc.tcl:55>> DefineAlias TT temperature +mcstas/dmc/vdmc.tcl:56>> VarMake SicsDataPath Text Internal +mcstas/dmc/vdmc.tcl:57>> SicsDataPath "$home/" +mcstas/dmc/vdmc.tcl:58>> SicsDataPath lock +mcstas/dmc/vdmc.tcl:59>> VarMake DetStepWidth Float Internal +mcstas/dmc/vdmc.tcl:60>> DetStepWidth 0.2 +mcstas/dmc/vdmc.tcl:61>> DetStepWidth lock +mcstas/dmc/vdmc.tcl:62>> VarMake Instrument Text Internal +mcstas/dmc/vdmc.tcl:63>> Instrument "Virtual DMC driven by McStas" +mcstas/dmc/vdmc.tcl:64>> Instrument lock +mcstas/dmc/vdmc.tcl:65>> VarMake Title Text User +mcstas/dmc/vdmc.tcl:66>> VarMake User Text User +mcstas/dmc/vdmc.tcl:67>> VarMake Collimation Text User +mcstas/dmc/vdmc.tcl:68>> VarMake SampleIntern Text User +mcstas/dmc/vdmc.tcl:69>> SampleIntern Kellerit +mcstas/dmc/vdmc.tcl:70>> VarMake comment1 Text User +mcstas/dmc/vdmc.tcl:71>> VarMake comment2 Text User +mcstas/dmc/vdmc.tcl:72>> VarMake comment3 Text User +mcstas/dmc/vdmc.tcl:73>> VarMake starttime Text User +mcstas/dmc/vdmc.tcl:74>> starttime "" +mcstas/dmc/vdmc.tcl:75>> VarMake SicsDataPrefix Text Internal +mcstas/dmc/vdmc.tcl:76>> SicsDataPrefix vdmc +mcstas/dmc/vdmc.tcl:77>> MakeDataNumber SicsDataNumber $home/DataNumber +mcstas/dmc/vdmc.tcl:78>> VarMake SicsDataPostFix Text Internal +mcstas/dmc/vdmc.tcl:79>> SicsDataPostFix ".xml" +mcstas/dmc/vdmc.tcl:80>> VarMake Adress Text User +mcstas/dmc/vdmc.tcl:81>> VarMake phone Text User +mcstas/dmc/vdmc.tcl:82>> VarMake fax Text User +mcstas/dmc/vdmc.tcl:83>> VarMake email Text User +mcstas/dmc/vdmc.tcl:84>> VarMake sample_mur Float User +mcstas/dmc/vdmc.tcl:85>> VarMake lastdatafile Text User ERROR: duplicate exe manager not created -sim/topsi/morpheus.tcl:85>> fileeval $scripthome/morpheuscom.tcl -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:86>> MakeStateMon xxxscan -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:87>> hmake /morpheus spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:88>> hsetprop /morpheus type instrument -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:89>> hmake /graphics spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:90>> hsetprop /graphics type graphset -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:91>> hmake /commands spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:92>> hsetprop /commands type commandset -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:93>> hattach /morpheus title title -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:94>> hmake /morpheus/user spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:95>> hsetprop /morpheus/user type dev -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:96>> hattach /morheus/user user name -ERROR: path to attach object too not found -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:97>> hattach /morpheus/user adress address -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:98>> hattach /morpheus/user phone phone -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:99>> hattach /morpheus/user email email -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:100>> hmake /morpheus/monochromator spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:101>> hsetprop /morpheus/monochromator type part -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:102>> hattach /morpheus/monochromator lambda wavelength -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:103>> hattach /morpheus/monochromator mth theta -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:104>> hattach /morpheus/monochromator mtt two_theta -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:105>> hattach /morpheus/monochromator mtx x_translation -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:106>> hattach /morpheus/monochromator mty y_translation -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:107>> hattach /morpheus/monochromator mfv vertical_focusing -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:108>> hmakescript /morpheus/monochromator/d_value "mono dd" "mono dd" float -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:109>> hsetprop /morpheus/monochromator/d_value priv manager -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:110>> hmakescript /morpheus/monochromator/scattering_sense "mono ss" "mono ss" int -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:111>> hsetprop /morpheus/monochromator/scattering_sense priv manager -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:112>> hmake /morpheus/slit1 spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:113>> hsetprop /morpheus/slit1 type part -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:114>> hattach /morpheus/slit1 d1l left -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:115>> hattach /morpheus/slit1 d1r right -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:116>> hattach /morpheus/slit1 d1t top -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:117>> hattach /morpheus/slit1 d1b bottom -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:118>> hmake /morpheus/slit2 spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:119>> hsetprop /morpheus/slit2 type part -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:120>> hattach /morpheus/slit2 d2l left -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:121>> hattach /morpheus/slit2 d2r right -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:122>> hattach /morpheus/slit2 d2t top -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:123>> hattach /morpheus/slit2 d2b bottom -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:124>> hmake /morpheus/sample spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:125>> hsetprop /morpheus/sample type part -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:126>> hattach /morpheus/sample sample name -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:127>> hattach /morpheus/sample sth omega -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:128>> hattach /morpheus/sample stt two_theta -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:129>> hattach /morpheus/sample stx x_translation -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:130>> hattach /morpheus/sample sty y_translation -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:131>> hattach /morpheus/sample sgy y_goniometer -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:132>> hattach /morpheus/sample sgx x_goniometer -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:133>> hmake /morpheus/monitor spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:134>> hsetprop /morpheus/monitor type part -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:135>> hmakescript /morpheus/monitor/counts "counter getmonitor 1" hdbReadOnly int -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:136>> hsetprop /morpheus/monitor/counts priv internal -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:137>> hmakescript /morpheus/monitor/preset "counter getpreset" "counter setpreset" float -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:138>> hmakescript /morpheus/monitor/countmode "counter getmode" "counter setmode" text -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:139>> hmake /morpheus/counter spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:140>> hsetprop /morpheus/counter type part -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:141>> hmakescript /morpheus/counter/counts "counter getcounts" hdbReadOnly int -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:142>> hsetprop /morpheus/counter/counts priv internal -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:143>> hmake /graphics/scan_data spy none -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:144>> hsetprop /graphics/scan_data type graphdata -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:145>> hsetprop /graphics/scan_data viewer default -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:146>> hmake /graphics/scan_data/rank mugger int -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:147>> hset /graphics/scan_data/rank 1 -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:148>> hsetprop /graphics/scan_data/rank priv internal -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:149>> hmakescript /graphics/scan_data/dim "xxxscan np" hdbReadOnly intar 1 -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:150>> hsetprop /graphics/scan_data/dim priv internal -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:151>> hmakescript /graphics/scan_data/scan_variable "gethdbscanvardata 0" hdbReadOnly floatvarar 1 -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:152>> hsetprop /graphics/scan_data/scan_variable type axis -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:153>> hsetprop /graphics/scan_data/scan_variable dim 0 -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:154>> hsetprop /graphics/scan_data/scan_variable priv internal -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:155>> hmakescript /graphics/scan_data/counts "gethdbscancounts" hdbReadOnly intvarar 1 -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:156>> hsetprop /graphics/scan_data/counts type data -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:157>> hsetprop /graphics/scan_data/counts priv internal -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:158>> hcommand /commands/scan hdbscan -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:159>> hsetprop /commands/scan type command -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:160>> hsetprop /commands/scan priv user -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:161>> hmake /commands/scan/scan_variables user text -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:162>> hmake /commands/scan/scan_start user text -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:163>> hmake /commands/scan/scan_increments user text -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:164>> hmake /commands/scan/NP user int -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:165>> hmake /commands/scan/mode user text -/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:166>> hmake /commands/scan/preset user float +mcstas/dmc/vdmc.tcl:86>> commandlog auto +mcstas/dmc/vdmc.tcl:87>> commandlog intervall 5 +mcstas/dmc/vdmc.tcl:88>> hmake /dmc spy none +mcstas/dmc/vdmc.tcl:89>> hsetprop /dmc type instrument +mcstas/dmc/vdmc.tcl:90>> hmake /dmc/experiment spy none +mcstas/dmc/vdmc.tcl:91>> hattach /dmc/experiment title title +mcstas/dmc/vdmc.tcl:92>> hattach /dmc/experiment user user +mcstas/dmc/vdmc.tcl:93>> hattach /dmc/experiment starttime starttime +mcstas/dmc/vdmc.tcl:94>> hattach /dmc/experiment user user +mcstas/dmc/vdmc.tcl:95>> hattach /dmc/experiment/user adress address +mcstas/dmc/vdmc.tcl:96>> hattach /dmc/experiment/user phone phone +mcstas/dmc/vdmc.tcl:97>> hattach /dmc/experiment/user email email +mcstas/dmc/vdmc.tcl:98>> hattach /dmc/experiment comment1 comment1 +mcstas/dmc/vdmc.tcl:99>> hattach /dmc/experiment comment2 comment2 +mcstas/dmc/vdmc.tcl:100>> hattach /dmc/experiment comment3 comment3 +mcstas/dmc/vdmc.tcl:101>> hmake /dmc/sinq spy none +mcstas/dmc/vdmc.tcl:102>> hmakescript /dmc/sinq/proton_monitor "counter getmonitor 4" hdbReadOnly int +mcstas/dmc/vdmc.tcl:103>> sicspoll /dmc/sinq/proton_monitor hdb 10 +mcstas/dmc/vdmc.tcl:104>> hmake /dmc/monochromator spy none +mcstas/dmc/vdmc.tcl:105>> hattach /dmc/monochromator lambda wavelength +mcstas/dmc/vdmc.tcl:106>> hattach /dmc/monochromator OmegaM theta +mcstas/dmc/vdmc.tcl:107>> hattach /dmc/monochromator TwoThetaM two_theta +mcstas/dmc/vdmc.tcl:108>> hattach /dmc/monochromator MonoX x_translation +mcstas/dmc/vdmc.tcl:109>> hattach /dmc/monochromator MonoY y_translation +mcstas/dmc/vdmc.tcl:110>> hattach /dmc/monochromator MonoChi chi +mcstas/dmc/vdmc.tcl:111>> hattach /dmc/monochromator MonoPhi phi +mcstas/dmc/vdmc.tcl:112>> hattach /dmc/monochromator CurveM vertical_focusing +mcstas/dmc/vdmc.tcl:113>> hmakescript /dmc/monochromator/d_value "mono dd" "mono dd" float +mcstas/dmc/vdmc.tcl:114>> hsetprop /dmc/monochromator/d_value priv manager +mcstas/dmc/vdmc.tcl:115>> hmakescript /dmc/monochromator/scattering_sense "mono ss" "mono ss" int +mcstas/dmc/vdmc.tcl:116>> hsetprop /dmc/monochromator/scattering_sense priv manager +mcstas/dmc/vdmc.tcl:117>> hmake /dmc/sample spy none +mcstas/dmc/vdmc.tcl:118>> hmakescript /dmc/sample/name sample sample Text +mcstas/dmc/vdmc.tcl:119>> hattach /dmc/sample Table rotation +mcstas/dmc/vdmc.tcl:120>> hmakescript /dmc/sample/monitor "counter getmonitor 1" hdbReadOnly int +mcstas/dmc/vdmc.tcl:121>> hsetprop /dmc/sample/monitor priv internal +mcstas/dmc/vdmc.tcl:122>> hmake /dmc/detector spy none +mcstas/dmc/vdmc.tcl:123>> hattach /dmc/detector TwoThetaD two_theta +mcstas/dmc/vdmc.tcl:124>> hmakescript /dmc/detector/preset "counter getpreset" hdbReadOnly float +mcstas/dmc/vdmc.tcl:125>> hsetprop /dmc/detector/preset priv internal +mcstas/dmc/vdmc.tcl:126>> hmakescript /dmc/detector/countmode "counter getmode" hdbReadOnly text +mcstas/dmc/vdmc.tcl:127>> hsetprop /dmc/detector/countmode priv internal +mcstas/dmc/vdmc.tcl:128>> sicspoll add /dmc/detector/preset hdb 30 +mcstas/dmc/vdmc.tcl:129>> sicspoll add /dmc/detector/countmode hdb 30 +mcstas/dmc/vdmc.tcl:130>> hmake /commands spy none +mcstas/dmc/vdmc.tcl:131>> hcommand /commands/count count +mcstas/dmc/vdmc.tcl:132>> hsetprop /commands/count type command +mcstas/dmc/vdmc.tcl:133>> hmake /commands/count/mode user text +mcstas/dmc/vdmc.tcl:134>> hmake /commands/count/preset user float +mcstas/dmc/vdmc.tcl:135>> hset /commands/count/preset 5 +mcstas/dmc/vdmc.tcl:136>> hset /commands/count/mode timer +mcstas/dmc/vdmc.tcl:137>> ==26623== Invalid read of size 1 +==26623== at 0x401C434: strcmp (mac_replace_strmem.c:332) +==26623== by 0x80E756C: compareHdbValue (hipadaba.c:446) +==26623== by 0x80F26EA: pollHdb (polldriv.c:38) +==26623== by 0x80F2B96: PollTask (sicspoll.c:132) +==26623== by 0x8057B08: TaskSchedule (task.c:211) +==26623== by 0x805667C: RunServer (nserver.c:419) +==26623== by 0x8056AC5: main (SICSmain.c:59) +==26623== Address 0x4330FF0 is 0 bytes inside a block of size 8 free'd +==26623== at 0x401B14C: free (vg_replace_malloc.c:235) +==26623== by 0x80EB515: readHdbValue (sicshipadaba.c:1333) +==26623== by 0x80E95D8: SICSScriptReadCallback (sicshipadaba.c:403) +==26623== by 0x80E6B93: InvokeCallbackChain (hipadaba.c:66) +==26623== by 0x80E8466: GetHipadabaPar (hipadaba.c:943) +==26623== by 0x80F26C5: pollHdb (polldriv.c:37) +==26623== by 0x80F2B96: PollTask (sicspoll.c:132) +==26623== by 0x8057B08: TaskSchedule (task.c:211) +==26623== by 0x805667C: RunServer (nserver.c:419) +==26623== by 0x8056AC5: main (SICSmain.c:59) +==26623== +==26623== Use of uninitialised value of size 4 +==26623== at 0x80D4150: getNextMCNumber (mcreader.c:119) +==26623== by 0x80D4505: insertMonitor (mcreader.c:196) +==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so) +==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x80D5BCD: invokeScript (mccontrol.c:167) +==26623== +==26623== Conditional jump or move depends on uninitialised value(s) +==26623== at 0x80D4164: getNextMCNumber (mcreader.c:119) +==26623== by 0x80D4505: insertMonitor (mcreader.c:196) +==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so) +==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x80D5BCD: invokeScript (mccontrol.c:167) +==26623== +==26623== Conditional jump or move depends on uninitialised value(s) +==26623== at 0x412F31D: __strtod_internal (in /lib/tls/libc-2.3.2.so) +==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so) +==26623== by 0x80D451D: insertMonitor (mcreader.c:197) +==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so) +==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== +==26623== Conditional jump or move depends on uninitialised value(s) +==26623== at 0x412D64D: __strtod_internal (in /lib/tls/libc-2.3.2.so) +==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so) +==26623== by 0x80D451D: insertMonitor (mcreader.c:197) +==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so) +==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== +==26623== Conditional jump or move depends on uninitialised value(s) +==26623== at 0x412F027: __strtod_internal (in /lib/tls/libc-2.3.2.so) +==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so) +==26623== by 0x80D451D: insertMonitor (mcreader.c:197) +==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so) +==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== +==26623== Use of uninitialised value of size 4 +==26623== at 0x412F11A: __strtod_internal (in /lib/tls/libc-2.3.2.so) +==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so) +==26623== by 0x80D451D: insertMonitor (mcreader.c:197) +==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so) +==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== +==26623== Invalid free() / delete / delete[] +==26623== at 0x401B14C: free (vg_replace_malloc.c:235) +==26623== by 0x80E747D: ReleaseHdbValue (hipadaba.c:409) +==26623== by 0x80E6B0E: DeleteNodeData (hipadaba.c:49) +==26623== by 0x80E6B48: DeleteNodeData (hipadaba.c:55) +==26623== by 0x80E6B48: DeleteNodeData (hipadaba.c:55) +==26623== by 0x80E6B48: DeleteNodeData (hipadaba.c:55) +==26623== by 0x80E7A10: DeleteHipadabaNode (hipadaba.c:605) +==26623== by 0x80EE3DC: killSICSHipadaba (sicshipadaba.c:2504) +==26623== by 0x8056653: StopServer (nserver.c:404) +==26623== by 0x8056AD6: main (SICSmain.c:61) +==26623== Address 0x4291978 is 0 bytes inside a block of size 1,600 free'd +==26623== at 0x401B14C: free (vg_replace_malloc.c:235) +==26623== by 0x80D67D8: killHMData (hmdata.c:40) +==26623== by 0x807C83E: DeleteHistDriver (histdriv.c:102) +==26623== by 0x807929E: DeleteHistMemory (histmem.c:499) +==26623== by 0x8051BD7: DeleteInterp (SCinter.c:483) +==26623== by 0x8056596: StopServer (nserver.c:358) +==26623== by 0x8056AD6: main (SICSmain.c:61) +hmake /Graphics spy none +mcstas/dmc/vdmc.tcl:138>> hmake /Graphics/powder_diagram spy none +mcstas/dmc/vdmc.tcl:139>> hsetprop /Graphics/powder_diagram type graphdata +mcstas/dmc/vdmc.tcl:140>> hsetprop /Graphics/powder_diagram viewer default +mcstas/dmc/vdmc.tcl:141>> hmake /Graphics/powder_diagram/rank internal int +mcstas/dmc/vdmc.tcl:142>> hset /Graphics/powder_diagram/rank 1 +mcstas/dmc/vdmc.tcl:143>> hmake /Graphics/powder_diagram/dim internal intar 1 +mcstas/dmc/vdmc.tcl:144>> hset /Graphics/powder_diagram/dim 400 +mcstas/dmc/vdmc.tcl:145>> hmakescript /Graphics/powder_diagram/two_theta maketwotheta hdbReadOnly floatar 400 +mcstas/dmc/vdmc.tcl:146>> sicspoll add /Graphics/powder_diagram/two_theta hdb 30 +mcstas/dmc/vdmc.tcl:147>> hsetprop /Graphics/powder_diagram/two_theta type axis +mcstas/dmc/vdmc.tcl:148>> hsetprop /Graphics/powder_diagram/two_theta dim 0 +mcstas/dmc/vdmc.tcl:149>> hattach /Graphics/powder_diagram banana counts +mcstas/dmc/vdmc.tcl:150>> hsetprop /Graphics/powder_diagram/counts type data +mcstas/dmc/vdmc.tcl:151>> hsetprop /Graphics/powder_diagram/counts priv internal +mcstas/dmc/vdmc.tcl:152>> sicspoll add /Graphics/powder_diagram/counts hdb 60 OK -==16499== Invalid read of size 4 -==16499== at 0x807D1B4: CheckPointer (callback.c:73) -==16499== by 0x807D408: RegisterCallback (callback.c:163) -==16499== by 0x80F4593: StateMonAction (statemon.c:276) -==16499== by 0x8051B55: InterpExecute (SCinter.c:319) -==16499== Address 0x45C708EC is not stack'd, malloc'd or (recently) free'd -==16499== -==16499== Process terminating with default action of signal 11 (SIGSEGV): dumping core -==16499== Access not within mapped region at address 0x45C708EC -==16499== at 0x807D1B4: CheckPointer (callback.c:73) -==16499== by 0x807D408: RegisterCallback (callback.c:163) -==16499== by 0x80F4593: StateMonAction (statemon.c:276) -==16499== by 0x8051B55: InterpExecute (SCinter.c:319) - -valgrind: vg_signals.c:1660 (make_coredump): Assertion `vgPlain_lseek(core_fd, 0, 1) == phdrs[i].p_offset' failed. -==16499== at 0xB002B765: vgPlain_skin_assert_fail (in /usr/lib/valgrind/stage2) -==16499== by 0xB002B764: assert_fail (in /usr/lib/valgrind/stage2) -==16499== by 0xB002B7A2: vgPlain_core_assert_fail (in /usr/lib/valgrind/stage2) -==16499== by 0xB0031009: make_coredump (in /usr/lib/valgrind/stage2) - -sched status: - -Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0 -==16499== at 0x807D1B4: CheckPointer (callback.c:73) -==16499== by 0x807D408: RegisterCallback (callback.c:163) -==16499== by 0x80F4593: StateMonAction (statemon.c:276) -==16499== by 0x8051B55: InterpExecute (SCinter.c:319) - - -Note: see also the FAQ.txt in the source distribution. -It contains workarounds to several common problems. - -If that doesn't help, please report this bug to: valgrind.kde.org - -In the bug report, send all the above text, the valgrind -version, and what Linux distro you are using. Thanks. - +OK +HM scale = 193788348.665 +OK +==26623== +==26623== ERROR SUMMARY: 30656 errors from 8 contexts (suppressed: 29 from 2) +==26623== malloc/free: in use at exit: 127,433 bytes in 2,230 blocks. +==26623== malloc/free: 8,188,720 allocs, 8,186,491 frees, 230,654,912 bytes allocated. +==26623== For counts of detected errors, rerun with: -v +==26623== searching for pointers to 2,230 not-freed blocks. +==26623== checked 501,620 bytes. +==26623== +==26623== +==26623== 0 bytes in 1 blocks are definitely lost in loss record 1 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x80E709B: makeHdbValue (hipadaba.c:279) +==26623== by 0x80EB9CE: MakeHdbNode (sicshipadaba.c:1484) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== by 0x80516E9: InterpExecute (SCinter.c:322) +==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458) +==26623== +==26623== +==26623== 8 bytes in 1 blocks are definitely lost in loss record 2 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x80E7869: MakeHipadabaNode (hipadaba.c:545) +==26623== by 0x80F1E5A: MakeHMDataNode (sicshdbadapter.c:312) +==26623== by 0x80F2549: SICSHdbAdapter (sicshdbadapter.c:498) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== by 0x80516E9: InterpExecute (SCinter.c:322) +==26623== +==26623== +==26623== 29 (20 direct, 9 indirect) bytes in 1 blocks are definitely lost in loss record 7 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x805B773: CreateDescriptor (obdes.c:64) +==26623== by 0x80F3461: InstallSICSPoll (sicspoll.c:338) +==26623== by 0x80EE635: InstallSICSHipadaba (sicshipadaba.c:2533) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== by 0x80516E9: InterpExecute (SCinter.c:322) +==26623== +==26623== +==26623== 32 bytes in 4 blocks are definitely lost in loss record 8 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x417424F: strdup (in /lib/tls/libc-2.3.2.so) +==26623== by 0x80E7107: makeHdbValue (hipadaba.c:293) +==26623== by 0x80EBC89: MakeHdbScriptNode (sicshipadaba.c:1561) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== by 0x80516E9: InterpExecute (SCinter.c:322) +==26623== +==26623== +==26623== 387 (36 direct, 351 indirect) bytes in 3 blocks are definitely lost in loss record 11 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x8066217: ListInit (lld.c:76) +==26623== by 0x80665A9: LLDcreate (lld.c:196) +==26623== by 0x8077931: CreateStringDict (stringdict.c:68) +==26623== by 0x80584E1: AllowExec (macro.c:249) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== +==26623== +==26623== 137 (36 direct, 101 indirect) bytes in 1 blocks are definitely lost in loss record 13 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x80B0ABB: MakeExeManager (exeman.c:79) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== by 0x80516E9: InterpExecute (SCinter.c:322) +==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458) +==26623== by 0x8055CEE: InitServer (nserver.c:121) +==26623== +==26623== +==26623== 168 bytes in 16 blocks are definitely lost in loss record 14 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x807EAE5: NXwhitespaceCallback (nxio.c:548) +==26623== by 0x828F1C0: mxml_write_ws (mxml-file.c:2817) +==26623== by 0x828E9B3: mxml_write_node (mxml-file.c:2506) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828CA1F: mxmlSaveFile (mxml-file.c:371) +==26623== by 0x80C078C: NXXclose (nxxml.c:187) +==26623== by 0x80741BB: nxiclose_ (napi.c:291) +==26623== +==26623== +==26623== 213 bytes in 8 blocks are definitely lost in loss record 15 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x80E7C52: GetHipadabaPath (hipadaba.c:683) +==26623== by 0x80EBD05: MakeHdbScriptNode (sicshipadaba.c:1572) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== by 0x80516E9: InterpExecute (SCinter.c:322) +==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458) +==26623== +==26623== +==26623== 1,368 bytes in 128 blocks are definitely lost in loss record 19 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x807EB54: NXwhitespaceCallback (nxio.c:561) +==26623== by 0x828F1C0: mxml_write_ws (mxml-file.c:2817) +==26623== by 0x828E9B3: mxml_write_node (mxml-file.c:2506) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593) +==26623== by 0x828CA1F: mxmlSaveFile (mxml-file.c:371) +==26623== by 0x80C078C: NXXclose (nxxml.c:187) +==26623== by 0x80741BB: nxiclose_ (napi.c:291) +==26623== +==26623== +==26623== 3,200 bytes in 1 blocks are definitely lost in loss record 21 of 23 +==26623== at 0x401A639: malloc (vg_replace_malloc.c:149) +==26623== by 0x80E70D5: makeHdbValue (hipadaba.c:287) +==26623== by 0x80EBC89: MakeHdbScriptNode (sicshipadaba.c:1561) +==26623== by 0x8058355: SicsUnknownProc (macro.c:184) +==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so) +==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so) +==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so) +==26623== by 0x8058CCB: MacroFileEval (macro.c:535) +==26623== by 0x80516E9: InterpExecute (SCinter.c:322) +==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458) +==26623== +==26623== LEAK SUMMARY: +==26623== definitely lost: 5,081 bytes in 164 blocks. +==26623== indirectly lost: 461 bytes in 26 blocks. +==26623== possibly lost: 0 bytes in 0 blocks. +==26623== still reachable: 121,891 bytes in 2,040 blocks. +==26623== suppressed: 0 bytes in 0 blocks. +==26623== Reachable blocks (those to which a pointer was found) are not shown. +==26623== To see them, rerun with: --show-reachable=yes