Title | MMQA test function/170.c failure |
Status | closed |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | $ qa run function/170.c % create arena: OK % register thread: OK !failed=no % Spare useful/total 2/2. Limit 1. Size 0. Expected COMMIT_LIMIT. Got OK !failed=yes % Spare useful/total 2/3. Limit 1. Size 0. Expected COMMIT_LIMIT. Got OK !failed=yes % Spare useful/total 3/3. Limit 1. Size 0. Expected COMMIT_LIMIT. Got OK !failed=yes % Finishing off. % Deregistered thread. % Destroyed arena. !completed=yes ----------------------------------------------------------------------------- FAILED TEST function/170.c harness = 2.1 id = $Id: //info.ravenbrook.com/project/mps/master/test/function/170.c#5 $language = c link = testlib.o rankfmt.o parameters = EXTEND=65536 AVGSIZE=32 BIGSIZE=(5*1024*1024) summary = spare_commit_limit tests SPECIFIED RESULTS completed = yes failed = no MMQA OPTIONS MPS_INCLUDE_DIR = ../code MPS_LINK_OBJ = ../code/xci6ll/cool/mps.o MPS_PRODUCT = mps PLATFORM = Darwin_13.4.0_i386__unix PARAMETER SETTINGS AVGSIZE = 32 BIGSIZE = (5*1024*1024) EXTEND = 65536 RESULTS completed = yes failed = yes seconds = 0 CONCLUSION FAIL failed on failed: wanted = no, was yes |
Analysis | The test case depends on two assumptions: 1. That when memory is freed from an MVFF pool, it is returned to the arena immediately so that it can be allocated to another pool. But as of change 184498 [1] an MVFF pool now keeps a fund of spare memory by default. It's necessary to turn this off for the test case to work. 2. That the arena can always hand out a block of size (commit_limit - committed + spare_committed). But that's surely not true: if spare_committed > 0, then there are spare mapped grains, and these might not be in a convenient place to hand out that block. |
How found | automated_test |
Evidence | [1] https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+184498 |
Test procedure | function/170.c |
Created by | Gareth Rees |
Created on | 2014-10-11 00:09:09 |
Last modified by | Gareth Rees |
Last modified on | 2014-10-20 17:17:16 |
History | 2014-10-11 GDR Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
187206 | closed | 2014-10-11 00:57:28 | Gareth Rees | Turn off the spare memory on the MVFF pool so that it returns freed memory to the arena immediately. Free the initial allocations so that the result determination is accurate. |