-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DataTable Race Condition Crash in Chrome 62 (#4233 did not fix) #4306
Comments
same for me |
+1 |
1 similar comment
+1 |
No change in this issue with Angular 5.0 final (tried out of curiosity) I also opened a Chrome bug report upstream: |
+1 |
+1 |
+1 |
Chrome devs have confirmed this as part of a regression in Chrome in my upstream bug report. The last known good build from their bisect was 62.0.3192.0, with it being broken in 62.0.3193.0 and later. It has been assigned for resolution upstream - see my above upstream bug report if you're interested in tracking this. I'll leave this open until its fixed. |
+1 I can always reproduce this bug here https://www.primefaces.org/primeng/#/datatable/coltoggler Simple click some times on items in the dropdown (displayed table columns). |
+1 |
I encourage anyone +1'ing the issue to voice themselves in the upstream bug report above. It has the active attention of some of the Chrome developers, but I don't think they necessarily realize the severity of the issue for those of us who are impacted. They are talking about punting it to Chrome 63 instead of the next stable patch cycle for 62. |
I completely understand the severity of the issue and we are actively working on fixing this (This is a P1 bug). There's a lot of complexity involved in tracking this down as it touches different subsystems requiring co-ordination between different teams across time zones. I apologize for the current state of things. I will advocate for the fix to be merged in the stable patch cycle for 62 (but ultimately the decision is down to the chrome release managers). |
@cagataycivici The Chrome Devs said the following upstream: "You can certainly mitigate this in JS until the fix is out. The offending function is equalsByValue in vendor.XXX.js. It temporarily adds a "_$visited" property to the incoming object, and deletes it after finishing. Deleting properties is a very costly operation in V8 and should be avoided if possible. A simple fix would be set _$visited to true/false and never delete _$visited. This should also have a positive performance side-effect." It seems this that this is related to #1937 Chrome is unable to commit to a fix in the Chrome 62 cycle, meaning that without a workaround implemented, this library will remain broken in Chrome until Chrome 63. |
any news about a possible fix? |
Hi can you please show an example of how to use datakey.
And maybe update the example at your site.
Thank you
בתאריך יום ו׳, 17 בנוב׳ 2017, 17:04, מאת Yönet <notifications@github.com>:
… @0crypto0 <https://github.com/0crypto0>
Using dataKey seems to fix it, yet from documentation I get it as it's
supposed to be used for performance, shouldn't be a requirement.
from #1937 <#1937>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4306 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AO-q6TFfJRcUlPl2em5m6jcbmvE1JGI-ks5s3aBMgaJpZM4QKnX5>
.
|
i used dataKey on the multiselect, now it's working but when i unselect a column on the multiselect it is still highlighted,do you know how i solve this? |
+1 |
Thank you, @starlightknight. Chrome has fixed this in build 63.0.3239.59, which is available in Beta. I just downloaded the Beta version and am no longer seeing the error. |
Seems like it landed in the stable build now. I am on Version 63.0.3239.84 (official) and don't see the error anymore. |
The issue is fixed for me as well on the latest chrome version: 63.0.3239.84 (official, 64 bit) on Windows 10. |
Closing since its confirmed Chrome 63 stable resolves this issue |
With Chrome 63, I have, sometimes, a $visited attribute in my objects when I use Dropdown or Multiselect... |
There is no guarantee in receiving a response in GitHub Issue Tracker, If you'd like to secure our response, you may consider PrimeNG PRO Support where support is provided within 4 business hours
I'm submitting a ... (check one with "x")
Current behavior
A race condition causes the following issue when column toggling in Chrome 62. This issue was previously reported in #4233, but the referenced commit 3b84cf7 that it was closed with did not actually fix the problem.
@cagataycivici mentioned being unable to reproduce, so I have attached a minimal test project to reproduce the issue.
Test System:
Linux Mint 18.2
Chrome Version 62.0.3202.62 (Official Build) (64-bit)
Expected behavior
Chrome 62 should work with all Datatable features.
Minimal reproduction of the problem with instructions
Attached sample barebones angular-cli project.
chrome62demo.zip
Within a few tries on Chrome 62, you should see it crashing with the above stacktrace in the console. It takes a few tries to reproduce in the demo because of lack of latency due to other events going on (which you'll build up by spamming), but in a larger application with real network latency and other ongoing events within the application, it will happen 100% of the time even with a single click. The same issue does not happen in Firefox or Chrome 61.
What is the motivation / use case for changing the behavior?
The data table widget is currently unusable in a real environment with network latency in Chrome 62 with Lazy/Multi-Select/Column Toggle combo. Chrome is of course a very popular browser that automatically updates on Windows, which is most people's primary OS, meaning they now have the broken version.
Please tell us about your environment:
Linux Mint 18.2 / Chrome 62.
Happens with or without AoT, but I use AoT in prod.
Angular version: 2.0.X
4.3.1, but still happens in latest.
PrimeNG version: 2.0.X
4.1.3, but still happens in 4.3.0-rc.2
Browser:
Chrome 62
Language:
Typescript 2.4
Node (for AoT issues):
node --version
=Node v7.10.1
The text was updated successfully, but these errors were encountered: