summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/runtime/mgc0.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/runtime/mgc0.c b/src/runtime/mgc0.c
index 77a6c9377..3ebaf005f 100644
--- a/src/runtime/mgc0.c
+++ b/src/runtime/mgc0.c
@@ -326,12 +326,16 @@ objectstart(byte *b, Markbits *mbits)
// The following ensures that we are rigorous about what data
// structures hold valid pointers
- runtime·printf("runtime:objectstart Span weird: obj=%p, k=%p", obj, k);
- if (s == nil)
- runtime·printf(" s=nil\n");
- else
- runtime·printf(" s->start=%p s->limit=%p, s->state=%d\n", s->start*PageSize, s->limit, s->state);
- runtime·throw("objectstart: bad span");
+ if(0) {
+ // Still happens sometimes. We don't know why.
+ runtime·printf("runtime:objectstart Span weird: obj=%p, k=%p", obj, k);
+ if (s == nil)
+ runtime·printf(" s=nil\n");
+ else
+ runtime·printf(" s->start=%p s->limit=%p, s->state=%d\n", s->start*PageSize, s->limit, s->state);
+ runtime·throw("objectstart: bad pointer in unexpected span");
+ }
+ return nil;
}
p = (byte*)((uintptr)s->start<<PageShift);
if(s->sizeclass != 0) {