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 | nice | 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 | optional | 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 | essential | 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 | Assertion failure !AMS_IS_INVALID_COLOUR |
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 | optional | 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 | essential | 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 |
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 | 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 |
job003356 | essential | 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 |
job003371 | essential | MPS spends too much time making system calls |
job003374 | nice | No documentation about low memory situations |
job003384 | optional | Collector goes mad when low on address space |
job003385 | essential | Performance is poor in large address space on OS X |
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 | optional | 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 |
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 | optional | 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 | MVFF uses segments unnecessarily |
job003510 | optional | mps_free doesn't check all addresses in range |
job003512 | nice | Can't configure MVT alignment |
job003513 | optional | Arena extension callbacks are undocumented |
job003515 | nice | Can't collect diverse MPS messages in order |
job003519 | essential | Clock values in text telemetry logs on Windows have top 32 bits zero |
job003520 | optional | MVT assertion gcseg->buffer == NULL in djbench |
job003522 | optional | PoolFix is on the critical path but contains checks |
job003523 | optional | Accessing to weak tables on 64-bit causes them to be scanned. |
job003524 | nice | Arena states are confusing |
job003525 | optional | Pointers from MPS stack pin down user objects |
job003532 | optional | MPS kit fails to install shared libraries |
job003533 | nice | It's not clear what's the best way to build the MPS |
job003535 | nice | Thread suspension interface is hacky, error-prone |
job003539 | optional | MPS pause times are not well regulated |
job003553 | essential | Several "make test" targets fail on Windows |
job003554 | essential | MPS slows down considerably when arena is extended |
job003559 | nice | Multiple thread registration does not work on all platforms |
job003561 | essential | amcssth fails on lii6gc with RES_COMMIT_LIMIT |
job003594 | nice | Makefiles not compatible with --jobs option |
job003595 | nice | Unsupported platform Linux+Clang not detected |
job003596 | optional | Clang/LLVM not supported on Linux |
job003619 | optional | PageOfTract macro doesn't compile in Clang 3.0 |
job003628 | nice | MPS produces warnings when compiled with -Wextra |
job003629 | nice | MPS produces warnings when compiled with -Wwrite-strings |
job003630 | nice | Bad variety not detected |
job003631 | nice | User guide doesn't cover stretchy vector problem |
job003632 | nice | Difficult to integrate with application that has non-atomic updates |
job003633 | essential | AMS requires undocumented AMS_SUPPORT_AMBIGUOUS keyword argument |
job003634 | essential | AMS allocation points require undocumented RANK keyword argument |
job003635 | nice | Poor error message if you fail to specify a required keyword argument |
job003636 | essential | Can't pass debugging options by keyword argument |
job003638 | nice | Incorrect accounting in MVT |
job003643 | nice | Can't use the MPS with clang -fsanitize=address |
job003644 | optional | Reserve/commit protocol does not cope with exceptions |
job003653 | nice | Scanner makes no use of __builtin_prefetch |
job003654 | essential | Bit table scanning on segment allocation is not scalable |
job003657 | optional | ztfm test case does not get run |
job003658 | nice | zcoll test case does not get run |
job003659 | optional | Too hard to maintain the test suite |
job003660 | nice | Asssertion "ring->next != NULL" in ztfm test |
job003661 | essential | No procedure for merging custom work |
job003662 | nice | spi3.c is mis-named |
job003666 | essential | Design documents have formatting errors |
job003667 | optional | Locus stress test only gets run on Windows |
job003668 | essential | Stack scanner assumes all references are word-aligned |
job003670 | optional | Chains not generalized across pools |
job003671 | nice | Non-moving pools don't make best use of zones |
job003672 | optional | MVT attempts to free a segment with a buffer attached |
job003674 | essential | Hysteresis overwhelmed by allocation |
job003675 | optional | Can't build manual with Python 3 |
job003676 | optional | Scheme example has warnings and errors in Xcode |
job003677 | essential | Keyword arguments not robust against user error |
job003680 | optional | Can't assert in external interface |
job003681 | nice | MPS does not compile with -Wunreachable-code |
job003683 | optional | Epoch number can wrap around on 32-bit platforms |
job003684 | nice | Too hard to swap out address range managers |
job003685 | nice | No encapsulation of CBS-failing-over-to-Freelist pattern |
job003691 | nice | CHECKL is used where CHECKD_NOSIG would give more control |
job003692 | optional | MPS deep checking fails at bootstrap |
job003693 | nice | The "method" suffix on MPS types is applied too widely |
job003697 | essential | Incorrect result code sometimes returned when commit limit is hit |
job003700 | essential | Memory returned to operating system too eagerly |
job003701 | optional | MVSpanAlloc shows up in GC profiles |
job003703 | essential | amcssth fails with "unable to obtain resources" |
job003704 | optional | No multi-threaded test cases on Windows |
job003709 | optional | MPS doesn't compile under Pelles C |
job003711 | nice | Compiling windows.h takes a long time |
job003712 | nice | No way to compile the MPS one-file-at-a-time on standard OS X |
job003713 | nice | Inconvenient to add new parts on Windows |
job003714 | nice | ArenaRootsWalk does not check the result of TraceAddWhite |
job003715 | nice | Warning pragmas may be unnecessary |
job003716 | nice | "ANSI" platform is not regularly tested |
job003719 | nice | Hard to test and debug threading behaviour |
job003721 | nice | No stack scanning test case |
job003722 | nice | awlut fails on w3i6pc |
job003724 | nice | qs failure on ANSI platform |
job003725 | nice | Classes are not checked |
job003737 | nice | Pool class attributes incorrect, unchecked |
job003738 | nice | Assertion in mps_arena_formatted_objects_walk if you have an AMS pool |
job003739 | essential | Blocks in AWL and AMS pools are not finalized |
job003740 | optional | mpswin.h may change the setting of WIN32_LEAN_AND_MEAN |
job003741 | nice | mpsw3.h is unnecessary |
job003742 | nice | Root modes not in sync |
job003745 | essential | AWL alignment is not configurable |
job003746 | essential | None of the smoke tests use AMCZ |
job003747 | nice | No default value for MPS_KEY_ARENA_SIZE |
job003748 | nice | Alignment requirements for manual classes are needlessly strict |
job003749 | nice | Hard to write portable debugging pool options |
job003750 | nice | No keyword arguments for arena commit limit |
job003751 | nice | MVFF debug does not work with large objects |
job003753 | essential | nailboardtest failure |
job003754 | nice | finaltest failure |
job003755 | optional | Telemetry tools not regularly tested |
job003756 | essential | eventtxt can't process the telemetry output of amcssth |
job003757 | optional | The MPS does not build with clang -Wconversion |
job003758 | nice | The MPS does not build with gcc -Wconversion |
job003759 | nice | We don't eat our own dog food |
job003760 | essential | mpsicv failures |
job003761 | nice | airtest failure on lii3gc |
job003762 | nice | steptest is too slow for a smoke test |
job003763 | nice | No easy way to automatically clear freed memory |
job003764 | optional | Scanning rate is way too high |
job003765 | nice | MVT uses GCSeg but does not need GC features |
job003766 | nice | Splitting and merging complicates writing new seg classes |
job003767 | nice | Describe output is hard to read |
job003768 | nice | Unclear if lockli is required |
job003769 | nice | README out of date wrt WOW64 on Windows 7 |
job003770 | nice | MPS does not compile from C++ |
job003771 | essential | AMS with default args never gets collected |
job003772 | essential | AWL doesn't provoke collections |
job003773 | essential | Objects in LO pools are not all finalized |
job003774 | critical | The MPS does not build on windows. |
job003775 | optional | Creating task branch from custom doesn't work |
job003776 | nice | Pool generations don't refer to the generation they belong to |
job003778 | nice | SegCheck slow in hot variety |
job003779 | essential | RASH variety does not compile |
job003780 | optional | No test case for register scanning |
job003781 | nice | No automated performance test |
job003782 | essential | FALSE is not a safe default value for MPS_KEY_AMS_SUPPORT_AMBIGUOUS |
job003783 | optional | ChainCondemnAuto condemns too many generations |
job003784 | nice | mps_class_t is mis-named |
job003786 | nice | No automated test of the event subsystem |
job003787 | nice | No systematic interface to size of pools |
job003789 | nice | MPS does not try collecting when out of memory |
job003790 | optional | Segment descriptors could be more efficiently managed |
job003791 | nice | Can't set the rank on an AMC/AMCZ allocation point |
job003792 | nice | AMS and AWL don't update summaries of condemned segments |
job003794 | optional | Hard to predict the mortality in a generation |
job003795 | nice | Arena extensions are not adaptive |
job003796 | optional | White segment lookup is slow |
job003797 | optional | AMC space is lost to pinning |
job003798 | optional | Tract tables are inflexible |
job003799 | optional | Incrementally collecting the nursery may waste time |
job003802 | nice | Manual unclear about exact collection |
job003803 | nice | Hard to discover roots |
job003805 | nice | Bit table scanning is unoptimized |
job003811 | essential | Missing dependencies for benchmarks |
job003812 | optional | MVAlloc taking significant CPU in profiles |
job003813 | optional | TraceReclaim looks at every segment |
job003814 | nice | {VM,Client}ArenaReserved iterates over the chunks |
job003815 | optional | Freeing a page never destroys a chunk |
job003816 | nice | Can't specify generation per allocation point |
job003820 | nice | Scheme interpreter table_set is wrong |
job003821 | optional | No test for "make install" |
job003822 | optional | Emergency garbage collection is untested |
job003823 | optional | No control over constant factor in tract management |
job003824 | optional | No control over the constant factor in AMC segment overhead |
job003825 | nice | Unused closure arguments are unchecked |
job003826 | nice | Can't iterate over CBS while deleting some nodes |
job003832 | optional | CVM memory debugging may be redundant |
job003833 | nice | "Arena alignment" is a misleading name |
job003835 | nice | SegPrefs are poorly named |
job003836 | nice | PageRetStruct is obsolete |
job003837 | nice | No control over which objects are "large" |
job003838 | nice | MVT uses segments unnecessarily |
job003839 | nice | No benchmarks for space performance |
job003841 | optional | Segs are not Exposed when AMSBlacken calls amsIterate |
job003842 | nice | Missing dependencies in nmake build system |
job003845 | essential | Large arena grain sizes cause massive AMC fragmentation |
job003846 | nice | No default find dependent function |
job003847 | nice | Allocation clock inconsistency in handling of AMC segment padding |
job003848 | optional | Access violation in gcbench on Windows |
job003850 | optional | ANSI plinth doesn't flush telemetry on error |
job003851 | optional | mpseventtxt drops top word of clock on w3i3mv |
job003852 | nice | No heap consistency checker |
job003853 | nice | AMCFixForward has useless newRef parameter |
job003854 | nice | nmake clean failure |
job003855 | nice | Manual not explicit about scanning/skipping forwarding/padding objects |
job003856 | nice | amcReclaimNailed creates too many padding objects |
job003857 | optional | AMC now slower than 1.113 |
job003858 | nice | Allocating segments in control pool has a bad complexity |
job003859 | nice | Assertion failures in amcssth |
job003863 | nice | mps_io_* functions are misleadingly named |
job003864 | nice | Uncollected finalization messages lead to retention |
job003865 | nice | Unfinalizable objects can be registered for finalization |
job003866 | nice | mps_arena_has_addr fails for address in unsegmented pool classes |
job003867 | nice | RankAMBIG is misleadingly used to mean "minimum rank" |
job003868 | nice | Test function/228.c doesn't detect assertions |
job003869 | nice | Reservoir refuses to supply memory |
job003870 | essential | Can't set MPS_KEY_SPARE |
job003871 | nice | MMQA test function/165.c failure |
job003872 | nice | MMQA test function/167.c failure |
job003873 | nice | MMQA test function/136.c failure |
job003874 | nice | MMQA test function/214.c failure |
job003875 | nice | MMQA test function/45.c failure |
job003876 | nice | MMQA test function/170.c failure |
job003877 | nice | MMQA test function/148.c failure |
job003878 | optional | SNC pool class missing from file-at-a-time builds |
job003879 | optional | SNC not tested by main test suite |
job003880 | optional | SNC does not implement size interface |
job003881 | nice | SNC never returns memory to the arena |
job003882 | optional | sncss test failure |
job003883 | optional | SNC walks and scans dead objects |
job003884 | essential | mps_pool_free_size wrong for AWL, LO in hot variety |
job003885 | nice | Unclear when to use AVERT in mpsi.c |
job003887 | optional | LD functions don't check their arena argument |
job003889 | nice | No error if you destroy a format that's still in use by a pool |
job003890 | nice | No error if you create a pool using a format from another arena |
job003892 | nice | Pool statistics are not used |
job003893 | essential | Arena contracted callback gets called with invalid arena |
job003894 | nice | Intrinsic functions not used on Windows |
job003895 | nice | No interface to logging control |
job003898 | optional | Spare committed memory in the wrong zones prevents allocation |
job003899 | optional | VMArenaGrow can return RESOURCE instead of COMMIT_LIMIT |
job003900 | nice | Can't run tests with ASLR turned off |
job003901 | nice | Can't run a single test under the test runner |
job003902 | nice | commpre/commpost distinction is unnecessary |
job003905 | nice | Can't build the MPS in parallel |
job003906 | nice | Not clear whether pointers should be stored in client or base form |
job003908 | optional | Not clear that an assertion handler must not call the MPS |
job003911 | essential | Can't dump stack from assertion handler |
job003915 | nice | Manual in master sources offers download for nonexistent release |
job003917 | optional | Clear x86 direction flag in exception handler |
job003918 | nice | MVInit can fail without destroying its block pool |
job003919 | nice | No interface for getting bytes allocated |
job003921 | optional | Write barrier may be harmful to performance |
job003922 | optional | Failed arena creation is not correctly unwound |
job003923 | optional | Client arena fails to detect too-small size |
job003924 | nice | Unnecessary allocation during arena creation |
job003925 | nice | No test case for removing chunks from the arena |
job003926 | optional | Policy is hard to work on |
job003927 | nice | No bootstrap design |
job003928 | nice | VM arena uses two VMs when one might do |
job003929 | optional | mps_arena_step uses poor estimate of collection time |
job003930 | nice | Unnamed constants in arenaShouldCollectWorld |
job003931 | nice | Manual claims SNC allocation point requires MPS_KEY_RANK |
job003932 | optional | Allocation frame documentation is unclear |
job003933 | nice | ArenaPark does not accumulate trace metrics |
job003934 | nice | mps_arena_step may fail to collect world even if it had time |
job003935 | nice | ArenaAvail fails to check its result |
job003936 | nice | Type confusion in work computation |
job003937 | essential | MRG pool does not update scannedSize |
job003938 | optional | Useless traces are started and progressed |
job003939 | nice | No AccessSetCheck |
job003941 | nice | Configuration parameters are uncommented |
job003942 | optional | Possible hang in steptest |
job003943 | nice | No consistent way to discover arena configuration |
job003944 | optional | Arena allocation policy may allocate in blacklisted zone |
job003945 | nice | Easy to mistakenly omit to enable finalization messages |
job003946 | nice | Assertions missing from the manual |
job003947 | nice | Allocation frame protocol not safe for general pools |
job003949 | nice | No glossary entry for telemetry system |
job003950 | nice | Manual not compatible with Sphinx 1.3.1 |
job003951 | essential | clean-up after assertion failure may fail re-entering the MPS |
job003953 | optional | Definalization doesn't scale |
job003954 | optional | Arena allocation policy does not interact intelligently with the reserve pool |
job003955 | optional | No regression test for job003898 |
job003956 | essential | MPS doesn't build on FreeBSD 10 |
job003957 | optional | MutatorFaultContext interface is inconsistent and incomplete |
job003960 | optional | No way to get live information about the behaviour of the MPS |
job003961 | optional | Regular testing omits the Scheme example |
job003962 | optional | Regular testing omits the MMQA test suite |
job003963 | optional | Address-based hash table design is not stress-tested |
job003964 | nice | lo.h is misnamed |
job003965 | nice | AMS has extra implementation poolamsi.c |
job003966 | nice | No design for clock.h |
job003967 | nice | chain.h and locus.c have mis-matching names |
job003968 | nice | Warnings when building manual with Sphinx 1.3.5 |
job003969 | optional | Event clock implementation may not be reliable |
job003970 | optional | The MPS can't scan in parallel with the mutator |
job003971 | essential | No automatic feedback about overheads of "hot" versus "rash" MPS |
job003972 | nice | MMQA function/226.c gets stuck in the hot variety |
job003973 | nice | rootCreate doesn't check its mode argument |
job003974 | optional | StackContext and MutatorContext could be unified |
job003975 | essential | Poor performance due to imbalance between protection and scanning costs |
job003976 | optional | Can't scan parts of segments allocated by buffers |
job003977 | optional | We maintain redundant NMAKE files |
job003978 | nice | Too hard to experiment with different MPS parameters |
job003979 | optional | Forwarding unnecessarily lowers the read barrier |
job003980 | optional | Branching tool does not distinguish between private and public Git mappings |
job003981 | optional | MPS does not benefit from huge TLB entries |
job003984 | optional | Calling mps_clock frequently is bad for performance |
job003985 | optional | The reservoir pool is entirely bogus |
job003986 | optional | STATISTIC_DECL has rotted |
job003987 | optional | Emergency collection is not documented |
job003988 | optional | No continuous integration test for 32-bit MPS on Linux and OS X |
job003989 | optional | On Windows, pause times are measured using clock(), which is wall-clock time |
job003990 | nice | MPS doesn't notice if clients write scanners that don't check error codes |
job003991 | nice | No validation tests for client formats. |
job003992 | optional | MAX_SIZE means different things to MV and MVT pools |
job003993 | optional | Restrictions on maximum pool alignment are not checked or documented |
job003994 | essential | MPS_TELEMETRY_CONTROL may introduce security risks |
job003995 | optional | MPS doesn't support debugging APs |
job003997 | optional | Can't run MMQA test suite on Windows |
job003998 | essential | Growing an arena can allocate a chunk with no memory |
job003999 | optional | Manually managed address space is only returned to the operating system via a trace |
job004000 | optional | MPS condemns too many segments and takes too long to find them |
job004001 | optional | No representation of the set of generations condemned by a trace |
job004002 | optional | Can't implement incremental condemn |
job004004 | optional | mps_arena_pause_time and mps_arena_pause_time_set are not covered |
job004005 | nice | Destroying an automatically managed pool does not check that the arena is parked |
job004006 | essential | CVM postmortem debugging support is not properly integrated into the MPS |
job004007 | essential | Policy gets stuck when buffers exceed capacity of generation |
job004008 | optional | AMSSegMerge loses buffer on high segment |
job004009 | nice | Can't split a segment if buffer is above the split point |
job004010 | optional | No check that collecting a generation reduces its "new size" to zero |
job004011 | essential | Policy gets stuck when the live set triggers the dynamic criterion |
job004012 | nice | No function SegHasBuffer |
job004016 | optional | AMC pool may scan parts buffered segments many times |
job004017 | optional | MVFF is slow in the hot variety |
job004018 | essential | Documentation (and test cases) are wrong about mps_collections |
job004019 | essential | Can't handle access violation if arena is locked |
job004020 | nice | Running and debugging MMQA test cases is laborious |
job004021 | essential | Computed chunk size assertion may fail |
job004022 | optional | Mutator is suspended while the foundation is discovered |
job004023 | optional | Summary-based write barrier invariant won't cope with pre-flip scanning |
job004024 | nice | Accounting overheads are too high on mark & sweep pools |
job004025 | nice | Duplicate code between pool classes |
job004026 | essential | Failed shield assertions with DEEP checking |
job004027 | essential | Memory corruption due to multiple arenas in multiple threads |
job004028 | optional | fotest fails with DEEP checking |
job004029 | essential | mpsicv fails with DEEP checking |
job004030 | optional | Failed shield assertion in finalization tests with deep checking |
job004035 | optional | Thread roots not suitable for user-level threads |
job004036 | essential | Assertion failure in RootCheck with root of type RootTHREAD |
job004037 | essential | Compilation of apss.c fails with GCC 6.1 |
job004038 | nice | Hard to keep "Common assertions" up to date |
job004039 | nice | Mistakes and omissions in the manual |
job004040 | essential | Use of uninitialized variable in ProtThreadRegister on XC |
job004041 | essential | Assertion failure in fotest on ananll |
job004042 | essential | Assertion failure in apss on w3i3mv |
job004043 | essential | Assertion failure in apss on xci3ll |
job004044 | essential | MMQA function/150.c fails in hot variety on lii6ll |
job004045 | optional | MMQA test suite fails on FreeBSD |
job004046 | optional | Assertion failure in ananmv |
job004047 | nice | Inconvenient to run multiple MMQA testsets |
job004048 | optional | MMQA test cases fail on w3i6mv |
job004049 | essential | Allocation between whiten and reclaim/detach is not accounted as condemned |
job004055 | optional | Documentation for mps_root_create_area_tagged is incorrect |
job004056 | optional | lockEnsureGlobalLock is not thread-safe on Windows |
job004057 | nice | Warning pragmas are not localised around the bad cases |
job004061 | essential | Manual does not build with Sphinx 1.6 |
job004062 | optional | fork() unsupported on FreeBSD, Linux and macOS |
job004063 | nice | Easy to miss mps_addr_pool |
job004065 | optional | Scan area functions not flexible enough |
job004066 | nice | Thread-handling functions could do more checking |
job004067 | nice | Telemetry interacts poorly with fork |
job004068 | nice | Duplicate thread-management code |
job004069 | nice | macOS thread registration guard is ineffective and unnecessary |
job004070 | optional | LO and AWL pools fail to detect invalid exact references |
job004072 | optional | MRG segments needlessly set the write barrier |
job004073 | nice | wasMarked protocol is unnecessarily complex |
job004074 | optional | mps_definalize might not work |
job004076 | essential | MPS does not compile with GCC 7 |
job004077 | nice | No test cases for bogus arguments to mps_finalize |
job004078 | nice | Typedefs use int when unsigned would be better |
job004080 | nice | Telemetry output not appropriate for interactive use |
job004081 | nice | Event descriptions are in a mess |
job004082 | optional | ztfm.c does not compile with Microsoft Visual C 2015 |
job004083 | nice | ChainCreate calls ControlAlloc twice |
job004084 | optional | MMQA test function/232.c crashes |
job004085 | optional | MPS doesn't cooperate well with other SEGV handlers |
job004086 | essential | Assertion failure in amssshe |
job004087 | nice | GenDescCondemned should check that some bytes were condemned |
job004088 | nice | Can't destroy an allocation point with a reserve |
job004089 | nice | No smoke test coverage of mps_arena_roots_walk |
job004090 | optional | Walking the roots means you can't walk the formatted objects |
job004091 | nice | No support for saving and restoring automatically managed memory |
job004092 | nice | MMQA test cases fail on 32-bit platforms |
job004093 | optional | Predicted mortality is bogus for collection of the world |
job004094 | optional | Trace mortality prediction is bogus |
job004095 | nice | No need for two classes of MRG segment |
job004096 | optional | MMQA fails to handle assertion failures |
job004097 | optional | MMQA ignores assertions in tests with OUTPUT_SPEC |
job004098 | optional | Use of clock() is not fork-safe |
job004099 | optional | Monitor not usable for long-running processes |
job004100 | optional | Inconsistent linearization of event times |
job004101 | nice | Plain CBS doesn't work |
job004102 | optional | arenaFreeLandInsertSteal might pass an empty range to LandInsert |
job004103 | nice | No smoke test coverage of mapping failure in pagesMarkAllocated |
job004104 | nice | fotest fails with "arena commit limit exceeded" |
job004105 | optional | Time and space overheads are high |
job004106 | nice | mps_collections doesn't count all collections. |
job004107 | nice | Debugging chapter is out of date |
job004108 | essential | MPS does not build with Xcode 10.0 |
job004109 | nice | Hash table advice does not mention sets |
job004113 | essential | MPS does not compile with GCC 7.3 |
job004142 | nice | MPS sources contain links to private documents |
job004147 | nice | MMQA test function/167.c fails on w3i6mv |
job004148 | nice | MMQA relies on deprecated API mps_tramp |
job004149 | nice | MMQA tests conerr/60.c to conerr/68.c fail on w3i6mv |
job004156 | essential | MPS does not compile with GCC 8.3 |
job004158 | essential | Register scanning approach is not reliable |
job004161 | optional | tagtest fails on lii6gc |
job004162 | essential | MPS does not compile with Clang 6.0.0 |
job004163 | optional | Scheme example does not build with Clang 11 |
job004164 | nice | Warning from GCC |
job004165 | critical | MPS is to be BSD 2-clause licenced. |
job004166 | essential | MPS Contributing agreement requires review and update |