[luau] Re: thread problems

Eric Jeschke jeschke at portcullis.uhh.hawaii.edu
Mon Jan 6 18:05:01 PST 2003


| [snip]...
| isn't returning an error.  Also, if I throw in printf's for debugging
| (into thread 3), the problem seems to go away, though for some reason I
| have this idea that maybe it just starts happening less often, but that
| could be the paranoia talking.

Putting in I/O statements drastically changes the timing of the thread.
If it seems to work (or more often) with debugging statements compiled
in, it very often indicates a race condition in the code (a subtle bug
where mutual exclusion is not properly enforced for a critical section,
usually due to programming error).  What kind of constructs are you
using for synchronization?  Semaphores?

It can be very difficult to see subtle bugs like race conditions; I
suggest letting someone that is allowed to help look over the code.
To quote a oft-repeated phrase: "Many eyes make bugs shallow" (or
something to that effect!)

--E

-- 
Eric Jeschke
http://cs.uhh.hawaii.edu/~jeschke




More information about the LUAU mailing list