MPS issue job003432

Titleamcsshe test failure
Statusclosed
Priorityessential
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionThe amcsshe test case fails in the COOL variety. Here's it failing on Ubuntu (lii6gc):

    $ code/lii6gc/cool/amcsshe 1254243790
    [...]
    Collection 35, 231455 objects.
    ....
    MPS_RESERVE_BLOCK: 7

It also fails on OS X (xci6ll), but at a different point in the test case:

    $ code/xc/Debug/amcsshe 1254243790
    [...]
    Collection 27, 178524 objects.
    .....
    MPS_RESERVE_BLOCK: 7
AnalysisResult code 7 is MPS_RES_COMMIT_LIMIT. The amcsshe test case messes about with the commit limit by calling mps_arena_commit_limit_set in various places, so this is an error in the test case, not in the MPS.

The code calls mps_arena_commit_limit_set() using values that "have been tuned in the hope of getting one dynamic collection" (according to a comment). The idea seems to be that it tries to get one "dynamic collection", and then when it believes that this collection has taken place (by looking at the mps_message_type_gc messages) it bumps the commit limit upwards so as not to get any more dynamic collections.

This obviously can't be made reliable because (i) the MPS does not guarantee anything about the timeliness of these messages; (ii) you can't discover why a collection started by looking at the statistic in a mps_message_type_gc message; (iii) the fine tuning of the numbers in the test case is bound to decay as the MPS is modified and itself tuned for performance.

So I've simply removed this feature of the test case by commenting out all calls to mps_arena_commit_limit_set.
How foundautomated_test
EvidenceNone
Observed in1.110.0
Created byGareth Rees
Created on2013-03-07 12:45:30
Last modified byGareth Rees
Last modified on2013-03-07 17:08:07
History2013-03-07 GDR Created.

Fixes

Change Effect Date User Description
181081 closed 2013-03-07 17:08:07 Gareth Rees Comment out all calls to mps_arena_commit_limit_set in test case amcsshe. (This test case formerly set the commit limit "in the hope of getting one dynamic collection", but this was unreliable: see job003432 for details.)