[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FR-devel] Re: Hangups in the debugger (was: Where can I put this?)
From: |
Laurent Julliard |
Subject: |
[FR-devel] Re: Hangups in the debugger (was: Where can I put this?) |
Date: |
Wed, 11 Sep 2002 09:41:50 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826 |
address@hidden wrote:
On Tue, 10 Sep 2002 19:09:13 +0200, Laurent Julliard
<address@hidden> wrote :
I took your own Ruby install, put it on my Win2k machine and tried to
run FreeRIDE. It starts ok until I run the debugger, at which point it
freezes I guess this is when I attach the stdout to FreeRIDE via
addInput() . Oh by the way I do confirm that inputs.rb does work with
your instance of Ruby 1.7.3
OK, this is consistent with what I'm seeing too.
So now I have FreeRIDE working with Rich Kilmer's Ruby (Ruby 1.7.3 a
week ago compiled with VC++ 7) but the addInput do not display
anything in the text console and I have Lyle's version (Ruby 1.7.3
very latest from CVS compiled with ??) where addInput() works but FR
hangs!!
Welcome to the bleeding edge of software development ;)
FreeRIDE happens to be a very interesting project from this point of
view and especially the Debugger. It is a the bleeding edge of almot
all the modules I have used so far: Ruby/Win32 and the thread problem,
FXRuby addInput() and, incing on the cake, I think I have also
discovered glitches in FXscintilla on Windows. As chinese poeple say:
"May you live interesting times..." :-))
By the way Lyle you can run the FreeRIDE code if you want. it is
attached below. I am also cc'ing the FR-dev mailing list so that other
FR developers can try the same scenario and report to me. To observe
the hang do as follows:
<snip>
Thanks very, very much for giving me this roadmap of what to try. After some
debugging this afternoon I have a hunch about what's wrong; I'll try to
implement a fix tomorrow and see how it goes.
The problem (or what I believe to be the problem) is related to how Ruby
allocates the I/O object for the pipe, which in this case has both "read"
and "write" ports. (It's a significantly different situation than my simple
"inputs.rb" example, where the pipe was opened in read mode only; there's
only one "port" to keep up with.) For a pipe with both input and output, the
Ruby IO object actually stores two different file descriptors, but my trick
in FXRuby for extracting the FXInputHandle for a given IO object only
considered the first one.
The modification I'm going to try out tomorrow will consider the 2nd
argument to FXApp#addInput (i.e. the one where you tell whether you're
interested in input events vs. output events) and, if it's passed an IO
object that has both input *and* output ports, it will pick the right one.
This sounds like a very reasonable explanation especially because this
is the only difference I could noticed myself in the inputs.rb code
and the way I use addInput() in FreeRIDE.
Whether it works or not, I'll let you know the results. Hopefully I'll find
time to investigate this tomorrow (Wednesday); it shouldn't be too much work
to make the fix I'm thinking about. If it does work, I will of course
work-up a new FXRuby release for you guys ASAP.
If we can make it work you'll deserve some space in the hall of fame
of the FreeRIDE project.
Thanks again for all your help
Laurent
--
Laurent JULLIARD - Xerox R&T/SSTC/XPA - Open Source team
>> Host your Xerox Software project on CodeX: http://codex.xerox.com
>> address@hidden community: http://xww.linux.world.xerox.com
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [FR-devel] Re: Hangups in the debugger (was: Where can I put this?),
Laurent Julliard <=