After Art and Robert's recent messages, Steve Hunter pointed out that this may be related to a bug that was "fixed" in Icon a good while back, and reintroduced into Unicon. So, I thought I ought to confess what I know about one possible avenue to pursue.
If Steve is right, the infinite ping pong was fixed in Icon Version 8 and remains fixed in Icon. But it is present in Unicon, for a reason. Again, I have not had the time to verify that this is indeed the issue at hand, but I will continue, since the story is so good. :-) The problem is: the "fix" that was introduced in Icon is pathologically bad (i.e. it leaks memory like crazy) for long-running peer coroutines that call each other millions or billions of times without failing/returning/unwinding. This imposed a specific, severe limitation in MT Icon, where monitors monitor millions of program execution events inside other programs. Monitors worked great on short programs and ran out of memory on real-size programs. So I disabled the "bugfix" when MT Icon is enabled, which is by default in Unicon. To test whether this has direct bearing on the reported problem, someone needs to build Unicon with "#define NoMultiThread" in their define.h file and see if that "fixes" this bug. The offending code, by the way, is in the C function pushact() in runtime/rmisc.r: for classical coroutines including monitors, the "activator stack" is pushed infinitely and never popped. If this indeed relates to what Art reported, we have several options, including: (a) documenting the bug and not fixing it, (b) hacking the code so it does "activator stacks" for application code but not for monitoring, or (c) really fixing the code, so it doesn't leak memory unreasonably for longrunning coroutines any more. This is interesting stuff! I will await comment or information before taking one of these courses of action. And, I can use all the help I can get, since I am rather swamped at present. Clint [EMAIL PROTECTED] ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Unicon-group mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/unicon-group
