[binutils-gdb] Add test case for a known hang in infrun

sergiodj+buildbot@sergiodj.net sergiodj+buildbot@sergiodj.net
Fri Apr 20 03:25:00 GMT 2018


*** TEST RESULTS FOR COMMIT d27d16bfdc3f275b379793214db9bd9467b6f0f8 ***

Author: Richard Bunt <richard.bunt@arm.com>
Branch: master
Commit: d27d16bfdc3f275b379793214db9bd9467b6f0f8

Add test case for a known hang in infrun

The hang occurs when GDB tries to call inferior functions on two
different threads with scheduler-locking turned on. The first call works
fine, with the call to infrun_async(1) causing the signal_handler to be
marked and the event to be handled, but then the event loop resets the
"ready" member to zero, while leaving infrun_is_async set to 1. As a
result, GDB hangs if the user switches to another thread and calls a
second function because calling infrun_async(1) a second time has no
effect, meaning the inferior call events are never handled.

The added test case provokes the above issue.

gdb/testsuite/ChangeLog:

	* gdb.threads/multiple-successive-infcall.c: New test.
	* gdb.threads/multiple-successive-infcall.exp: New file.



More information about the Gdb-testers mailing list