[Webkit-unassigned] [Bug 128433] New: Web Inspector: restoring a breakpoint tree element on re-open can throw an exception
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 7 18:36:53 PST 2014
https://bugs.webkit.org/show_bug.cgi?id=128433
Summary: Web Inspector: restoring a breakpoint tree element on
re-open can throw an exception
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: NEW
Severity: Normal
Priority: P2
Component: Web Inspector
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: bburg at apple.com
CC: timothy at apple.com, joepeck at webkit.org,
webkit-bug-importer at group.apple.com, graouts at apple.com
If the inspector tries to restore a selected breakpoint tree element on re-open, sometimes it will fail hit an assertion in ResourceSidebarPanel.
After some diagnosis, JoePeck and I think that the following sequence of events leads to this:
0. inspector receives the frame resource tree
1. debugger manager gets ResourceAdded event
2. debugger manager adds breakpoints for the resource
3. breakpoint tree element gets added
4. tree element matches pending view state cookie, so we try to select the breakpoint
5. selecting the breakpoint calls showSourceCodeLocation, which shows the source code, adds a new back/forward entry, and selects the represented object in the sidebar
6. the resource does not yet have a sidebar tree element, so we hit an assertion.
So, we think this happens because the tree element has not yet been created by Frame's event listener for ResourceAdded, or it is in the frame tree element's update queue and hasn't been added to the tree yet.
Possible fix:
a) To fix the dependency on ResourceAdded event listener order, defer and coalesce NavigationSidebarPanel's call to this._checkElementsForPendingViewStateCookie(treeElement); to the next run loop.
b) To ensure that the work queue is empty, flush pending content tree outline updates when resourcesContentTreeOutline.findTreeElement() is called.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list