On Tue, May 4, 2010 at 11:23 AM, Yossi Lev <yosef....@sun.com> wrote: > Hi > > I'm running a simple DTrace script that has the following clause: > > pid$target::ReportTx:entry > /arg1 != 0 && this->numEntries != 0/ > { > printf("NumEntries: %lld\n", (long long)this->numEntries); > this->entry = > (ReadAcqEntry*)copyin((uintptr_t)&(this->rAcqArr[this->numEntries-1]), > sizeof(ReadAcqEntry)); > > this->pcInt = (uintptr_t)(this->entry->pc); > this->instr = stringof(this->pcInt); > /* �...@acqtotals[this->instr] = sum(this->entry->acqNum);*/ > > this->numEntries--; > } >
What is this->rAcqArr in the code above? Did you mean this to be a thread-local variable instead of a clause-local variable? Is it possible that you're getting garbage because that array hasn't persisted from where you initialized it? Chad _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org