MPS issues

Job Status Priority Title
job000401 suspended essential Long path names under mps/import
job000402 suspended nice Imported MPS mail messages lack their attachments
job000415 closed essential several reference manual entries omit arena arguments
job000441 closed critical PoolAMC sometimes fails !arena->insideShield check
job000462 closed essential PoolAWL only works for Dylan objects.
job000502 closed essential PoolAWL doesn't work with auto_header formats
job000506 closed essential PoolAMS doesn't work with auto-header formats
job000531 closed essential MPS doesn't have "incremental step" function for clients
job000534 closed essential No varieties are doing any checking
job000535 closed essential Interior ambiguous pointers can give PoolAMS a headache
job000536 closed essential release readme.txt doesn't have a "what's new" section
job000537 open optional Many design documents missing
job000538 closed optional Project documents are poorly formatted
job000539 closed essential Some external symbols are missing from the reference manual
job000540 closed essential Reference manual symbol coverage needs reorganizing
job000541 closed essential Reference manual needs subject sections
job000542 closed essential No MPS user manual
job000543 open nice No MPS programmer's guide
job000544 closed essential Reference manual mentions a number of obsolete symbols
job000545 closed optional mpstd.h defines unused symbol MPS_T_SHORT for some platforms
job000546 closed essential MPS docs say P4DTI instead of MPS
job000547 closed essential Reference manual has lots of missing spaces
job000548 open nice AMS grain colour doesn't agree with design doc
job000549 open optional Blackening an AMS segment can break
job000550 closed optional BufferEmpty on AMS in mid-collection can break
job000553 suspended essential MPS releases should include binaries
job000599 closed essential MPS doesn't build on Mac OS X 10.2
job000601 closed essential MPS compile fails under Mac OS X 10.2
job000602 closed essential Mac OS X 10.2 build fails because "cabs" is already defined
job000604 closed essential MPS doesn't work with gcc 2.96
job000605 closed essential mpmss fails to link on w3i3mv
job000646 closed essential Builds on FreeBSD stopped working
job000647 closed essential mps_arena_step disregards its argument
job000648 closed essential Should make wi variety with the other default varieties
job000649 closed essential No way to just start a world-collection
job000652 closed essential mps_arena_destroy may crash if some objects aren't destroyed
job000666 closed essential Difficult to tell what collections are happening
job000668 closed essential Build procedure uses p4 counter change which is unsafe
job000677 closed nice Insufficient stuff has been converted from MMinfo to Ravenbrook Project repository
job000741 closed essential Should be able to use mps_arena_has_addr from a heap walking function
job000742 closed nice Some niggles annoy DRJ
job000812 suspended critical MPS crashes Mysteriously with Win2K / Office XP
job000813 closed essential Can't access memory without hitting MPS protection barrier.
job000814 closed nice Configura cannot manage Lightworks objects with the MPS
job000818 suspended essential Performance of mps_arena_expose is too slow for Configura
job000825 closed essential mps_arena_unsafe_expose / restore does not work with finalization
job000973 closed essential MPS doesn't compile under Mac OS X 10.3.4
job001084 closed essential MPS does not build with "sh configure;make;make install"
job001091 suspended optional MPS treats all Linuxes the same.
job001092 open optional MPS is not integrated with public cool projects.
job001096 closed essential The MPS is not a Windows DLL
job001105 closed essential MPS doesn't compile on FreeBSD current [fill in version here]
job001139 closed essential project/mps has no private sub-tree for commercial stuff
job001144 closed nice Some minor hope dependencies exist in test suite
job001145 closed optional Many (mmqa) tests fail on OS X
job001146 closed essential MPS does not implement a stack scanner for OS X / PowerPC
job001147 closed essential MPS on OS X needs a protection module in order to be faster
job001149 closed optional MPS does not provide sufficient information about addresses
job001150 closed optional MPS doesn't provide enough feedback information about what it is doing or what it has done
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
job001153 closed essential The MPS lacks error recovery mechanisms
job001154 closed essential MPS documentation gives no guidance for when client wants foreign code to use mps-allocated memory
job001155 closed essential full collects cause gigantic ramps
job001156 closed optional MPS cannot queue a message when a weak thing goes away
job001157 closed essential [INVALID] variety white-hot has asserts; hot has none
job001158 closed essential variety design does not meet requirements of open-source MPS
job001159 closed essential MPS contains asserts that don't indicate which problem occurred
job001161 closed nice there is no human-helpful map of MPS files
job001248 closed nice (source clarity) Badly named CHECK macros in config.h, check.h are confusing
job001255 closed nice MPS expgen.sh is broken, at least on Mac OS X 10.4.2
job001352 closed essential MPS build fails (Linux, Unix) with libcbt link error: multiple definitions of mps_lib_ fns; because mps.a includes plinth (it should not).
job001357 open nice Configura cannot use Win32 fibers
job001360 closed nice Configura cannot efficiently use SEH.
job001365 closed essential build broken on w3 (Windows) with Visual C++ 7.0
job001366 closed essential default "all" build broken on w3 (Windows) with Visual C++ 6.0
job001367 closed essential MPS lacks walkthrough example code (aka "hello-world") for beginners
job001369 closed nice MPS proc/release-build omits step: update main MPS index page
job001370 closed optional MPS RefMan is not valid XHTML
job001383 closed essential MPS lacks example GC code - a "hello-world with GC" for beginners
job001384 closed nice MPS unclear constraints on avgSize argument to PoolMV mps_pool_create
job001386 suspended nice MPS website has no FAQ
job001395 closed essential MPS build failure on Linux with glibc 2.3: wrong defines before system includes
job001421 closed optional MPS default "all" build omits plinth (mpsplan.a/.lib) and (on w3) mps.lib
job001429 closed optional MPS lacks documentation on how to use allocation points
job001455 closed essential MPS LO pool: mps_arena_formatted_objects_walk fails with AVER(i < j)
job001530 closed essential Intel OS X builds are not possible.
job001543 closed optional MPS mpsicv (test) on OS X does not use reg&stack scanner.
job001544 closed optional MPS mpsicv coverage test source does not have ifndef CONFIG_PF_XCI3GC
job001545 closed essential MPS hot varieties do no AVERs or other checking
job001546 closed essential MPS hot varieties gather tuning statistics
job001547 closed essential Configura builds do not include a hot variety
job001548 closed essential MPS assertion in trace.c: RefSetSub(ss.unfixedSummary, SegSummary(seg))
job001549 closed essential Assertion failure !AMS_IS_INVALID_COLOUR
job001550 closed optional MPS poolams.c AMSFix omits checks: clientRef is within seg; bit index is valid
job001556 closed optional MPS defect in BS_IS_SINGLE could make some checks ineffective
job001569 closed nice MPS lacks internal documentation for Shield abstraction
job001570 closed optional MPS _gc_start messages may change while client reads them, or be silently skipped
job001571 open nice MPS multiple traces would not work
job001617 closed essential MPS Intel Mac OS X fails to compile: amsss.c
job001618 closed essential Stack Scanner for Linux and FreeBSD is not shared.
job001619 closed essential OS X Intel needs stack scanner.
job001621 closed essential Can't use threads on OS X.
job001622 closed essential Client can't multithread on OS X.
job001624 closed essential MPS doesn't build on FreeBSD 5.5
job001634 closed optional MPS fails under Rosetta.
job001635 closed essential On Unix, signal handler is not installed correctly.
job001636 closed essential Too much Unix code is dangerously copied and not shared.
job001637 closed essential Linux build fails.
job001639 closed optional Configura would like "control over finalization promptness"
job001658 closed essential Finalization messages are unnecessarily delayed.
job001659 open optional Culprit analysis is too hard.
job001665 closed essential Weakness is not well documented.
job001666 open optional No guarantee that all weak references to an object die together.
job001669 closed essential Developers can't debug MPS on OS X.
job001676 open nice AMC does not implement weakness in emergency fixing.
job001681 closed nice AMCHeaderFix is an unnecessary copy.
job001682 closed nice AMCWalk does not honour its contract
job001687 closed optional AWL does not recycle memory to the arena.
job001688 closed nice AMC repeatedly allocates and initialises identical SegPrefs
job001706 closed essential MPS PoolAMC could (if no shield cache) assert in LockClaim
job001707 open optional VM Arena never shrinks a generation zone set preferences.
job001708 open nice VM Arena's segment placement policy could be improved.
job001709 open nice VM Arena uses up zones too quickly.
job001714 closed optional MPS xcppgc (Mac OS X PowerPC) is built with outdated compiler flags
job001715 open nice MPS fails to lower barrier when hit: multiple hits cause slowdown (CONJECTURE)
job001737 closed essential MPS: VMArena growth is brittle, does not fallback to smaller growth increment
job001784 closed essential MPS AMC pool + auto_header format: nailboards leak ControlPool memory
job001785 closed essential Unclear whether base or client pointer passed to pad method of format auto-header
job001789 open nice MPS auto_header format is not tested by main test files
job001809 closed essential MPS ambiguous internal pointer makes AMC pool retain memory as pads
job001811 closed optional MPS AMC small nailed objects risk big retention by placement after big objects
job001887 closed optional MPS mps_arena_committed() is wrong when using mps_arena_class_cl (client arena)
job001934 closed essential MPS VC9 build failure C4996: getenv considered insecure
job001935 closed essential MPS DLL link error: mps_arena_vm_growth is not exported
job001936 closed essential MPS: Configura releases are missing .def file needed to re-export MPS functions
job001944 closed essential MPS lacks separate w3i3m9 platform for building with VC9 (Microsoft Visual C++ 9.0)
job001945 closed essential MPS buildsys CONFIG_PF_* does not select a platform, is not checked by mpstd.h
job001966 closed optional MPS mpsi_check() does not check message type constants
job001968 closed essential MPS clients get no synchronous alert of collection begin/end
job001969 closed essential MPS gc-start and -end messages give no idea of timing
job001989 closed essential MPS _gc_start messages may cause assert or infinite loop
job002148 closed essential MPS: mps_lib_callback_register breaks .def file for re-exporting MPS functions
job002171 closed essential MPS: obsolete mpsdy.dll and mpslibcb mechanism is still present in builds and source
job002175 closed optional MPS unaligned references are not detected by AMC pools
job002179 suspended nice MPS client code cannot determine MPS Version at compile time
job002205 closed essential MPS collection runs too slow if client allocates big objects
job002206 closed nice MPS some internal tests leave arena parked after mps_arena_collect()
job002209 closed essential MPS client cannot determine pool or format, given object address
job002248 closed essential MPS virtual memory arena class never returns virtual memory
job002257 closed optional MPS (diagnostic variety only) floating point exception after a collection
job003301 closed essential Bogus assertion iswrite == 0 || iswrite == 1 on Windows
job003302 closed optional mps_arena_create fails with deep consistency checks
job003315 closed nice mps.h defines the macro MPS_T_WORD
job003316 closed optional User guide doesn't explain how to choose object format alignment
job003317 closed optional Requirements for fixing tagged references are unclear
job003318 suspended nice No interface to get collection number from a gc start message
job003319 closed nice MVT creation takes "integer percentage" argument
job003320 closed optional mps_arena_step unclamps the arena
job003321 closed optional Private symbols in mps.h are missing underscores
job003322 closed nice External interface contains useless "fixed" object format
job003323 closed optional Varargs interfaces are hard to use
job003324 open nice Manual contains little about performance of interface
job003325 open nice Purpose of the "class" method of an object format is unclear
job003326 closed nice Purpose of mps_arena_class_vmnz is unclear
job003327 closed nice Purpose of reservoirs is unclear
job003328 open nice Possible improvement to reserve/commit protocol
job003329 closed optional Purpose of mps_alert_collection_set is unclear
job003330 closed optional Unclear which threads need to call mps_tramp
job003331 closed optional eventcnv appears to hang if you specify a small bucket size
job003332 closed optional eventcnv outputs an empty bucket when you specify a bucket size
job003333 closed optional eventcnv produces bogus output if you pass -b but not -e
job003334 closed optional eventcnv output has bogus timestamp on totals row in CSV format
job003335 closed optional eventcnv's bucket aggregation is broken
job003337 closed optional Example Scheme interpreter crashes in append
job003338 closed optional Example Scheme interpreter does not finalize ports
job003340 closed optional MPS_TELEMETRY_CONTROL=65535 is ugly and not future-proof
job003341 closed optional Unclear how to destroy a pool containing objects registered for finalization
job003342 closed nice mps_arena_unsafe functions are bogus
job003343 closed nice Documentation could say more about meaning of result codes
job003344 closed nice Purpose of allocation frames/SNC pool class are unclear
job003348 closed optional Unclear what happens if a thread dies while registered
job003349 closed optional Unclear what mps_SEH functions are for
job003350 closed nice Purpose of manual pool classes is unclear
job003351 closed nice Debugging pool classes are hard to use
job003352 duplicate optional Instruction emulation not supported on OS X or x86-64
job003353 suspended nice Collection start reason hard to analyze
job003356 closed essential Assertion in SegSetGrey when using AMCZ
job003357 open nice AWL is awkward to use
job003359 closed essential Ambiguous interior pointers do not keep objects alive
job003367 closed essential Can't run tests via "make test"
job003368 closed optional MFS has no public interface
job003370 suspended essential Assertion failure in AMS: "grey == TraceSetEMPTY || SegRankSet(seg) != RankSetEMPTY"
job003371 closed essential MPS spends too much time making system calls
job003374 open nice No documentation about low memory situations
job003384 open optional Collector goes mad when low on address space
job003385 closed essential Performance is poor in large address space on OS X
job003386 closed optional Telemetry control interface is poorly designed
job003387 open optional Multiple arenas can corrupt telemetry stream
job003388 open optional telemetry system API can corrupt telemetry stream
job003411 closed nice MPS doesn't make use of __builtin_readcyclecounter on OS X
job003412 closed critical Assertion failure in TraceScanAreaMasked on Linux
job003413 closed nice Typos in documentation, comments
job003414 closed essential No test case for multi-threaded stack scanning
job003430 closed essential Can't run test suite on OS X
job003431 closed optional Hard to tell which test case failed
job003432 closed essential amcsshe test failure
job003433 closed essential mpsicv test failure
job003434 closed essential Incorrect glossary link from "committed" to "mapping"
job003435 closed essential Rehashing large hash tables breaks nursery collection strategy
job003436 closed essential awlut test failure
job003438 closed nice arena->serial is always 0
job003439 open optional MPS is too hard to use
job003440 closed essential amcss test failure
job003443 closed optional No coverage testing
job003445 closed optional MPS docs don't link to live project site
job003446 suspended nice Optimization possibility for NOTREACHED in RASH variety
job003448 open nice mps_arena_vm_growth is not documented
job003450 closed optional No build procedure for manual
job003454 closed optional Ramp use can break generation chain with bad performance consequences
job003455 open optional Frequent ramps can mess up the ramping algorithm and cause performance problems
job003469 closed essential CET can't safely make use of the top 2GiB of memory on 32-bit Windows
job003470 closed optional Test program qs.c fails to compile on Ubuntu 10.04
job003471 closed optional mps_root_create_table is hard to use without punning
job003472 closed optional Test output always goes to mps-XXXXXX.log on some platforms
job003473 closed essential MPS doesn't build on FreeBSD 9.1
job003474 closed essential amcssth test failure on lii6gc and fri3gc
job003476 closed optional No automated testrun target on Windows
job003477 open optional MPS is hard to build and debug on Windows
job003479 closed optional Some forward declarations of *ClassGet() functions are wrong
job003480 suspended nice awluthe test failure on OS X
job003481 closed nice Test case seed generation is not random enough
job003482 open nice Test suite doesn't test error paths
job003483 closed nice mv2test.c contains a redundant random number generator
job003484 closed nice MPS has predictable address space layout
job003485 closed optional Information about cause of errors is lost
job003486 closed essential mv2test failure
job003487 closed nice Pool debug options are awkward to pass
job003489 closed optional Test fail logs are lost forever on build servers
job003490 closed nice Assertion failure in MRGDescribe
job003491 closed essential Manual doesn't make it clear that GC is cross-pool
job003492 closed optional MFS refuses to handle objects smaller than platform alignment
job003493 open nice No recovery mode after assertion failure
job003494 closed essential Re-entrancy failure in LDReset
job003495 closed optional Assertion failure if you try to create a small arena
job003496 closed essential Assertion failure in mps_arena_roots_walk
job003497 closed essential Messages from assertions sound like bugs in the MPS
job003498 closed essential Varargs interface to SNC broken
job003499 open critical The MPS issues list looks scary
job003500 closed nice Format interface is hard to understand
job003502 closed nice Race condition in EventInit()
job003503 closed essential Telemetry system calls mps_io_flush() without mps_io_create()
job003504 closed optional ANSI plinth does not check its arguments
job003505 open optional MPS incurs large overhead on barrier hits
job003506 closed optional awlutth test case fails on lii6gc
job003507 closed optional mpseventsql -i and -o options cause crash
job003508 open nice Little in manual about in-band headers
job003509 closed nice MVFF uses segments unnecessarily
job003510 closed optional mps_free doesn't check all addresses in range
job003512 closed nice Can't configure MVT alignment
job003513 closed optional Arena extension callbacks are undocumented
job003515 open nice Can't collect diverse MPS messages in order
job003519 closed essential Clock values in text telemetry logs on Windows have top 32 bits zero
job003520 closed optional MVT assertion gcseg->buffer == NULL in djbench
job003522 closed optional PoolFix is on the critical path but contains checks
job003523 open optional Accessing to weak tables on 64-bit causes them to be scanned.
job003524 closed nice Arena states are confusing
job003525 closed optional Pointers from MPS stack pin down user objects
job003532 open optional MPS kit fails to install shared libraries
job003533 closed nice It's not clear what's the best way to build the MPS
job003535 closed nice Thread suspension interface is hacky, error-prone
job003539 closed optional MPS pause times are not well regulated
job003553 closed essential Several "make test" targets fail on Windows
job003554 closed essential MPS slows down considerably when arena is extended
job003559 closed nice Multiple thread registration does not work on all platforms
job003561 closed essential amcssth fails on lii6gc with RES_COMMIT_LIMIT
job003592 closed nice ALIGN and ALIGN_UP macros are poorly named
job003594 closed nice Makefiles not compatible with --jobs option
job003595 closed nice Unsupported platform Linux+Clang not detected
job003596 closed optional Clang/LLVM not supported on Linux
job003619 closed optional PageOfTract macro doesn't compile in Clang 3.0
job003628 closed nice MPS produces warnings when compiled with -Wextra
job003629 closed nice MPS produces warnings when compiled with -Wwrite-strings
job003630 closed nice Bad variety not detected
job003631 closed nice User guide doesn't cover stretchy vector problem
job003632 open nice Difficult to integrate with application that has non-atomic updates
job003633 closed essential AMS requires undocumented AMS_SUPPORT_AMBIGUOUS keyword argument
job003634 closed essential AMS allocation points require undocumented RANK keyword argument
job003635 closed nice Poor error message if you fail to specify a required keyword argument
job003636 closed essential Can't pass debugging options by keyword argument
job003638 closed nice Incorrect accounting in MVT
job003639 closed nice Unclear why StackProbeDEPTH is 500
job003640 closed essential Can't cope with stack overflows on W3I6MV
job003643 closed nice Can't use the MPS with clang -fsanitize=address
job003644 open optional Reserve/commit protocol does not cope with exceptions
job003653 open nice Scanner makes no use of __builtin_prefetch
job003654 closed essential Bit table scanning on segment allocation is not scalable
job003657 closed optional ztfm test case does not get run
job003658 closed nice zcoll test case does not get run
job003659 closed optional Too hard to maintain the test suite
job003660 closed nice Asssertion "ring->next != NULL" in ztfm test
job003661 closed essential No procedure for merging custom work
job003662 closed nice spi3.c is mis-named
job003666 closed essential Design documents have formatting errors
job003667 closed optional Locus stress test only gets run on Windows
job003668 closed essential Stack scanner assumes all references are word-aligned
job003670 closed optional Chains not generalized across pools
job003671 open nice Non-moving pools don't make best use of zones
job003672 closed optional MVT attempts to free a segment with a buffer attached
job003674 closed essential Hysteresis overwhelmed by allocation
job003675 closed optional Can't build manual with Python 3
job003676 closed optional Scheme example has warnings and errors in Xcode
job003677 closed essential Keyword arguments not robust against user error
job003679 suspended essential Scheme interpreter running test-leaf has poor CPU utilization
job003680 closed optional Can't assert in external interface
job003681 closed nice MPS does not compile with -Wunreachable-code
job003683 open optional Epoch number can wrap around on 32-bit platforms
job003684 closed nice Too hard to swap out address range managers
job003685 closed nice No encapsulation of CBS-failing-over-to-Freelist pattern
job003691 closed nice CHECKL is used where CHECKD_NOSIG would give more control
job003692 closed optional MPS deep checking fails at bootstrap
job003693 closed nice The "method" suffix on MPS types is applied too widely
job003697 closed essential Incorrect result code sometimes returned when commit limit is hit
job003700 closed essential Memory returned to operating system too eagerly
job003701 closed optional MVSpanAlloc shows up in GC profiles
job003703 closed essential amcssth fails with "unable to obtain resources"
job003704 closed optional No multi-threaded test cases on Windows
job003709 closed optional MPS doesn't compile under Pelles C
job003711 closed nice Compiling windows.h takes a long time
job003712 closed nice No way to compile the MPS one-file-at-a-time on standard OS X
job003713 closed nice Inconvenient to add new parts on Windows
job003714 closed nice ArenaRootsWalk does not check the result of TraceAddWhite
job003715 closed nice Warning pragmas may be unnecessary
job003716 closed nice "ANSI" platform is not regularly tested
job003719 open nice Hard to test and debug threading behaviour
job003721 closed nice No stack scanning test case
job003722 closed nice awlut fails on w3i6pc
job003724 closed nice qs failure on ANSI platform
job003725 closed nice Classes are not checked
job003737 closed nice Pool class attributes incorrect, unchecked
job003738 closed nice Assertion in mps_arena_formatted_objects_walk if you have an AMS pool
job003739 closed essential Blocks in AWL and AMS pools are not finalized
job003740 closed optional mpswin.h may change the setting of WIN32_LEAN_AND_MEAN
job003741 closed nice mpsw3.h is unnecessary
job003742 closed nice Root modes not in sync
job003745 closed essential AWL alignment is not configurable
job003746 closed essential None of the smoke tests use AMCZ
job003747 closed nice No default value for MPS_KEY_ARENA_SIZE
job003748 closed nice Alignment requirements for manual classes are needlessly strict
job003749 closed nice Hard to write portable debugging pool options
job003750 closed nice No keyword arguments for arena commit limit
job003751 closed nice MVFF debug does not work with large objects
job003753 closed essential nailboardtest failure
job003754 closed nice finaltest failure
job003755 open optional Telemetry tools not regularly tested
job003756 closed essential eventtxt can't process the telemetry output of amcssth
job003757 closed optional The MPS does not build with clang -Wconversion
job003758 open nice The MPS does not build with gcc -Wconversion
job003759 closed nice We don't eat our own dog food
job003760 closed essential mpsicv failures
job003761 closed nice airtest failure on lii3gc
job003762 closed nice steptest is too slow for a smoke test
job003763 open nice No easy way to automatically clear freed memory
job003764 open optional Scanning rate is way too high
job003765 closed nice MVT uses GCSeg but does not need GC features
job003766 open nice Splitting and merging complicates writing new seg classes
job003767 closed nice Describe output is hard to read
job003768 closed nice Unclear if lockli is required
job003769 closed nice README out of date wrt WOW64 on Windows 7
job003770 open nice MPS does not compile from C++
job003771 closed essential AMS with default args never gets collected
job003772 closed essential AWL doesn't provoke collections
job003773 closed essential Objects in LO pools are not all finalized
job003774 closed critical The MPS does not build on windows.
job003775 closed optional Creating task branch from custom doesn't work
job003776 closed nice Pool generations don't refer to the generation they belong to
job003778 closed nice SegCheck slow in hot variety
job003779 closed essential RASH variety does not compile
job003780 closed optional No test case for register scanning
job003781 open nice No automated performance test
job003782 closed essential FALSE is not a safe default value for MPS_KEY_AMS_SUPPORT_AMBIGUOUS
job003783 open optional ChainCondemnAuto condemns too many generations
job003784 closed nice mps_class_t is mis-named
job003786 open nice No automated test of the event subsystem
job003787 closed nice No systematic interface to size of pools
job003789 open nice MPS does not try collecting when out of memory
job003790 open optional Segment descriptors could be more efficiently managed
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
job003793 suspended nice Rings are not well checked
job003794 closed optional Hard to predict the mortality in a generation
job003795 open nice Arena extensions are not adaptive
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
job003802 open nice Manual unclear about exact collection
job003803 open nice Hard to discover roots
job003805 open nice Bit table scanning is unoptimized
job003811 closed essential Missing dependencies for benchmarks
job003812 closed optional MVAlloc taking significant CPU in profiles
job003813 closed optional TraceReclaim looks at every segment
job003814 closed nice {VM,Client}ArenaReserved iterates over the chunks
job003815 open optional Freeing a page never destroys a chunk
job003816 open nice Can't specify generation per allocation point
job003820 closed nice Scheme interpreter table_set is wrong
job003821 closed optional No test for "make install"
job003822 closed optional Emergency garbage collection is untested
job003823 closed optional No control over constant factor in tract management
job003824 closed optional No control over the constant factor in AMC segment overhead
job003825 closed nice Unused closure arguments are unchecked
job003826 closed nice Can't iterate over CBS while deleting some nodes
job003832 open optional CVM memory debugging may be redundant
job003833 closed nice "Arena alignment" is a misleading name
job003835 closed nice SegPrefs are poorly named
job003836 closed nice PageRetStruct is obsolete
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
job003841 open optional Segs are not Exposed when AMSBlacken calls amsIterate
job003842 open nice Missing dependencies in nmake build system
job003845 closed essential Large arena grain sizes cause massive AMC fragmentation
job003846 closed nice No default find dependent function
job003847 open nice Allocation clock inconsistency in handling of AMC segment padding
job003848 open optional Access violation in gcbench on Windows
job003850 closed optional ANSI plinth doesn't flush telemetry on error
job003851 closed optional mpseventtxt drops top word of clock on w3i3mv
job003852 open nice No heap consistency checker
job003853 closed nice AMCFixForward has useless newRef parameter
job003854 closed nice nmake clean failure
job003855 closed nice Manual not explicit about scanning/skipping forwarding/padding objects
job003856 closed nice amcReclaimNailed creates too many padding objects
job003857 closed optional AMC now slower than 1.113
job003858 closed nice Allocating segments in control pool has a bad complexity
job003859 open nice Assertion failures in amcssth
job003863 closed nice mps_io_* functions are misleadingly named
job003864 open nice Uncollected finalization messages lead to retention
job003865 closed nice Unfinalizable objects can be registered for finalization
job003866 closed nice mps_arena_has_addr fails for address in unsegmented pool classes
job003867 closed nice RankAMBIG is misleadingly used to mean "minimum rank"
job003868 closed nice Test function/228.c doesn't detect assertions
job003869 closed nice Reservoir refuses to supply memory
job003870 closed essential Can't set MPS_KEY_SPARE
job003871 closed nice MMQA test function/165.c failure
job003872 closed nice MMQA test function/167.c failure
job003873 closed nice MMQA test function/136.c failure
job003874 closed nice MMQA test function/214.c failure
job003875 closed nice MMQA test function/45.c failure
job003876 closed nice MMQA test function/170.c failure
job003877 closed nice MMQA test function/148.c failure
job003878 closed optional SNC pool class missing from file-at-a-time builds
job003879 closed optional SNC not tested by main test suite
job003880 closed optional SNC does not implement size interface
job003881 open nice SNC never returns memory to the arena
job003882 closed optional sncss test failure
job003883 closed optional SNC walks and scans dead objects
job003884 closed essential mps_pool_free_size wrong for AWL, LO in hot variety
job003885 closed nice Unclear when to use AVERT in mpsi.c
job003887 closed optional LD functions don't check their arena argument
job003888 suspended nice TESTT segfaults if pointer is not aligned
job003889 closed nice No error if you destroy a format that's still in use by a pool
job003890 closed nice No error if you create a pool using a format from another arena
job003892 closed nice Pool statistics are not used
job003893 closed essential Arena contracted callback gets called with invalid arena
job003894 open nice Intrinsic functions not used on Windows
job003895 open nice No interface to logging control
job003898 closed optional Spare committed memory in the wrong zones prevents allocation
job003899 closed optional VMArenaGrow can return RESOURCE instead of COMMIT_LIMIT
job003900 closed nice Can't run tests with ASLR turned off
job003901 closed nice Can't run a single test under the test runner
job003902 open nice commpre/commpost distinction is unnecessary
job003905 open nice Can't build the MPS in parallel
job003906 closed nice Not clear whether pointers should be stored in client or base form
job003908 closed optional Not clear that an assertion handler must not call the MPS
job003911 closed essential Can't dump stack from assertion handler
job003915 closed nice Manual in master sources offers download for nonexistent release
job003917 closed optional Clear x86 direction flag in exception handler
job003918 closed nice MVInit can fail without destroying its block pool
job003919 open nice No interface for getting bytes allocated
job003921 open optional Write barrier may be harmful to performance
job003922 closed optional Failed arena creation is not correctly unwound
job003923 closed optional Client arena fails to detect too-small size
job003924 open nice Unnecessary allocation during arena creation
job003925 closed nice No test case for removing chunks from the arena
job003926 closed optional Policy is hard to work on
job003927 closed nice No bootstrap design
job003928 open nice VM arena uses two VMs when one might do
job003929 open optional mps_arena_step uses poor estimate of collection time
job003930 closed nice Unnamed constants in arenaShouldCollectWorld
job003931 closed nice Manual claims SNC allocation point requires MPS_KEY_RANK
job003932 open optional Allocation frame documentation is unclear
job003933 closed nice ArenaPark does not accumulate trace metrics
job003934 closed nice mps_arena_step may fail to collect world even if it had time
job003935 closed nice ArenaAvail fails to check its result
job003936 closed nice Type confusion in work computation
job003937 closed essential MRG pool does not update scannedSize
job003938 closed optional Useless traces are started and progressed
job003939 closed nice No AccessSetCheck
job003941 open nice Configuration parameters are uncommented
job003942 open optional Possible hang in steptest
job003943 open nice No consistent way to discover arena configuration
job003944 open optional Arena allocation policy may allocate in blacklisted zone
job003945 open nice Easy to mistakenly omit to enable finalization messages
job003946 closed nice Assertions missing from the manual
job003947 open nice Allocation frame protocol not safe for general pools
job003949 closed nice No glossary entry for telemetry system
job003950 closed nice Manual not compatible with Sphinx 1.3.1
job003951 closed essential clean-up after assertion failure may fail re-entering the MPS
job003953 open optional Definalization doesn't scale
job003954 closed optional Arena allocation policy does not interact intelligently with the reserve pool
job003955 open optional No regression test for job003898
job003956 closed essential MPS doesn't build on FreeBSD 10
job003957 closed optional MutatorFaultContext interface is inconsistent and incomplete
job003960 closed optional No way to get live information about the behaviour of the MPS
job003961 closed optional Regular testing omits the Scheme example
job003962 open optional Regular testing omits the MMQA test suite
job003963 open optional Address-based hash table design is not stress-tested
job003964 closed nice lo.h is misnamed
job003965 closed nice AMS has extra implementation poolamsi.c
job003966 closed nice No design for clock.h
job003967 closed nice chain.h and locus.c have mis-matching names
job003968 closed nice Warnings when building manual with Sphinx 1.3.5
job003969 open optional Event clock implementation may not be reliable
job003970 open optional The MPS can't scan in parallel with the mutator
job003971 closed essential No automatic feedback about overheads of "hot" versus "rash" MPS
job003972 closed nice MMQA function/226.c gets stuck in the hot variety
job003973 closed nice rootCreate doesn't check its mode argument
job003974 open optional StackContext and MutatorContext could be unified
job003975 closed essential Poor performance due to imbalance between protection and scanning costs
job003976 open optional Can't scan parts of segments allocated by buffers
job003977 open optional We maintain redundant NMAKE files
job003978 open nice Too hard to experiment with different MPS parameters
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
job003985 closed optional The reservoir pool is entirely bogus
job003986 closed optional STATISTIC_DECL has rotted
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
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.
job003992 closed optional MAX_SIZE means different things to MV and MVT pools
job003993 closed optional Restrictions on maximum pool alignment are not checked or documented
job003994 closed essential MPS_TELEMETRY_CONTROL may introduce security risks
job003995 open optional MPS doesn't support debugging APs
job003997 closed optional Can't run MMQA test suite on Windows
job003998 closed essential Growing an arena can allocate a chunk with no memory
job003999 open optional Manually managed address space is only returned to the operating system via a trace
job004000 closed optional MPS condemns too many segments and takes too long to find them
job004001 closed optional No representation of the set of generations condemned by 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
job004005 open nice Destroying an automatically managed pool does not check that the arena is parked
job004006 closed essential CVM postmortem debugging support is not properly integrated into the MPS
job004007 closed essential Policy gets stuck when buffers exceed capacity of generation
job004008 open optional AMSSegMerge loses buffer on high segment
job004009 open nice Can't split a segment if buffer is above the split point
job004010 closed optional No check that collecting a generation reduces its "new size" to zero
job004011 closed essential Policy gets stuck when the live set triggers the dynamic criterion
job004012 closed nice No function SegHasBuffer
job004016 open optional AMC pool may scan parts buffered segments many times
job004017 closed optional MVFF is slow in the hot variety
job004018 closed essential Documentation (and test cases) are wrong about mps_collections
job004019 closed essential Can't handle access violation if arena is locked
job004020 closed nice Running and debugging MMQA test cases is laborious
job004021 closed essential Computed chunk size assertion may fail
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
job004024 open nice Accounting overheads are too high on mark & sweep pools
job004025 open nice Duplicate code between pool classes
job004026 closed essential Failed shield assertions with DEEP checking
job004027 duplicate essential Memory corruption due to multiple arenas in multiple threads
job004028 closed optional fotest fails with DEEP checking
job004029 closed essential mpsicv fails with DEEP checking
job004030 closed optional Failed shield assertion in finalization tests with deep checking
job004035 open optional Thread roots not suitable for user-level threads
job004036 closed essential Assertion failure in RootCheck with root of type RootTHREAD
job004037 closed essential Compilation of apss.c fails with GCC 6.1
job004038 closed nice Hard to keep "Common assertions" up to date
job004039 closed nice Mistakes and omissions in the manual
job004040 closed essential Use of uninitialized variable in ProtThreadRegister on XC
job004041 closed essential Assertion failure in fotest on ananll
job004042 closed essential Assertion failure in apss on w3i3mv
job004043 closed essential Assertion failure in apss on xci3ll
job004044 closed essential MMQA function/150.c fails in hot variety on lii6ll
job004045 closed optional MMQA test suite fails on FreeBSD
job004046 closed optional Assertion failure in ananmv
job004047 closed nice Inconvenient to run multiple MMQA testsets
job004048 closed optional MMQA test cases fail on w3i6mv
job004049 closed essential Allocation between whiten and reclaim/detach is not accounted as condemned
job004052 closed nice Release procedure does not update version document
job004054 closed essential Can't destroy arena with outstanding finalization messages
job004055 closed optional Documentation for mps_root_create_area_tagged is incorrect
job004056 closed optional lockEnsureGlobalLock is not thread-safe on Windows
job004057 open nice Warning pragmas are not localised around the bad cases
job004061 closed essential Manual does not build with Sphinx 1.6
job004062 closed optional fork() unsupported on FreeBSD, Linux and macOS
job004063 closed nice Easy to miss mps_addr_pool
job004065 closed optional Scan area functions not flexible enough
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
job004069 closed nice macOS thread registration guard is ineffective and unnecessary
job004070 closed optional LO and AWL pools fail to detect invalid exact references
job004072 closed optional MRG segments needlessly set the write barrier
job004073 closed nice wasMarked protocol is unnecessarily complex
job004074 closed optional mps_definalize might not work
job004076 closed essential MPS does not compile with GCC 7
job004077 closed nice No test cases for bogus arguments to mps_finalize
job004078 closed nice Typedefs use int when unsigned would be better
job004080 open nice Telemetry output not appropriate for interactive use
job004081 closed nice Event descriptions are in a mess
job004082 closed optional ztfm.c does not compile with Microsoft Visual C 2015
job004083 closed nice ChainCreate calls ControlAlloc twice
job004084 closed optional MMQA test function/232.c crashes
job004085 open optional MPS doesn't cooperate well with other SEGV handlers
job004086 closed essential Assertion failure in amssshe
job004087 closed nice GenDescCondemned should check that some bytes were condemned
job004088 open nice Can't destroy an allocation point with a reserve
job004089 closed nice No smoke test coverage of mps_arena_roots_walk
job004090 closed optional Walking the roots means you can't walk the formatted objects
job004091 open nice No support for saving and restoring automatically managed memory
job004092 closed nice MMQA test cases fail on 32-bit platforms
job004093 closed optional Predicted mortality is bogus for collection of the world
job004094 closed optional Trace mortality prediction is bogus
job004095 open nice No need for two classes of MRG segment
job004096 closed optional MMQA fails to handle assertion failures
job004097 closed optional MMQA ignores assertions in tests with OUTPUT_SPEC
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
job004101 closed nice Plain CBS doesn't work
job004102 closed optional arenaFreeLandInsertSteal might pass an empty range to LandInsert
job004103 open nice No smoke test coverage of mapping failure in pagesMarkAllocated
job004104 closed nice fotest fails with "arena commit limit exceeded"
job004105 open optional Time and space overheads are high
job004106 closed nice mps_collections doesn't count all collections.
job004107 closed nice Debugging chapter is out of date
job004108 closed essential MPS does not build with Xcode 10.0
job004109 closed nice Hash table advice does not mention sets
job004113 closed essential MPS does not compile with GCC 7.3
job004142 open nice MPS sources contain links to private documents
job004147 closed nice MMQA test function/167.c fails on w3i6mv
job004148 closed nice MMQA relies on deprecated API mps_tramp
job004149 closed nice MMQA tests conerr/60.c to conerr/68.c fail on w3i6mv
job004156 closed essential MPS does not compile with GCC 8.3
job004158 open essential Register scanning approach is not reliable
job004161 closed optional tagtest fails on lii6gc
job004162 closed essential MPS does not compile with Clang 6.0.0
job004163 closed optional Scheme example does not build with Clang 11
job004164 closed nice Warning from GCC
job004165 closed critical MPS is to be BSD 2-clause licenced.
job004166 open essential MPS Contributing agreement requires review and update