MPS issue job003634

TitleAMS allocation points require undocumented RANK keyword argument
Statusclosed
Priorityessential
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionWhen creating an allocation point on an AMS pool, the MPS fails with

    arg.c:173: MPS ASSERTION FAILED: unreachable code

On inspection of the backtrace it seems that this is because MPS_KEY_RANK was not specified when creating the allocation point:

    (gdb) frame 6
    #6 0x00000001000f03eb in rankBufInit (buffer=0x101ffe368, pool=0x101ffe238, args=0x100377a70) at buffer.c:1502
    1502 ArgRequire(&arg, args, MPS_KEY_RANK);

But this is not documented.
AnalysisNeed to document this for AMS [1] in the same way as for AWL [2]. It's probably worth making this keyword default to mps_rank_exact().
How foundmanual_test
Evidence[1] <http://www.ravenbrook.com/project/mps/...manual/html/pool/ams.html#mps_class_ams>
[2] <http://www.ravenbrook.com/project/mps/...manual/html/pool/awl.html#mps_class_awl>
Created byGareth Rees
Created on2013-10-02 15:34:02
Last modified byGareth Rees
Last modified on2013-10-02 15:44:52
History2013-10-02 GDR Created.

Fixes

Change Effect Date User Description
183515 closed 2013-10-02 15:44:34 Gareth Rees Document that you can specify MPS_KEY_RANK when creating an allocation point on an AMS pool. Make MPS_KEY_RANK default to mps_rank_exact().