MPS issue job000741

TitleShould be able to use mps_arena_has_addr from a heap walking function
Statusclosed
Priorityessential
Assigned userDavid Jones
OrganizationRavenbrook
DescriptionConfigura complain that they cannot call the function
mps_arena_has_addr from a heap walker callback.
AnalysisAn assertion is fired:

MPS ASSERTION FAILURE: lock->claims == 0
.\lockw3.c
78

It seems wrong; it's reasonable to be able to call this function
from a heap walker.

To make this change:

We'll need an ArenaEnterRecursive (and LeaveRecursive).
Need to check that all relevant functions can be called in the
middle of a call to mps_arena_formatted_objects_walk.
ArenaHasAddr
  SegOfAddr
    TractOfAddr
      ChunkOfAddr
    TRACT_SEG
      TractHasSeg
All of which are ok.

2003-11-04

This has now been implemented on version/1.101 and master.
Configura appear to be happy with this. Closing.

drj
How foundcustomer
Evidence<URL: http://info.ravenbrook.com/mail/2003/06/25/14-42-15/0.txt >
Created byDavid Jones
Created on2003-07-09 10:49:36
Last modified byGareth Rees
Last modified on2014-03-07 10:11:16
History2003-07-09 DRJ created
2003-11-04 DRJ closed

Fixes

Change Effect Date User Description
52060 closed 2003-07-31 09:57:31 David Jones mps: properly fix mps_arena_has_addr for Configura
50108 open 2003-07-09 16:42:29 David Jones MPS: can now call mps_arena_has_addr during
mps_arena_formatted_objects_walk. test walkt0 is witness
50081 open 2003-07-09 13:31:36 David Jones MPS: test for Configura, mps_arena_has_addr during heap walk.
50079 open 2003-07-09 12:46:15 David Jones MPS ref man minor updates. mps_arena_formatted_objects_walk et al