Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  16 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
codesite-nore...@google.com  
View profile  
 More options Sep 8 2012, 6:08 am
From: codesite-nore...@google.com
Date: Sat, 08 Sep 2012 10:08:57 +0000
Local: Sat, Sep 8 2012 6:08 am
Subject: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
Status: New
Owner: ----

New issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

I first noticed this when testing in Chrome 22.0.1229.39 beta and  
23.0.1259.1 canary.

It seems a critical bug can be reliably reproduced when using the  
in-browser database Crossfilter [1] and executing the same few simple  
filters in sequence.

I investigated and managed to reproduce this using a simple test case in  
both V8 3.12 and latest master:  
https://v8.googlecode.com/svn/branches/bleeding_edge@12470

When using ia32.release, there is no error but the printed count is  
incorrect. It should be 600000, and I get something like 119638.

When using ia32.debug, there is a fatal error, the trace for which is  
attached.

Lastly, this problem doesn't appear to occur in Chrome stable, 21.0.1180.89.

The attached files are:
- crossfilter.js, the stock version of Crossfilter in use.
- bug.js, the test case
- debug.js, the combined crossfilter.js and 2x bug.js (it usually needs to  
be run twice to reproduce/activate the JIT).
- trace.txt, the trace when ia32.debug is used.

[1]: http://square.github.com/crossfilter/

Attachments:
        crossfilter.js  36.6 KB
        bug.js  528 bytes
        debug.js  37.6 KB
        trace.txt  4.4 KB


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 8 2012, 6:22 am
From: codesite-nore...@google.com
Date: Sat, 08 Sep 2012 10:22:13 +0000
Local: Sat, Sep 8 2012 6:22 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #1 on issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

I think the function where it's going wrong is filterIndex(bounds). In  
particular, it seems like one of the if-statement conditionals is  
completely ignored:

       // Fast incremental update based on previous hi index.
       if (hi1 > hi0) {
         for (i = Math.max(lo1, hi0), j = hi1; i < j; ++i) {
           filters[k = index[i]] ^= one;
           added.push(k);
         }
       }

I've tried inserting console.log statements here and this block seems to  
execute when hi1 <= hi0, leading to incorrect results.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 10 2012, 6:34 am
From: codesite-nore...@google.com
Date: Mon, 10 Sep 2012 10:34:14 +0000
Local: Mon, Sep 10 2012 6:34 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
Updates:
        Status: Assigned
        Owner: mstarzin...@chromium.org
        Cc: da...@chromium.org jkumme...@chromium.org
        Labels: Type-Bug Priority-High

Comment #2 on issue 2326 by mstarzin...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

I'll look into that.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 13 2012, 7:09 am
From: codesite-nore...@google.com
Date: Thu, 13 Sep 2012 11:09:01 +0000
Local: Thurs, Sep 13 2012 7:09 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #3 on issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Thanks, let me know if you need any further information.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 13 2012, 1:22 pm
From: codesite-nore...@google.com
Date: Thu, 13 Sep 2012 17:22:28 +0000
Local: Thurs, Sep 13 2012 1:22 pm
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #4 on issue 2326 by mstarzin...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

I am able to reproduce. It seems to be another bug in sharing of optimized  
code. If I run with --nocache-optimized-code, then the issue disappears.  
Will investigate further.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 13 2012, 1:29 pm
From: codesite-nore...@google.com
Date: Thu, 13 Sep 2012 17:29:00 +0000
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #5 on issue 2326 by mstarzin...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

And yes, your initial guess that it has to do with filterIndex() was right,  
that is the only code that is shared, and that happens right before the  
assertion. If you run with --trace-opt you get this:

[found optimized code for: filterIndex / 26242e35]

We also share optimized code in our fast new closure stub, however  
--dump-counters reveals that this wasn't the case for the code at hand:

c:V8.FastNewClosureInstallOptimized | 0 |
c:V8.FastNewClosureTotal            | 0 |
c:V8.FastNewClosureTryOptimized     | 0 |


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 13 2012, 1:41 pm
From: codesite-nore...@google.com
Date: Thu, 13 Sep 2012 17:41:04 +0000
Local: Thurs, Sep 13 2012 1:41 pm
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #6 on issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Interesting, thanks for looking into this!

It seems I'm unable to obtain the counters output when a fatal error occurs  
though, did you check for the error when generating your counters output  
above?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 13 2012, 1:44 pm
From: codesite-nore...@google.com
Date: Thu, 13 Sep 2012 17:44:16 +0000
Local: Thurs, Sep 13 2012 1:44 pm
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #7 on issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Ah, but I've verified your counters output using ia32.release, sorry for  
the noise:

| c:V8.FastNewClosureInstallOptimized                            
|           0 |
| c:V8.FastNewClosureTotal                                        
|           0 |
| c:V8.FastNewClosureTryOptimized                                
|           0 |


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 14 2012, 6:44 am
From: codesite-nore...@google.com
Date: Fri, 14 Sep 2012 10:44:57 +0000
Local: Fri, Sep 14 2012 6:44 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
Updates:
        Status: Fixed

Comment #8 on issue 2326 by mstarzin...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Fixed in r12504.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Sep 14 2012, 6:48 am
From: codesite-nore...@google.com
Date: Fri, 14 Sep 2012 10:48:27 +0000
Local: Fri, Sep 14 2012 6:48 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #9 on issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Fantastic, thank you!


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Oct 4 2012, 3:47 am
From: codesite-nore...@google.com
Date: Thu, 04 Oct 2012 07:47:31 +0000
Local: Thurs, Oct 4 2012 3:47 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #10 on issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

It looks like this bug may have reached Chrome stable (22.0.1229.79):  
https://github.com/square/crossfilter/issues/40

What's the best way to make sure this fix is included in Chrome stable?  
It's quite serious as it affects all JavaScript applications that use  
Crossfilter.

(If there is a temporary workaround, that might be useful to know, too.)

Thanks!


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Oct 4 2012, 4:05 am
From: codesite-nore...@google.com
Date: Thu, 04 Oct 2012 08:05:04 +0000
Local: Thurs, Oct 4 2012 4:05 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #11 on issue 2326 by mstarzin...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Yes, we need to merge this back to V8 3.13 and 3.12 branches. I will make  
sure it gets merged back.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Oct 4 2012, 5:43 am
From: codesite-nore...@google.com
Date: Thu, 04 Oct 2012 09:43:24 +0000
Local: Thurs, Oct 4 2012 5:43 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #12 on issue 2326 by jkumme...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Issue chromium:153765 has been merged into this issue.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Oct 5 2012, 7:34 am
From: codesite-nore...@google.com
Date: Fri, 05 Oct 2012 11:34:22 +0000
Local: Fri, Oct 5 2012 7:34 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #13 on issue 2326 by jason.da...@gmail.com: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Great, thank you. Do you know roughly how long it will take to hit Chrome  
stable?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Oct 5 2012, 8:17 am
From: codesite-nore...@google.com
Date: Fri, 05 Oct 2012 12:17:07 +0000
Local: Fri, Oct 5 2012 8:17 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #14 on issue 2326 by mstarzin...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Usually it would take less than a week to hit Chrome Canary. Unfortunately  
we currently have a hard time stabilizing V8 bleeding edge so I cannot give  
a time-frame in this case. And without Canary coverage we cannot merge to  
stable channels. I'll update the issue when I have news.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
codesite-nore...@google.com  
View profile  
 More options Oct 12 2012, 11:38 am
From: codesite-nore...@google.com
Date: Fri, 12 Oct 2012 15:38:37 +0000
Local: Fri, Oct 12 2012 11:38 am
Subject: Re: Issue 2326 in v8: Fatal error: CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed

Comment #15 on issue 2326 by mstarzin...@chromium.org: Fatal error:  
CHECK(BailoutId(data->OsrAstId()->value()) == ast_id) failed
http://code.google.com/p/v8/issues/detail?id=2326

Merged to V8 3.13 branch (Chrome M23) in v8:r12716.

https://code.google.com/p/v8/source/detail?r=12716


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »