| Title | Memory corruption due to multiple arenas in multiple threads |
| Status | duplicate |
| Priority | essential |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | On branch 2016-04-22/access, the new test case arenath allocates in multiple arenas in multiple threads. Running it on platform XCI6LL causes segmentation faults, illegal instruction faults, and a variety of assertion failures (the one in land.c being the most common), including: arena.c:1172: _size <= (size_t)(EventLast[EventArenaFreeKind] - EventBuffer[EventArenaFreeKind]) cbs.c:1021: MustBeA CBSZoned: land land.c:65: SigCheck LandClass: klass poolamc.c:1761: _size <= (size_t)(EventLast[EventAMCReclaimKind] - EventBuffer[EventAMCReclaimKind]) seg.c:115: _size <= (size_t)(EventLast[EventSegFreeKind] - EventBuffer[EventSegFreeKind]) seg.c:167: MustBeA InstClass: (SegClassGet()) seg.c:351: MustBeA KIND_CLASS(Seg): MustBeA(Inst, seg)->klass |
| Analysis | Running under LLDB shows that the data structures have become corrupted. This is a duplicate of job003387. |
| How found | automated_test |
| Evidence | None as yet. |
| Created by | Gareth Rees |
| Created on | 2016-05-02 11:51:09 |
| Last modified by | Gareth Rees |
| Last modified on | 2016-05-02 17:24:37 |
| History | 2016-05-02 GDR Created. |