[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