MPS issues

Job Priority Title
job000537 optional Many design documents missing
job000538 optional Project documents are poorly formatted
job000543 optional No MPS programmer's guide
job000548 optional AMS grain colour doesn't agree with design doc
job000549 optional Blackening an AMS segment can break
job000550 optional BufferEmpty on AMS in mid-collection can break
job000652 essential mps_arena_destroy may crash if some objects aren't destroyed
job000677 nice Insufficient stuff has been converted from MMinfo to Ravenbrook Project repository
job000742 nice Some niggles annoy DRJ
job000814 nice Configura cannot manage Lightworks objects with the MPS
job001092 essential MPS is not integrated with cool projects.
job001149 optional MPS does not provide sufficient information about addresses
job001150 essential MPS doesn't provide enough feedback information about what it is doing or what it has done
job001151 essential Format methods can't look at other data
job001152 essential The MPS can't be used to simulate a smaller machine
job001155 essential full collects cause gigantic ramps
job001161 nice there is no human-helpful map of MPS files
job001357 nice Configura cannot use Win32 fibers
job001384 nice MPS unclear constraints on avgSize argument to PoolMV mps_pool_create
job001386 nice MPS website has no FAQ
job001549 essential MPS assert !AMS_IS_INVALID_COLOUR(seg, i) poolams.c AMSFix
job001550 essential MPS poolams.c AMSFix omits checks: clientRef is within seg; bit index is valid
job001571 nice MPS multiple traces would not work
job001621 essential Can't use threads on OS X.
job001659 essential Culprit analysis is too hard.
job001666 optional No guarantee that all weak references to an object die together.
job001676 essential AMC does not implement weakness in emergency fixing.
job001681 essential AMCHeaderFix is an unnecessary copy.
job001682 nice AMCWalk does not honour its contract
job001687 essential AWL does not recycle memory to the arena.
job001688 essential AMC repeatedly allocates and initialises identical SegPrefs
job001707 essential VM Arena never shrinks a generation zone set preferences.
job001708 essential VM Arena's segment placement policy could be improved.
job001709 essential VM Arena uses up zones too quickly.
job001715 essential MPS fails to lower barrier when hit: multiple hits cause slowdown (CONJECTURE)
job001789 nice MPS auto_header format is not tested by main test files
job001887 optional MPS mps_arena_committed() is wrong when using mps_arena_class_cl (client arena)
job002175 optional MPS unaligned references are not detected by AMC pools
job003302 optional mps_arena_create fails with deep consistency checks
job003318 nice No interface to get collection number from a gc start message
job003322 optional External interface contains useless "fixed" object format
job003324 nice Manual contains little about performance of interface
job003325 nice Purpose of the "class" method of an object format is unclear
job003326 optional Purpose of mps_arena_class_vmnz is unclear
job003327 optional Purpose of reservoirs is unclear
job003328 nice Possible improvement to reserve/commit protocol
job003341 optional Unclear how to destroy a pool containing objects registered for finalization
job003342 optional mps_arena_unsafe functions are bogus
job003343 nice Documentation could say more about meaning of result codes
job003344 nice Purpose of allocation frames/SNC pool class are unclear
job003348 optional Unclear what happens if a thread dies while registered
job003350 nice Purpose of manual pool classes is unclear
job003351 nice Debugging pool classes are hard to use
job003352 optional Instruction emulation not supported on OS X or x86-64
job003353 nice Collection start reason hard to analyze
job003357 nice AWL is awkward to use
job003359 essential Ambiguous interior pointers do not keep objects alive
job003370 critical Assertion failure in AMS: "grey == TraceSetEMPTY || SegRankSet(seg) != RankSetEMPTY"
job003371 essential MPS spends too much time making system calls
job003374 optional No documentation about low memory situations
job003384 essential Collector goes mad when low on address space
job003385 essential Performance is poor in large address space
job003387 essential Multiple arenas can corrupt telemetry stream
job003388 essential telemetry system API can corrupt telemetry stream
job003439 essential MPS is too hard to use
job003448 optional mps_arena_vm_growth is not documented
job003455 optional Frequent ramps can mess up the ramping algorithm and cause performance problems
job003471 optional mps_root_create_table is hard to use without punning
job003474 essential amcssth test failure on lii6gc and fri3gc
job003476 optional No automated testrun target on Windows
job003477 essential MPS is hard to build and debug on Windows
job003480 nice awluthe test failure on OS X
job003482 nice Test suite doesn't test error paths
job003484 optional MPS has predictable address space layout
job003485 optional Information about cause of errors is lost
job003487 optional Pool debug options are awkward to pass
job003491 essential Manual doesn't make it clear that GC is cross-pool
job003492 optional MFS refuses to handle objects smaller than platform alignment
job003493 nice No recovery mode after assertion failure
job003494 essential Re-entrancy failure in LDReset
job003495 optional Assertion failure if you try to create a small arena
job003496 essential Assertion failure in mps_roots_walk
job003497 essential Messages from assertions sound like bugs in the MPS
job003498 essential Varargs interface to SNC broken
job003499 critical The MPS issues list looks scary