Issue metadata
Sign in to add a comment
|
Uncaught RangeError: Maximum call stack size exceeded
Reported by
baron...@gmail.com,
Apr 6 2017
|
||||||||||||||||||||||||
Issue description
UserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
Steps to reproduce the problem:
On some ASP.Net web application with lastest released telerik components (2017.Q1), when form is submitted, an error occurs.
Uncaught RangeError: Maximum call stack size exceeded
at RegExp.exec (<anonymous>)
at Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:3
at p (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:3)
at Object._find (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:3)
at Object.get (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:3)
at H.w.getElementById (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:3)
at Sys.Extended.UI.TextBoxWrapper.validatorGetValue (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:7830)
at Function.window.ValidatorGetValue [as _originalValidatorGetValue] (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:26982)
at Sys.Extended.UI.TextBoxWrapper.validatorGetValue (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:7830)
at Function.window.ValidatorGetValue [as _originalValidatorGetValue] (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ScriptManager_Master_ScriptManager_TSM&compr…:26982)
What is the expected behavior?
No Javascript error.
What went wrong?
No error with previous version (57.0.2987.110). Web application has not been updated between the 2 releases of Chrome.
Customers report incident since last monday.
Did this work before? Yes 57.0.2987.110
Chrome version: 57.0.2987.133 Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version:
,
Apr 6 2017
It would be great if you could provide a reproducible testcase for narrowing down the issue.
,
Apr 6 2017
Unfortunately the app UI is built using a company framework, and I can't extract a simple testcase :(
,
Apr 7 2017
Could any one from dev team please look into this issue.
,
Apr 7 2017
@Ligim... : I can give you access to the web application. Please drop me an email with maybe a random string that you post here (so I can identify you) and I'll give you login/pwd.
,
Apr 7 2017
The error is not systematic, but really frequent. Sometimes it's on the first submit, sometimes after 2 or 3 edit/save actions in the same screen. But it happens a lot on many screens of our app. Please find enclosed a gif animation. Thanks for your time. Regards, François
,
Apr 10 2017
I opened a case at Telerik's https://www.telerik.com/account/support-tickets/view-ticket?threadid=1103032
,
Apr 12 2017
Could you please try to reproduce it with Chrome Beta 58 and follow the guidelines at https://v8project.blogspot.de/2017/02/help-us-test-future-of-v8.html?
,
Apr 12 2017
Interesting, seems like there's a stack overflow during the regexp execution.
You could try to extract the regexp that's causing this by hacking something like this together and then running the application:
var exec = RegExp.prototype.exec;
RegExp.prototype.exec = function(str) { print(this); print(str); return exec.call(this, str); }
A repro case with both the regexp and subject string would be very helpful.
,
Apr 12 2017
I mean console.log instead of print.
,
Apr 13 2017
The commit range does not include any V8 changes: https://chromium.googlesource.com/chromium/src/+log/57.0.2987.110..57.0.2987.133?pretty=fuller&n=10000
,
Apr 13 2017
/^([\$#\.])((\w|[$:\.\-])+)$/ I am not sure it is related to regex
,
Apr 13 2017
The stack trace from the initial post does seem point to an overflow in regexp execution, but I agree that the regexp you posted seems fairly harmless. Was the RangeError thrown from that regexp? I don't see an exception in your screenshot from #12.
,
Apr 13 2017
,
Apr 13 2017
There are endless calls between 2 telerik javascript functions (images #1, #2, #3). Have a look at #4: the expected value is in a.value, but code isn't reached. @hablich: not reproduced for now with beta 58.
,
Apr 13 2017
I see, thanks for investigating. That does look like the root cause is the recursive call between w.ValidatorGetValue and S.E.UI.T.validatorGetValue. That the stack overflow exception is thrown in RegExp.p.exec seems incidental (it probably happens when trying to reserve stack space for internal registers). Same issue here by the way: http://www.telerik.com/forums/error-telerik-web-ui-webresource This probably needs to be fixed by Telerik.
,
Apr 13 2017
Please feel free to reopen if you do find a repro in beta 58.
,
Apr 17 2017
Users just reproduced the same issue/error using the beta 58 version of Chrome.
,
Apr 17 2017
Please reopen...
,
Apr 18 2017
Needs retriaging. #11 lists the commit range. A repro would be very helpful in tracking this down.
,
Apr 19 2017
,
Apr 21 2017
Requested access to the affected web app by mail to baronnet@gmail.com.
,
Apr 21 2017
Instructions have been sent. Thanks.
,
Apr 24 2017
Reproduced locally on a Linux64 build. Started to bisect but access to the private app was revoked before I finished. Latest known good build: 57.0.2925.0 Earliest known bad build: 57.0.2987.0
,
Apr 24 2017
Access is back up. Good: 57.0.2960.0 Bad: 57.0.2961.0 https://chromium.googlesource.com/chromium/src/+log/57.0.2960.0..57.0.2961.0?pretty=fuller&n=10000
,
Apr 24 2017
Bisects to: https://chromium.googlesource.com/v8/v8/+/fb8b3bcc821cf11c22593d2773c5f06823acd53f Reland "[heap] Ensure progress when incrementally marking wrappers" Assigning to mlippautz@, PTAL.
,
Apr 25 2017
Thanks a lot for bisecting. This is a timing issue. What we see here is issue 702490 . Loosing expando properties (additional properties on DOM objects) results in an infinite recursion in the app. The stack overflow in regex code is just the symptom. We already backmerged a fix quite some time ago but Chrome M57 won't receive another update. At this point M58 (current beta) is right around the corner and the issue should be fixed there. Please reopen if it also happens on Chrome M58 or newer.
,
Apr 25 2017
Also, thanks for providing us access to the reproduction! Really helped a lot when investigating this issue.
,
Apr 25 2017
Hi there, great news! Thanks for your time. Anyidea when the 58 will be released?
,
Apr 25 2017
I am not involved in releases but it should be soon (tm), i.e., next couple of days I would guess.
,
May 2 2017
Hi again, do you know if the 58.0.3029.96 release includes the fix?
,
May 2 2017
Yes, it includes the fix. Let us know if you are still experiencing problems.
,
May 2 2017
I will. Thanks for everything! |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by schenney@chromium.org
, Apr 6 2017