dejagnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Curious "buffer_full" line within host_execute


From: David Malcolm
Subject: Re: Curious "buffer_full" line within host_execute
Date: Fri, 10 Oct 2014 17:51:57 -0400

On Fri, 2014-10-10 at 12:26 -0400, David Malcolm wrote:
> On Fri, 2014-10-10 at 08:03 -0400, David Malcolm wrote:
> > [replying on the mailing list, with Ben's permission to quote his
> > initial off-list msg]
> > 
> > On Fri, 2014-10-10 at 10:34 +1100, Ben Elliston wrote:
> > > Hi David,
> > > 
> > > You're right that it looks like it should be full_buffer, not
> > > buffer_full.  What happens if you fix that?
> > 
> > Hacking in a "-d" into runtest's invocation of expect, I see this in the
> > log (the 1st time through):
> > 
> >   expect: does "" (spawn_id exp0) match glob pattern "buffer_full"? no
> > 
> > i.e. it does indeed treat "buffer_full" as a glob pattern, rather than a
> > keyword.
> > 
> > Fixing the spelling to "full_buffer" doesn't fix the issue (log with -d
> > attached)
> > 
> > However, moving the "expect_before" line to *after* the "spawn"
> > invocation does: is the "expect_before" line too early?
> > 
> > My current belief here is that it's picking up the wrong spawn:
> > "spawn_id exp0" doesn't seem to be the right thing for it to be
> > listening on (am I right in thinking that's the "default" stdin/stout,
> > rather than the not-yet-spawned program?)
> > 
> > Have been attempting to come up with a more minimal reproducer, but
> > failing so far - some kind of heisenbug timing needed to expose this
> > issue, perhaps?  Though I reliably hit it with my current setup, with:
> >   make check-gcc check-jit -j2
> > 
> > [my copy of "Exploring Expect" is due for delivery at some point today,
> > so may have more conceptual grounding in this in a day
> > or so].
> 
> I haven't been able to come up with a more minimal reproducer, but for
> reference, here's the patch I'm applying locally that fixes the problem.
> 
>       * lib/dejagnu.exp (host_execute): Move the expect_before to
>       directly after the "spawn", and use "full_buffer", which is an
>       expect keyword rather than "buffer_full", which isn't.

Sorry about this; it turns out *not* to fix my problem; when I remove
all my debug prints, I start getting buffer_full errors. Will try to
debug further.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]