This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA (threads testsuite): More thread tests


On Tue, Aug 13, 2002 at 06:41:25PM -0400, Fernando Nasser wrote:
> Daniel Jacobowitz wrote:
> > 
> > Here's two tests I had lying around from when I developed the gdbserver
> > threads support.  Gdbserver passes them with flying colors (if you use my
> > other patch which lets gdbserver run tests properly).  GDB shows a couple of
> > problems, unpredictably (not always repeatable).
> > 
> 
> Can you elaborate on what these problems are and on which host you've
> seen them?

They vary greatly, unfortunately.  They're all reproducible but not
necessarily repeatable; run the tests a half-dozen times and you'll
probably see them.  My system is SMP which makes things even more
timing-dependant.

>From one run just now:
FAIL: gdb.threads/print-threads.exp: Running threads (slow with kill breakpoint) (unknown output)

FAIL: gdb.threads/schedlock.exp: continue with lock does not change thread (switched to thread 4)
FAIL: gdb.threads/schedlock.exp: other thread 0 didn't run (ran)
FAIL: gdb.threads/schedlock.exp: other thread 2 didn't run (ran)
FAIL: gdb.threads/schedlock.exp: other thread 3 didn't run (ran)
FAIL: gdb.threads/schedlock.exp: other thread 4 didn't run (ran)
FAIL: gdb.threads/schedlock.exp: other thread 5 didn't run (ran)

FAIL: gdb.threads/schedlock.exp: step with lock does not change thread (switched to thread 4)
FAIL: gdb.threads/schedlock.exp: current thread stepped locked (didn't run)
FAIL: gdb.threads/schedlock.exp: other thread 4 didn't run (stepping) (ran)

The first one is:
Cannot find thread 4101: no thread to satisfy query

The second set are some problem with set scheduler-locking that causes
GDB to lose control of some threads.  I don't remember why this
happens, if I ever knew.  The third set involve stopping in the wrong
thread.


You may have seen that, about three months ago now (?) I committed a
multi-thread support package for gdbserver.  These tests were written
while I was developing it.  If you run the testsuite against gdbserver
(which requires a little fiddling with the test harness still...) all
of these tests will pass.  They sure didn't when I was working on it,
though, which is why I wrote them :)

> > OK to add these?
> > 
> 
> Michael Snyder, have you seen these?
> 
> 
> Daniel, in the meanwhile please fix your CL entries.  
> After the "New file." please briefly say what the new files are for.
> 
> Also, we need some comments in the new testfile headers saying
> what the tests are testing.  So far we have to infer from the file names
> ;-)

In my defense, the first point is against GNU ChangeLog policy - you
aren't supposed to explain the "why" of things in ChangeLogs.  I don't
really like that policy, so I'll be glad to elaborate :)  I'll take
care of the comments too.

> Are there some lines missing in your  get_current_thread  proc?
> The second part is after a return that seem orphan in there.

Extra lines, actually.  Only the part before the return is supposed to
be there, thanks for spotting that.

Thanks for the comments; I'll repost after Michael gets a chance to
comment on the tests themselves.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]