MPS issues

Job Status Priority Title
job003499 open critical The MPS issues list looks scary
job004158 open essential Register scanning approach is not reliable
job004166 open essential MPS Contributing agreement requires review and update
job000537 open optional Many design documents missing
job000549 open optional Blackening an AMS segment can break
job001092 open optional MPS is not integrated with public cool projects.
job001151 open optional Format methods can't look at other data
job001152 open optional The MPS can't be used to simulate a smaller machine
job001659 open optional Culprit analysis is too hard.
job001666 open optional No guarantee that all weak references to an object die together.
job001707 open optional VM Arena never shrinks a generation zone set preferences.
job003384 open optional Collector goes mad when low on address space
job003387 open optional Multiple arenas can corrupt telemetry stream
job003388 open optional telemetry system API can corrupt telemetry stream
job003439 open optional MPS is too hard to use
job003455 open optional Frequent ramps can mess up the ramping algorithm and cause performance problems
job003477 open optional MPS is hard to build and debug on Windows
job003505 open optional MPS incurs large overhead on barrier hits
job003523 open optional Accessing to weak tables on 64-bit causes them to be scanned.
job003532 open optional MPS kit fails to install shared libraries
job003644 open optional Reserve/commit protocol does not cope with exceptions
job003683 open optional Epoch number can wrap around on 32-bit platforms
job003755 open optional Telemetry tools not regularly tested
job003764 open optional Scanning rate is way too high
job003783 open optional ChainCondemnAuto condemns too many generations
job003790 open optional Segment descriptors could be more efficiently managed
job003796 open optional White segment lookup is slow
job003797 open optional AMC space is lost to pinning
job003798 open optional Tract tables are inflexible
job003799 open optional Incrementally collecting the nursery may waste time
job003815 open optional Freeing a page never destroys a chunk
job003832 open optional CVM memory debugging may be redundant
job003841 open optional Segs are not Exposed when AMSBlacken calls amsIterate
job003848 open optional Access violation in gcbench on Windows
job003921 open optional Write barrier may be harmful to performance
job003929 open optional mps_arena_step uses poor estimate of collection time
job003932 open optional Allocation frame documentation is unclear
job003942 open optional Possible hang in steptest
job003944 open optional Arena allocation policy may allocate in blacklisted zone
job003953 open optional Definalization doesn't scale
job003955 open optional No regression test for job003898
job003962 open optional Regular testing omits the MMQA test suite
job003963 open optional Address-based hash table design is not stress-tested
job003969 open optional Event clock implementation may not be reliable
job003970 open optional The MPS can't scan in parallel with the mutator
job003974 open optional StackContext and MutatorContext could be unified
job003976 open optional Can't scan parts of segments allocated by buffers
job003977 open optional We maintain redundant NMAKE files
job003979 open optional Forwarding unnecessarily lowers the read barrier
job003980 open optional Branching tool does not distinguish between private and public Git mappings
job003981 open optional MPS does not benefit from huge TLB entries
job003984 open optional Calling mps_clock frequently is bad for performance
job003987 open optional Emergency collection is not documented
job003988 open optional No continuous integration test for 32-bit MPS on Linux and OS X
job003989 open optional On Windows, pause times are measured using clock(), which is wall-clock time
job003995 open optional MPS doesn't support debugging APs
job003999 open optional Manually managed address space is only returned to the operating system via a trace
job004002 open optional Can't implement incremental condemn
job004004 open optional mps_arena_pause_time and mps_arena_pause_time_set are not covered
job004008 open optional AMSSegMerge loses buffer on high segment
job004016 open optional AMC pool may scan parts buffered segments many times
job004022 open optional Mutator is suspended while the foundation is discovered
job004023 open optional Summary-based write barrier invariant won't cope with pre-flip scanning
job004035 open optional Thread roots not suitable for user-level threads
job004085 open optional MPS doesn't cooperate well with other SEGV handlers
job004098 open optional Use of clock() is not fork-safe
job004099 open optional Monitor not usable for long-running processes
job004100 open optional Inconsistent linearization of event times
job004105 open optional Time and space overheads are high
job000543 open nice No MPS programmer's guide
job000548 open nice AMS grain colour doesn't agree with design doc
job001357 open nice Configura cannot use Win32 fibers
job001571 open nice MPS multiple traces would not work
job001676 open nice AMC does not implement weakness in emergency fixing.
job001708 open nice VM Arena's segment placement policy could be improved.
job001709 open nice VM Arena uses up zones too quickly.
job001715 open nice MPS fails to lower barrier when hit: multiple hits cause slowdown (CONJECTURE)
job001789 open nice MPS auto_header format is not tested by main test files
job003324 open nice Manual contains little about performance of interface
job003325 open nice Purpose of the "class" method of an object format is unclear
job003328 open nice Possible improvement to reserve/commit protocol
job003357 open nice AWL is awkward to use
job003374 open nice No documentation about low memory situations
job003448 open nice mps_arena_vm_growth is not documented
job003482 open nice Test suite doesn't test error paths
job003493 open nice No recovery mode after assertion failure
job003508 open nice Little in manual about in-band headers
job003515 open nice Can't collect diverse MPS messages in order
job003632 open nice Difficult to integrate with application that has non-atomic updates
job003653 open nice Scanner makes no use of __builtin_prefetch
job003671 open nice Non-moving pools don't make best use of zones
job003719 open nice Hard to test and debug threading behaviour
job003758 open nice The MPS does not build with gcc -Wconversion
job003763 open nice No easy way to automatically clear freed memory
job003766 open nice Splitting and merging complicates writing new seg classes
job003770 open nice MPS does not compile from C++
job003781 open nice No automated performance test
job003786 open nice No automated test of the event subsystem
job003789 open nice MPS does not try collecting when out of memory
job003791 open nice Can't set the rank on an AMC/AMCZ allocation point
job003792 open nice AMS and AWL don't update summaries of condemned segments
job003795 open nice Arena extensions are not adaptive
job003802 open nice Manual unclear about exact collection
job003803 open nice Hard to discover roots
job003805 open nice Bit table scanning is unoptimized
job003816 open nice Can't specify generation per allocation point
job003837 open nice No control over which objects are "large"
job003838 open nice MVT uses segments unnecessarily
job003839 open nice No benchmarks for space performance
job003842 open nice Missing dependencies in nmake build system
job003847 open nice Allocation clock inconsistency in handling of AMC segment padding
job003852 open nice No heap consistency checker
job003859 open nice Assertion failures in amcssth
job003864 open nice Uncollected finalization messages lead to retention
job003881 open nice SNC never returns memory to the arena
job003894 open nice Intrinsic functions not used on Windows
job003895 open nice No interface to logging control
job003902 open nice commpre/commpost distinction is unnecessary
job003905 open nice Can't build the MPS in parallel
job003919 open nice No interface for getting bytes allocated
job003924 open nice Unnecessary allocation during arena creation
job003928 open nice VM arena uses two VMs when one might do
job003941 open nice Configuration parameters are uncommented
job003943 open nice No consistent way to discover arena configuration
job003945 open nice Easy to mistakenly omit to enable finalization messages
job003947 open nice Allocation frame protocol not safe for general pools
job003978 open nice Too hard to experiment with different MPS parameters
job003990 open nice MPS doesn't notice if clients write scanners that don't check error codes
job003991 open nice No validation tests for client formats.
job004005 open nice Destroying an automatically managed pool does not check that the arena is parked
job004009 open nice Can't split a segment if buffer is above the split point
job004024 open nice Accounting overheads are too high on mark & sweep pools
job004025 open nice Duplicate code between pool classes
job004057 open nice Warning pragmas are not localised around the bad cases
job004066 open nice Thread-handling functions could do more checking
job004067 open nice Telemetry interacts poorly with fork
job004068 open nice Duplicate thread-management code
job004080 open nice Telemetry output not appropriate for interactive use
job004088 open nice Can't destroy an allocation point with a reserve
job004091 open nice No support for saving and restoring automatically managed memory
job004095 open nice No need for two classes of MRG segment
job004103 open nice No smoke test coverage of mapping failure in pagesMarkAllocated
job004142 open nice MPS sources contain links to private documents