Skip to content

Commit 91927f4

Browse files
bnoordhuisMayaLekova
authored andcommitted
src: fix abort when taking a heap snapshot
Remove an erroneous CHECK that asserted the persistent object's internal field pointer still pointed to a valid object. If ClearWrap() has been called, the field pointer equals nullptr and that is expected behavior. PR-URL: nodejs#18898 Fixes: nodejs#18256 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matheus Marchini <matheus@sthima.com>
1 parent 242f911 commit 91927f4

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/async_wrap.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ RetainedObjectInfo* WrapperInfo(uint16_t class_id, Local<Value> wrapper) {
124124
CHECK_GT(object->InternalFieldCount(), 0);
125125

126126
AsyncWrap* wrap = Unwrap<AsyncWrap>(object);
127-
CHECK_NE(nullptr, wrap);
127+
if (wrap == nullptr) return nullptr; // ClearWrap() already called.
128128

129129
return new RetainedAsyncInfo(class_id, wrap);
130130
}

0 commit comments

Comments
 (0)