[ltk-user] Mysterious breakage

Daniel Herring dherring at tentpost.com
Tue Oct 5 01:27:45 UTC 2010


On Tue, 5 Oct 2010, Jonathan Johansen wrote:

> I tried using Ltk a while back (running Phil's Able editor), and immediately ran into the kind of problem you report.  I found that bringing up a msgbox as the first thing to do, and dismissing it by pressing Enter (not by clicking)
> was one way to avoid the hang.  Unfortunately that's all I can add.  I'm pretty sure there are a few more people that would be very happy to see this bug get fixed.  I hit it and just stopped trying to do GUI programming, so if it
> get's fixed, I'll be very happy, and willing to test things on my 'eerie' computer.

So the patches I sent several months ago make things work 100% on my xp 
box.  It is my belief that the problem is some oddity of how 
ms-broken-windows handles process creation and/or stream i/o.

What I saw (e.g. the ABLE window not appearing until after I terminated 
clisp) lead me to believe that ltk was writing everything to the wish 
shell before it entered the Tk event loop; thus Tk never received 
notification of pending data until the stream was closed.  Strategic 
placement of a (sleep 1) solved my problem and reinforced my belief.

That said, I did a bunch of tinkering, never breaking out proper debug 
tools.  Its possible I just moved a race condition away from my computer 
and towards others.  To diagnose this properly, someone needs to break out 
the debuggers and attach to both lisp and wish after the startup hang. 
Backtraces should show what each is doing, hopefully pointing out where 
the deadlock occurs.

These links may help.
http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx
http://www.microsoft.com/whdc/devtools/debugging/default.mspx

Later,
Daniel


More information about the ltk-user mailing list