Title | qs failure on ANSI platform |
Status | closed |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | On branch/2014-03-25/ansi on the "ANSI" platform with PROTECTION_NONE and THREAD_SINGLE. See [1]: lii6ll/hot/qs: randomize(): choosing initial state (v3): 556818450. part int: 0 Also reproducible on xci6ll with that seed and with seed 768680355. |
Analysis | This happens after one collection, and in the debugger we can see that reg[2] points to a forwarding object (tag == QSEvac). |
How found | automated_test |
Evidence | [1] <https://travis-ci.org/Ravenbrook/mps-temporary/jobs/21969826 > |
Test procedure | qs |
Created by | Gareth Rees |
Created on | 2014-04-01 22:14:27 |
Last modified by | Gareth Rees |
Last modified on | 2014-10-20 17:42:16 |
History | 2014-04-01 GDR Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
185176 | closed | 2014-04-02 15:48:57 | Gareth Rees | Improve clarity of product configuration so that names more explicitly indicate what they do: * CONFIG_POLL_NONE (because the user-visible consequence is that polling is no longer supported; was CONFIG_PROTECTION_NONE). * DISABLE_LOCKS (was THREAD_SINGLE). * DISABLE_SHIELD (was THREAD_SINGLE && PROTECTION_NONE) * DISABLE_REMEMBERED_SET (was PROTECTION_NONE) When the shield is disabled, ArenaLeave asserts that there are no busy traces, and ArenaPoll is a no-op. By having functions implemented using the corresponding macro, we can avoid duplicated code, and avoid testing DISABLE_SHIELD in global.c. Remove all remaining references to MPS_PROD_EPCORE. |