Phase 6-2.4: Fix SuperSlab free SEGV: remove guess loop and add memory readability check; add registry atomic consistency (base as _Atomic uintptr_t with acq/rel); add debug toggles (SUPER_REG_DEBUG/REQTRACE); update CURRENT_TASK with results and next steps; capture suite results.
This commit is contained in:
@ -374,7 +374,7 @@ static SuperSlab* superslab_refill(int class_idx) {
|
||||
g_superslab_refill_debug_once = 1;
|
||||
int err = errno;
|
||||
fprintf(stderr,
|
||||
"[DEBUG] superslab_refill NULL detail: class=%d prev_ss=%p active=%u bitmap=0x%08x prev_meta=%p used=%u cap=%u slab_idx=%u reused_freelist=%d free_idx=%d errno=%d\n",
|
||||
"[DEBUG] superslab_refill returned NULL (OOM) detail: class=%d prev_ss=%p active=%u bitmap=0x%08x prev_meta=%p used=%u cap=%u slab_idx=%u reused_freelist=%d free_idx=%d errno=%d\n",
|
||||
class_idx,
|
||||
(void*)prev_ss,
|
||||
(unsigned)prev_active,
|
||||
@ -387,6 +387,8 @@ static SuperSlab* superslab_refill(int class_idx) {
|
||||
free_idx_attempted,
|
||||
err);
|
||||
}
|
||||
// Clear errno to avoid confusion in fallback paths
|
||||
errno = 0;
|
||||
return NULL; // OOM
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user