WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
25454
ASSERT in CodeBlock::reparseForExceptionInfoIfNecessary after reloading mlb.com while stopped at a JS breakpoint
https://bugs.webkit.org/show_bug.cgi?id=25454
Summary
ASSERT in CodeBlock::reparseForExceptionInfoIfNecessary after reloading mlb.c...
Geoffrey Garen
Reported
2009-04-28 12:32:05 PDT
4/22/09 3:03 AM Alexey Proskuryakov: I'm often getting an assertion failure/crash when trying to reproduce <
rdar://problem/6216106
>. 1. Get a local copy of <
http://oakland.athletics.mlb.com/
> from <
rdar://problem/6425077
>. 2. Open index.html, and enable debugging in Web Inspector. 3. Set a breakpoint in trays.js in function function resetMenues. 4. Hover top menu on the page, which will make JS stop on the breakpoint. 5. Reload the page. 6. Step over in JS debugger, which is still stopped. Results: an assertion failure in CodeBlock::reparseForExceptionInfoIfNecessary(): ASSERT(newCodeBlock.m_instructionCount == m_instructionCount); This is not 100% reproducible, but happens often. In release builds, a crash occurs. 4/23/09 3:12 PM Geoff Garen: Specifically, the assertion means that we compiled the same chunk of code twice, and got a different result the second time. This probably indicates an error in the bytecode and/or JIT compiler. 4/23/09 3:45 PM Geoff Garen: One clue: Simply loading this page with the debugger enabled produces many syntax and runtime errors that aren't there with the debugger disabled. So the debugger seems to be wreaking havoc on source code and/or compilation.
Attachments
oakland.athletics.mlb.com
(1.50 MB, application/octet-stream)
2009-04-28 12:34 PDT
,
Geoffrey Garen
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Geoffrey Garen
Comment 1
2009-04-28 12:34:53 PDT
Created
attachment 29859
[details]
oakland.athletics.mlb.com
Geoffrey Garen
Comment 2
2009-04-28 12:36:41 PDT
<
rdar://problem/6815739
>
Cameron Zwarich (cpst)
Comment 3
2009-05-11 18:26:56 PDT
The bytecode generated after reparsing doesn't have any debug hooks, causing a difference in size between the old and the new bytecode.
Cameron Zwarich (cpst)
Comment 4
2009-05-11 18:40:38 PDT
Since debuggers detach themselves from global objects, it seems that the only way to fix this is to have CodeBlocks record whether they were generated with debug hooks.
Gavin Barraclough
Comment 5
2011-07-20 11:58:58 PDT
This ASSERT no longer exists (reparsing has been removed), and the linked radar is closed. Nothing to fix here.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug