From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@9fans.net Date: Wed, 15 Jul 2009 17:26:31 +0200 From: gdiaz@9grid.es Message-ID: <73875a2249f78ec9cd60d0ef39b5f9e6@9grid.es> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] naive acid debugging Topicbox-Message-UUID: 216da494-ead5-11e9-9d60-3106f5b1d025 Hello While understanding how refs work inside nupas, i decided to try to implement the same function nupas has to find mailbox references in acid langauge, so i did: defn findmboxrefs(mb,fids) { local f, refs; f=fids; while f!=0 do { print("f=", f\X,"\n"); if f->mb==mb then refs++; print("f->mb=", f->mb\X," =? mb=",mb\X,"\n"); f=f->next; } print("refs ==", refs,"\n"); } using a Broken nupas (broked by an assert call), i got this: acid: findmboxrefs(*checkmboxrefs:mb,fids); f=0x0003a090 f->mb=0x00000000 =? mb=0x0004a468 f=0x0004bf68 f->mb=0x8d1c2444 =? mb=0x0004a468 f=0x89ffffe4 :75: (error) indir: can't read address 0x89ffffe4: bad arg in system call is that related to something wrongly done in the acid function? that means that there is an f which is pointing to an incorrect place? or means that as the process is broken, acid cannot read some parts of it? i forgot another possible issue, the broken process is owned by another user, i just chmod'ed /proc/pid/*. . . . thanks gabi