Title | MVT assertion gcseg->buffer == NULL in djbench |
Status | closed |
Priority | optional |
Assigned user | Richard Brooksby |
Organization | Ravenbrook |
Description | p4 sync //info.ravenbrook.com/project/mps/branch/2013-06-08/benchmarks/...@182776 xcodebuild -config Release -target djbench xc/Release/djbench --seed=1857658610 mvt seed: 1857658610 /Volumes/Silverbird-HD/Local/Users/rb/p4/ravenbrook/mps/branch/benchmarks/code/seg.c:1113: MPS ASSERTION FAILED: gcseg->buffer == NULL /Volumes/Silverbird-HD/Local/Users/rb/p4/ravenbrook/mps/branch/benchmarks/code/seg.c:626: MPS ASSERTION FAILED: SigCheck Seg: seg Segmentation fault: 11 |
Analysis | The MVT pool attempts to free segments to which buffers are still attached. It appears that MVTReturnSegs does nothing to avoid returning a buffered segment that has been entirely freed without first detaching the buffer (if that's possible). Note that the assertion takes many minutes to reach in a COOL build. |
How found | manual_test |
Evidence | See description. |
Test procedure | djbench --seed=1857658610 mvt |
Created by | Richard Brooksby |
Created on | 2013-06-16 19:14:41 |
Last modified by | Richard Brooksby |
Last modified on | 2014-02-19 13:58:37 |
History | 2013-06-16 RB Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
184389 | closed | 2014-02-19 13:58:37 | Richard Brooksby | Detaching buffers from segments before freeing them in MVT. |