Ravenbrook / Projects / Memory Pool System / Issues


Known issues in MPS release 1.109.1

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 optional 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 cool projects.
job001105 essential MPS doesn't compile on FreeBSD current [fill in version here]
job001144 nice Some minor hope dependencies exist in test suite
job001145 optional Many (mmqa) tests fail on OS X
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
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 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.
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 essential 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 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)
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()
job002257 optional MPS (diagnostic variety only) floating point exception after a collection
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 optional 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 optional Purpose of mps_arena_class_vmnz is unclear
job003327 optional 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 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
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 critical 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 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
job003386 optional Telemetry control interface is poorly designed
job003387 essential Multiple arenas can corrupt telemetry stream
job003388 essential 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 optional 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
job003476 optional No automated testrun target on Windows
job003477 essential 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 optional MPS has predictable address space layout
job003485 optional Information about cause of errors is lost
job003486 essential mv2test failure
job003489 optional Test fail logs are lost forever on build servers
job003490 nice Assertion failure in MRGDescribe

Generated at 2013-05-22 17:33:59 by $Id: //info.ravenbrook.com/infosys/cgi/issue.cgi#476 $

Copyright © Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may not duplicate or reproduce this document in any form without the express permission of the copyright holder.

Ravenbrook / Projects / Memory Pool System / Issues