Changeset 292075 in webkit
- Timestamp:
- Mar 29, 2022, 3:10:45 PM (5 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
debugger/Debugger.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r292037 r292075 1 2022-03-29 Patrick Angle <pangle@apple.com> 2 3 Web Inspector: Add check for null `entryScope` in JSC::Debugger::detach 4 https://bugs.webkit.org/show_bug.cgi?id=238518 5 6 Reviewed by Devin Rousso. 7 8 A virtual machine may not always have an `entryScope`, which can occur if a `JSGlobalObject` is being destructed 9 (which will call into `JSC::Debugger::Detach`) before a `VMEntryScope` is created or after a `VMEntryScope` has 10 fallen out of scope, causing the VM's `entryScope` to be null again. In the original internal issue that led to 11 finding this, this most commonly occurred in conjunction with page refresh while the debugger was paused. 12 13 Because it is possible that we were previously paused in the VM that now has no `entryScope`, we should go ahead 14 and unpause. 15 16 * debugger/Debugger.cpp: 17 (JSC::Debugger::detach): 18 1 19 2022-03-29 Patrick Angle <pangle@apple.com> 2 20 -
trunk/Source/JavaScriptCore/debugger/Debugger.cpp
r291517 r292075 172 172 JSLockHolder locker(vm); 173 173 174 if (m_isPaused && m_currentCallFrame && vm.entryScope->globalObject() == globalObject) {174 if (m_isPaused && m_currentCallFrame && (!vm.isEntered() || vm.entryScope->globalObject() == globalObject)) { 175 175 m_currentCallFrame = nullptr; 176 176 m_pauseOnCallFrame = nullptr;
Note:
See TracChangeset
for help on using the changeset viewer.