From mboxrd@z Thu Jan 1 00:00:00 1970 To: quanstro@coraid.com, 9fans@9fans.net Date: Wed, 15 Jul 2009 17:37:51 +0200 From: gdiaz@9grid.es Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Subject: Re: [9fans] naive acid debugging Topicbox-Message-UUID: 21865de0-ead5-11e9-9d60-3106f5b1d025 hello thank you very much Erik, I'll look at that code today night, i hope to see the light soon ☺ gabi > 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"); > } first, i want to complement you on a fine use of acid. very nice. > > 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 your assmption that each fid has a mailbox is wrong. see rattach() and sanefid(). they encode the rules. - erik