* threads + gds + with-input-from-string == fail
@ 2008-02-21 12:14 Andy Wingo
2008-02-22 1:33 ` Neil Jerram
0 siblings, 1 reply; 3+ messages in thread
From: Andy Wingo @ 2008-02-21 12:14 UTC (permalink / raw)
To: guile-devel; +Cc: Neil Jerram
Hello,
It took me a while to isolate, but GDS has a problem when evaluating
code that changes the current input port. For example, evaluate the
following:
(with-input-from-string "(+ 2 3)" read)
If you are running with a "utility guile", this should work. However, if
you start up another guile running GDS in a thread:
$ guile
guile> (use-modules (ice-9 threads) (ice-9 gds-client))
guile> (make-thread run-utility)
Then reassociate that buffer with the new process, and try evaluating
the above form. For me, GDS goes into the "running" state and never
comes back. To fix you have to kill the guile, kill the debug server,
and disassociate buffers.
Any idea why this is the case? It would be great to fix it.
Andy
--
http://wingolog.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: threads + gds + with-input-from-string == fail
2008-02-21 12:14 threads + gds + with-input-from-string == fail Andy Wingo
@ 2008-02-22 1:33 ` Neil Jerram
2008-02-22 1:55 ` Neil Jerram
0 siblings, 1 reply; 3+ messages in thread
From: Neil Jerram @ 2008-02-22 1:33 UTC (permalink / raw)
To: Andy Wingo; +Cc: guile-devel
Andy Wingo <wingo@pobox.com> writes:
> Hello,
Hi Andy,
> It took me a while to isolate, but GDS has a problem when evaluating
> code that changes the current input port. For example, evaluate the
> following:
>
> (with-input-from-string "(+ 2 3)" read)
>
> If you are running with a "utility guile", this should work. However, if
> you start up another guile running GDS in a thread:
>
> $ guile
> guile> (use-modules (ice-9 threads) (ice-9 gds-client))
> guile> (make-thread run-utility)
>
> Then reassociate that buffer with the new process, and try evaluating
> the above form. For me, GDS goes into the "running" state and never
> comes back. To fix you have to kill the guile, kill the debug server,
> and disassociate buffers.
>
> Any idea why this is the case? It would be great to fix it.
I'm trying to set up to reproduce this myself; but meanwhile, there
might be some clues at the end of the gds-debug buffer. Could you
repro, then cut and paste the last 30 lines (say) of that buffer?
Thanks,
Neil
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: threads + gds + with-input-from-string == fail
2008-02-22 1:33 ` Neil Jerram
@ 2008-02-22 1:55 ` Neil Jerram
0 siblings, 0 replies; 3+ messages in thread
From: Neil Jerram @ 2008-02-22 1:55 UTC (permalink / raw)
To: Andy Wingo; +Cc: guile-devel
Neil Jerram <neil@ossau.uklinux.net> writes:
> Andy Wingo <wingo@pobox.com> writes:
>
>> Then reassociate that buffer with the new process, and try evaluating
>> the above form. For me, GDS goes into the "running" state and never
>> comes back. To fix you have to kill the guile, kill the debug server,
>> and disassociate buffers.
>>
>> Any idea why this is the case? It would be great to fix it.
>
> I'm trying to set up to reproduce this myself; but meanwhile, there
> might be some clues at the end of the gds-debug buffer. Could you
> repro, then cut and paste the last 30 lines (say) of that buffer?
I can't reproduce this problem with current Guile CVS, and we have
fixed a couple of thready things recently, so you never know... What
version of Guile are you using?
Regards,
Neil
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-02-22 1:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-21 12:14 threads + gds + with-input-from-string == fail Andy Wingo
2008-02-22 1:33 ` Neil Jerram
2008-02-22 1:55 ` Neil Jerram
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).