🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.transputer
Article #753

Debugging dereference cycles

#753
From: Ken Kahn
Date: Wed, 11 Jul 1990 21:43
19 lines
1360 bytes
Yesterday I spent over 3 hours tracking down a bug that was due to the
fact that I managed to create a variable that was bound to itself.  It
is very hard to debug such programs.  I used the raw trace package (it
produced a 1.5 MegaByte file) and lots of print statements and it still
was very hard to localize once I suspected what the problem is.

I think the Strand implementation is doing the "right" thing since any
alternative that I can imagine would slow things down.  What I
would like to see, however, is a Strand implemenation that had a
"development mode" -- a generalization of the current "resolvent" mode.
When developing code I would like the implementation of X := Y to
dereference both X and Y and check if they are the same before doing the
assignment and if they are the same signal an error.  I would like it to
also do an occur check if Y is a tuple.

Maybe people on this list can think up other things that would be useful
while debugging code.

 -ken kahn
Technical Details
Message-ID: <9007112143.AA02975@dumbo.parc.xerox.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!ucsd!ucbvax!parc.xerox.com!kahn

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!ucsd!ucbvax!parc.xerox.com!kahn
From: kahn@parc.xerox.com (Ken Kahn)
Newsgroups: comp.sys.transputer
Subject: Debugging dereference cycles
Message-ID: <9007112143.AA02975@dumbo.parc.xerox.com>
Date: 11 Jul 90 21:43:42 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 19