New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 11 users

Issue metadata

Status: Fixed
Last visit > 30 days ago
Closed: Aug 2012
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug-Regression

  • Only users with EditIssue permission may comment.

Sign in to add a comment

Issue 140473: REGRESSION: An item in Node::attributes disappears

Reported by, Aug 3 2012

Issue description

Chrome Version       : 21.0.1180.60
URLs (if applicable) :
Other browsers tested:
     Chrome 21 (MAC OS): FAIL
Chrome 20 (Win and MAC): OK
               Safari 5: OK
            Firefox 4.x: OK
                 IE   9: OK

What steps will reproduce the problem?
1. Open example page
2. Click on the different links some times (about 30-60 times)

What is the expected result?
Anchor should be changed after each click

What happens instead?
After some clicks Anchor not changed, click event not raised.

Additional info:
Screencast link:
Example page link:

When I attach event to elements via jQuery delegate style ($(window).on('click', '.link', function()...)), eventHandler stop calling after some time

$(window).on('click', '.link', function(){...})
problem in this line. When I precise elements selector ('.link') by adding some other container that in window, all works fine

$(window).on('click', 'ul .link', function(...){}) - this works fine

Comment 1 by, Aug 3 2012

I saw the exact same problem today, after last update Chrome 21.0.1180.60.
All of my jQuery delegated mouse event fail, no problem on other browsers.

Comment 2 by, Aug 3 2012

Labels: -OS-Windows OS-Mac

Comment 3 by, Aug 6 2012

Labels: -Type-Bug -Area-Undefined Type-Regression Area-UI
Status: Untriaged
I am able to repro the issue. 

This is a regression issue and below is the bisect info:
Good Build: 21.0.1175.0 beta
Bad Build: 21.0.1176.0 beta

Comment 4 by, Aug 6 2012

Labels: -Pri-2 Pri-1 Mstone-22
Summary: REGRESSION: Click event is missing eventually in Chrome 21 stable browser
Regression is between two Beta v.21 builds.  Merge any fix back to Chrome 21?

Comment 5 by, Aug 6 2012

It is working fine on current stable 21.0.1180.57 on Mac 10.7.4
Broken between  21.0.1180.57 and 21.0.1180.60.

Built at revision:

Comment 6 by, Aug 6 2012

Labels: ReleaseBlock-Stable

Comment 7 by, Aug 6 2012

Status: Assigned
the information here is conflicting. is the regression from .57 to .60 or 
Good Build: 21.0.1175.0 beta
Bad Build: 21.0.1176.0 beta

pavan can u please bisect again this bisect data makes no sense.

Comment 8 by, Aug 6 2012

Labels: -OS-Mac OS-All
Owner: ----
Status: Available
comment #3 holds good for me
I could repro this issue on 21.0.1176.0 on Win and Mac, while 21.0.1175.0 worked fine on both Mac OSX 10.7.4 and Win7 

Good Build: 21.0.1175.0 beta
Bad Build: 21.0.1176.0 beta

Comment 9 by, Aug 6 2012

Labels: -Mstone-22 Mstone-21
Please keep targeted at the mstone we see this in.

Comment 10 by, Aug 6 2012

ok so was bisect able to give us more info? or bisecting between those two didn't work?

Comment 11 by, Aug 6 2012

Comment 12 by, Aug 6 2012

Status: Assigned
adam is guessing it might be

tkent can u do a local build without and see if this is what regressed us?

Comment 13 by, Aug 7 2012

Labels: -Area-UI Area-WebKit
The problem occurs in quickIs function of jQuery.

        quickIs = function( elem, m ) {
                var attrs = elem.attributes || {};
                return (
                        (!m[1] || elem.nodeName.toLowerCase() === m[1]) &&
                        (!m[2] || ( || {}).value === m[2]) &&
                        (!m[3] || m[3].test( (attrs[ "class" ] || {}).value ))

elem.attributes["class"] becomes undefined though it should be an Attr object for class="link" attribute and elem.className returns "link" correctly.

Comment 14 by, Aug 7 2012

Labels: WebKit-DOM WebKit-JavaScript
I confirmed reverting didn't fix the issue.
I reproduced this issue on 22.0.1228.2 canary, but couldn't reproduce on Safari + WebKit nightly.

I guess this is a GC issue, or a Node::attributes (NamedNodeMap) issue.

Comment 15 by, Aug 7 2012

Comment 16 by, Aug 7 2012

danno tkent bisected to

looks like it might be the v8 roll?

Comment 17 by, Aug 7 2012

Summary: REGRESSION: An item in Node::elements disappears
I attach a reproduction with readable jQuery and some console output.
* How to repeat
1. Download the attached click-stop-bug-cr140473.html
2. Open it with Google Chrome 21
3. Open the JavaScript console
4. Click one of the list items repeatedly.
   It's ok to click the same item many times.
   You'll see a message like the following on every click:
       NN: window.onclick fired:[object HTMLLIElement] 
  However, the message will stop by this issue.
  I needed to click 80 times to reproduce the issue on SnowLeopard.

If we access attrs.length before attrs["class"], the issue is resolved.
If we do GC manually in DevTools, the issue is resolved (the message will be shown again).
396 KB View Download

Comment 18 by, Aug 7 2012

Summary: REGRESSION: An item in Node::attributes disappears

Comment 19 by, Aug 7 2012


Comment 20 by, Aug 7 2012

It's a V8 bug.
I bisected it down to V8 bleeding_edge revision 11780.

"During" (i.e. triggered by) the last click that works as expected, the function quickIs() is optimized. The first click after that does not work as expected. I'm attaching --print-opt-code output for quickIs() for both the last good revision (11778) and current bleeding_edge, where it is still broken.

I suspect that the elem.attributes load works (as it calls into the runtime immediately), whereas the attrs["class"] load handles a bunch of cases in generated code and is probably what's broken. I haven't tested this theory, though.
57.6 KB View Download
61.9 KB View Download

Comment 21 by, Aug 7 2012

Thanks to everyone for narrowing this down.  It turned out to be an issue with Crankshaft and interceptors (catch-all getters in the DOM).  A fix has been committed to V8 bleeding edge (r12271), which we will be pushing to Chrome as testing verifies it.

Comment 22 by, Aug 8 2012

 Issue 140430  has been merged into this issue.

Comment 23 by, Aug 8 2012

Labels: Mstone-22
We'll likely need this on the M22 v8 branch when it's ready.

Comment 24 by, Aug 8 2012

This issue is fixed . Build Used : 21.0.1180.77 (Official Build 150576)

OS : Win 7 , Mac & Linux Ubuntu 10.04/64 Bit 

Comment Regarding the dup-

Try navigating to, Chrome seems to be blacklisted .. Two days before I have navigated to the site for getting the bisect Info .Attached the screenshot.
58.5 KB View Download
39.4 KB View Download

Comment 25 by, Aug 8 2012

 Issue 140430  has been merged into this issue.

Comment 26 by, Aug 8 2012

 Issue 140430  has been merged into this issue.

Comment 27 by, Aug 9 2012

Status: Fixed

Comment 28 by Deleted ...@, Aug 23 2012

I am a common user of Google Chrome.  I recently purchased an new HP notebook running Win 7 and I am having problems with chrome loading blank pages and sometimes static pages.  I think this string deals with that and what exactly was the fix?

Comment 29 by, Aug 24 2012

I don't think your issue is related to this.  Please search for a similar issue, or file a new issue.

Comment 30 by, Oct 13 2012

Project Member
Labels: Restrict-AddIssueComment-Commit
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.

Comment 31 by, Mar 9 2013

Project Member
Labels: -Type-Regression -Area-WebKit -Mstone-21 -WebKit-JavaScript -Mstone-22 Cr-Content Type-Bug-Regression Cr-Content-JavaScript M-21 M-22

Comment 32 by, Mar 14 2013

Project Member
Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue

Comment 33 by, Apr 6 2013

Project Member
Labels: -Cr-Content Cr-Blink

Comment 34 by, Apr 6 2013

Project Member
Labels: -Cr-Content-JavaScript Cr-Blink-JavaScript

Sign in to add a comment