MPS issue job003761

Titleairtest failure on lii3gc
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
Descriptionairtest fails on lii3gc (with any seed):

    airtest: randomize(): choosing initial state (v3): 2123839392.
    wrongly finalized vector 0 at 0xb747000c

Also happens on xci3gc.
AnalysisThis only happens when function inlining is turned on: the error goes away if I make with CFLAGS=-fno-inline. Stepping through in a debugger reveals that the function test_air is inlined into test_main, and the stack bottom marker is ineffective.

The test case can be made to work again by marking test_air with __attribute__((__noinline__)), or by moving the marker down one level of the stack to main.
How foundautomated_test
EvidenceNone
Test procedureairtest
Created byGareth Rees
Created on2014-04-14 12:12:07
Last modified byGareth Rees
Last modified on2014-10-20 17:35:45
History2014-04-14 GDR Created.

Fixes

Change Effect Date User Description
185524 closed 2014-04-14 18:37:31 Gareth Rees Move the marker down the stack so that GCC's aggressive inline won't scupper it.