Bug 18962
| Summary: | SQUIRRELFISH: ASSERT in JSGlobalObject::restoreLocalStorage | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Cameron Zwarich (cpst) <zwarich> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | ggaren, mjs, oliver |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | All | ||
| OS: | All | ||
Cameron Zwarich (cpst)
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.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Geoffrey Garen
Merging with trunk will fix this, since trunk eliminates JSGlobalObject::restoreLocalStorage.
Cameron Zwarich (cpst)
(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.
Geoffrey Garen
Actually, the global object already owns the symbol table :).
Cameron Zwarich (cpst)
(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? ;-)