You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
dict/func/code watchers may call dealloc callback with exception set #102385
func_dealloc, code_dealloc, and dict_dealloc all may call watcher callbacks with a deallocation event. We shouldn't call a user callback with a pending exception set; this could cause all kinds of hard-to-debug issues. We should save/restore the exception around the callback.
On second thought, I think the performance cost of checking for a pending exception and then saving/restoring is too high, given that watchers are a low-level API intended for high performance. We should rather fix this by documenting that watchers may be called (in the case of dealloc events) with a pending exception set.
Activity
carljm commentedon Mar 4, 2023
On second thought, I think the performance cost of checking for a pending exception and then saving/restoring is too high, given that watchers are a low-level API intended for high performance. We should rather fix this by documenting that watchers may be called (in the case of dealloc events) with a pending exception set.
carljm commentedon Mar 8, 2023
Fixed in #102382