[remote testsuite] Rebuilt executables not copied

Bug #804392 reported by Ulrich Weigand
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GDB
Fix Released
Medium
Ulrich Weigand

Bug Description

In some test cases, during execution of the test several distinct build processes generate executables with the same name, overwriting older versions. (E.g. a file may be compiled as C first and as C++ later, or a file may be compiled with different compile options). When running the testsuite remotely, executables need to be copied over to the target before running the test. However, there is a cache that omits copying files that were already copied if their (1-second resolution) time stamp remains the same.

This generates a race condition in that in some tests, multiple versions of an executable are generated within the same second. If that happens, the second copy is omitted, and a wrong version of the executable is tested. This can cause spurious failures, or some tests to be missed silently.

To fix this, either the test cases need to be changed to use different executable file names, or else the caching mechanism needs to be enhanced to not solely rely on a time stamp (but e.g. a hash).

Related branches

Changed in gdb-linaro:
assignee: nobody → Ulrich Weigand (uweigand)
Revision history for this message
Ulrich Weigand (uweigand) wrote :

The consensus on the list was that test executable names should always be different in any case (to simplify manual debugging of a failing case). I've checked in the following two patches to mainline to fix this:

http://sourceware.org/ml/gdb-patches/2011-07/msg00635.html
http://sourceware.org/ml/gdb-patches/2011-07/msg00726.html

Changed in gdb-linaro:
status: New → Confirmed
importance: Undecided → Medium
Changed in gdb-linaro:
status: Confirmed → Fix Committed
milestone: none → 7.3-2011.08
Changed in gdb-linaro:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.