This list may include some issues incorrectly, because "p4 fixes -i" does not report a fix for a version branch if the files changed by the fix were deleted on the masters before the version branch was taken.
| Job | Priority | Title |
|---|---|---|
| job000537 | optional | Many design documents missing |
| job000538 | optional | Project documents are poorly formatted |
| job000539 | essential | Some external symbols are missing from the reference manual |
| job000540 | essential | Reference manual symbol coverage needs reorganizing |
| job000541 | essential | Reference manual needs subject sections |
| job000542 | essential | No MPS user manual |
| job000543 | nice | No MPS programmer's guide |
| job000547 | essential | Reference manual has lots of missing spaces |
| 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 |
| job001084 | essential | MPS does not build with "sh configure;make;make install" |
| job001092 | essential | MPS is not integrated with public cool projects. |
| job001105 | essential | MPS doesn't compile on FreeBSD current [fill in version here] |
| job001145 | optional | Many (mmqa) tests fail on OS X |
| job001149 | optional | MPS does not provide sufficient information about addresses |
| job001150 | optional | MPS doesn't provide enough feedback information about what it is doing or what it has done |
| job001151 | optional | Format methods can't look at other data |
| job001152 | optional | The MPS can't be used to simulate a smaller machine |
| job001153 | critical | The MPS lacks error recovery mechanisms |
| job001154 | essential | MPS documentation gives no guidance for when client wants foreign code to use mps-allocated memory |
| job001155 | essential | full collects cause gigantic ramps |
| job001156 | optional | MPS cannot queue a message when a weak thing goes away |
| job001158 | essential | variety design does not meet requirements of open-source MPS |
| job001161 | nice | there is no human-helpful map of MPS files |
| job001255 | nice | MPS expgen.sh is broken, at least on Mac OS X 10.4.2 |
| job001357 | nice | Configura cannot use Win32 fibers |
| job001360 | nice | Configura cannot efficiently use SEH. |
| job001383 | essential | MPS lacks example GC code - a "hello-world with GC" for beginners |
| job001384 | nice | MPS unclear constraints on avgSize argument to PoolMV mps_pool_create |
| job001395 | essential | MPS build failure on Linux with glibc 2.3: wrong defines before system includes |
| job001543 | optional | MPS mpsicv (test) on OS X does not use reg&stack scanner. |
| job001544 | optional | MPS mpsicv coverage test source does not have ifndef CONFIG_PF_XCI3GC |
| job001549 | essential | MPS assert !AMS_IS_INVALID_COLOUR(seg, i) poolams.c AMSFix |
| job001550 | optional | 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. |
| job001634 | critical | MPS fails under Rosetta. |
| job001635 | essential | On Unix, signal handler is not installed correctly. |
| job001636 | essential | Too much Unix code is dangerously copied and not shared. |
| job001639 | optional | Configura would like "control over finalization promptness" |
| job001659 | optional | Culprit analysis is too hard. |
| job001665 | essential | Weakness is not well documented. |
| job001666 | optional | No guarantee that all weak references to an object die together. |
| job001669 | essential | Developers can't debug MPS on OS X. |
| job001676 | nice | AMC does not implement weakness in emergency fixing. |
| job001681 | nice | AMCHeaderFix is an unnecessary copy. |
| job001682 | nice | AMCWalk does not honour its contract |
| job001687 | optional | AWL does not recycle memory to the arena. |
| job001688 | nice | AMC repeatedly allocates and initialises identical SegPrefs |
| job001707 | optional | VM Arena never shrinks a generation zone set preferences. |
| job001708 | nice | VM Arena's segment placement policy could be improved. |
| job001709 | nice | VM Arena uses up zones too quickly. |
| job001715 | nice | MPS fails to lower barrier when hit: multiple hits cause slowdown (CONJECTURE) |
| job001785 | essential | Unclear whether base or client pointer passed to pad method of format auto-header |
| 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) |
| job002171 | essential | MPS: obsolete mpsdy.dll and mpslibcb mechanism is still present in builds and source |
| job002175 | optional | MPS unaligned references are not detected by AMC pools |
| job002206 | nice | MPS some internal tests leave arena parked after mps_arena_collect() |
| job002248 | essential | MPS virtual memory arena class never returns virtual memory |
| job003301 | critical | Bogus assertion iswrite == 0 || iswrite == 1 on Windows |
| job003302 | optional | mps_arena_create fails with deep consistency checks |
| job003315 | nice | mps.h defines the macro MPS_T_WORD |
| job003316 | optional | User guide doesn't explain how to choose object format alignment |
| job003317 | optional | Requirements for fixing tagged references are unclear |
| job003318 | nice | No interface to get collection number from a gc start message |
| job003319 | nice | MVT creation takes "integer percentage" argument |
| job003320 | optional | mps_arena_step unclamps the arena |
| job003321 | optional | Private symbols in mps.h are missing underscores |
| job003322 | nice | External interface contains useless "fixed" object format |
| job003323 | optional | Varargs interfaces are hard to use |
| job003324 | nice | Manual contains little about performance of interface |
| job003325 | nice | Purpose of the "class" method of an object format is unclear |
| job003326 | nice | Purpose of mps_arena_class_vmnz is unclear |
| job003327 | nice | Purpose of reservoirs is unclear |
| job003328 | nice | Possible improvement to reserve/commit protocol |
| job003329 | optional | Purpose of mps_alert_collection_set is unclear |
| job003330 | optional | Unclear which threads need to call mps_tramp |
| job003331 | optional | eventcnv appears to hang if you specify a small bucket size |
| job003332 | optional | eventcnv outputs an empty bucket when you specify a bucket size |
| job003333 | optional | eventcnv produces bogus output if you pass -b but not -e |
| job003334 | optional | eventcnv output has bogus timestamp on totals row in CSV format |
| job003335 | optional | eventcnv's bucket aggregation is broken |
| job003337 | optional | Example Scheme interpreter crashes in append |
| job003338 | optional | Example Scheme interpreter does not finalize ports |
| job003340 | optional | MPS_TELEMETRY_CONTROL=65535 is ugly and not future-proof |
| job003341 | optional | Unclear how to destroy a pool containing objects registered for finalization |
| job003342 | nice | 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 | nice | Unclear what happens if a thread dies while registered |
| job003349 | optional | Unclear what mps_SEH functions are for |
| 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 |
| job003356 | critical | Assertion in SegSetGrey when using AMCZ |
| job003357 | nice | AWL is awkward to use |
| job003359 | essential | Ambiguous interior pointers do not keep objects alive |
| job003367 | essential | Can't run tests via "make test" |
| job003368 | optional | MFS has no public interface |
| job003370 | essential | Assertion failure in AMS: "grey == TraceSetEMPTY || SegRankSet(seg) != RankSetEMPTY" |
| job003371 | essential | MPS spends too much time making system calls |
| job003374 | nice | 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 |
| job003386 | optional | Telemetry control interface is poorly designed |
| job003387 | optional | Multiple arenas can corrupt telemetry stream |
| job003388 | optional | telemetry system API can corrupt telemetry stream |
| job003411 | nice | MPS doesn't make use of __builtin_readcyclecounter on OS X |
| job003412 | critical | Assertion failure in TraceScanAreaMasked on Linux |
| job003413 | nice | Typos in documentation, comments |
| job003414 | essential | No test case for multi-threaded stack scanning |
| job003430 | essential | Can't run test suite on OS X |
| job003431 | optional | Hard to tell which test case failed |
| job003432 | essential | amcsshe test failure |
| job003433 | essential | mpsicv test failure |
| job003434 | essential | Incorrect glossary link from "committed" to "mapping" |
| job003435 | essential | Rehashing large hash tables breaks nursery collection strategy |
| job003436 | essential | awlut test failure |
| job003438 | nice | arena->serial is always 0 |
| job003439 | essential | MPS is too hard to use |
| job003440 | essential | amcss test failure |
| job003443 | optional | No coverage testing |
| job003448 | nice | mps_arena_vm_growth is not documented |
| job003454 | optional | Ramp use can break generation chain with bad performance consequences |
| job003455 | optional | Frequent ramps can mess up the ramping algorithm and cause performance problems |
| job003469 | essential | CET can't safely make use of the top 2GiB of memory on 32-bit Windows |
| job003470 | optional | Test program qs.c fails to compile on Ubuntu 10.04 |
| job003471 | optional | mps_root_create_table is hard to use without punning |
| job003472 | optional | Test output always goes to mps-XXXXXX.log on some platforms |
| job003473 | essential | MPS doesn't build on FreeBSD 9.1 |
| job003474 | essential | amcssth test failure on lii6gc and fri3gc |
| job003476 | optional | No automated testrun target on Windows |
| job003477 | optional | MPS is hard to build and debug on Windows |
| job003479 | optional | Some forward declarations of *ClassGet() functions are wrong |
| job003480 | nice | awluthe test failure on OS X |
| job003481 | nice | Test case seed generation is not random enough |
| job003482 | nice | Test suite doesn't test error paths |
| job003483 | nice | mv2test.c contains a redundant random number generator |
| job003484 | nice | MPS has predictable address space layout |
| job003485 | nice | Information about cause of errors is lost |
| job003486 | essential | mv2test failure |
| job003487 | nice | Pool debug options are awkward to pass |
| job003489 | optional | Test fail logs are lost forever on build servers |
| job003490 | nice | Assertion failure in MRGDescribe |
| 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_arena_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 |
| job003500 | nice | Format interface is hard to understand |
| job003502 | nice | Race condition in EventInit() |
| job003503 | essential | Telemetry system calls mps_io_flush() without mps_io_create() |
| job003504 | optional | ANSI plinth does not check its arguments |
| job003505 | optional | MPS incurs large overhead on barrier hits |
| job003506 | optional | awlutth test case fails on lii6gc |
| job003507 | optional | mpseventsql -i and -o options cause crash |
| job003508 | nice | Little in manual about in-band headers |
| job003509 | nice | MVT and MVFF use segments unnecessarily |
| job003510 | optional | mps_free doesn't check all addresses in range |
| job003512 | nice | Can't configure MVT alignment |
| job003515 | optional | Can't collect diverse MPS messages in order |
| job003519 | essential | Clock values in text telemetry logs on Windows have top 32 bits zero |
| job003522 | optional | PoolFix is on the critical path but contains checks |