MPS issue job003876

TitleMMQA test function/170.c failure
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
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
AnalysisThe 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 foundautomated_test
Evidence[1] https://info.ravenbrook.com/infosys/cgi/perfbrowse.cgi?%40describe+184498
Test procedurefunction/170.c
Created byGareth Rees
Created on2014-10-11 00:09:09
Last modified byGareth Rees
Last modified on2014-10-20 17:17:16
History2014-10-11 GDR Created.

Fixes

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.