Bug 18962 - SQUIRRELFISH: ASSERT in JSGlobalObject::restoreLocalStorage
Summary: SQUIRRELFISH: ASSERT in JSGlobalObject::restoreLocalStorage
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-09 02:17 PDT by Cameron Zwarich (cpst)
Modified: 2008-05-14 20:17 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cameron Zwarich (cpst) 2008-05-09 02:17:25 PDT
Navigation will often cause assertion failures of the form:

ASSERTION FAILED: property->attributes() & ReadOnly == 0 && property->attributes() & DontEnum == 0
(/Users/Cameron/sf/JavaScriptCore/kjs/JSGlobalObject.cpp:167 void KJS::JSGlobalObject::restoreLocalStorage(const KJS::SavedProperties&))

A consistent way to trigger this is to attempt to load Gmail, wait for it to fail, and then use the HTML view. Clicking to view a message and then going back will trigger the assertion failure.
Comment 1 Geoffrey Garen 2008-05-09 12:56:47 PDT
Merging with trunk will fix this, since trunk eliminates JSGlobalObject::restoreLocalStorage.
Comment 2 Cameron Zwarich (cpst) 2008-05-09 13:27:21 PDT
(In reply to comment #1)
> Merging with trunk will fix this, since trunk eliminates
> JSGlobalObject::restoreLocalStorage.

I figured as much, but I just wanted to make sure there is a bug in the tracker for it. It will require slightly changing ownership on the SymbolTable, because the CodeBlock won't persist along with the JSGlobalObject.
Comment 3 Geoffrey Garen 2008-05-10 10:34:57 PDT
Actually, the global object already owns the symbol table :).
Comment 4 Cameron Zwarich (cpst) 2008-05-10 11:09:56 PDT
(In reply to comment #3)
> Actually, the global object already owns the symbol table :).

Oops, my bad. Isn't it great we always do things the right way from the beginning? ;-)