Chrome_Mac: Crash Report - -[JavaScriptAppModalDialogHelper cancelAlert] |
|||||
Issue descriptionProduct name: Chrome_Mac Magic Signature: -[JavaScriptAppModalDialogHelper cancelAlert] Current link: https://crash.corp.google.com/browse?q=ReportID%3D'841beaed80000000'%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%3D'-%5BJavaScriptAppModalDialogHelper%20cancelAlert%5D'&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D#3 Search properties: reportid: 841beaed80000000 Metadata : Product Name: Chrome_Mac Product Version: 57.0.2987.98 Report ID: 841beaed80000000 Report Time: Thu, 16 Mar 2017 11:48:03 GMT Uptime: 2000 ms Cumulative Uptime: 0 ms User Email: OS Name: Mac OS X OS Version: 10.12.3 16D32 CPU Architecture: amd64 CPU Info: family 6 model 94 stepping 3
,
Mar 16 2017
,
Mar 16 2017
Possibly related to this is issue chromedriver:1500 , where we see a failure (but not a crash) to dismiss a dialog that we know exists.
,
Mar 16 2017
,
Mar 16 2017
The crash: DevTools gets a message. It rattles around and gets dispatched to PageHandler::HandleJavaScriptDialog. PageHandler::HandleJavaScriptDialog calls HandleJavaScriptDialog on the page's dialog manager, which is JavaScriptDialogManager. JavaScriptDialogManager::HandleJavaScriptDialog checks to see if there's an active dialog. There is, so it calls CancelAppModalDialog on it. Chrome crashes because CancelAppModalDialog tries to cancel the dialog by clicking the "cancel" button, but the dialog doesn't have one (-[__NSSingleObjectArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]). So technically speaking, yeah, you shouldn't be trying to cancel a dialog that has no cancel button. In reality, what we're doing is dumb and should be fixed. Will fix.
,
Mar 16 2017
Re comment 3, my opinion is that issue chromedriver:1500 is a dup of issue chromedriver:1467 , and this is just a dumb crash. /shrug
,
Mar 16 2017
I don't think it's a dupe. Issue chromedriver:1467 was a case where ChromeDriver was calling Runtime.evaluate while an alert was up, which is a problem because the renderer is non-responsive while modal dialogs are displayed, so ChromeDriver would hang there waiting and eventually time out. In issue chromedriver:1500 , we (sometimes - it's flaky) get a "Could not handle JavaScript dialog" error when calling Page.handleJavaScriptDialog even after we've just seen a Page.javascriptDialogOpening event. There's no timeout, and users see a different error message.
,
Mar 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0e43eca719311f3a873d5c8bc644a77465450e21 commit 0e43eca719311f3a873d5c8bc644a77465450e21 Author: avi <avi@chromium.org> Date: Thu Mar 16 21:16:20 2017 For a "cancel" of an alert dialog via HandleJavaScriptDialog, click the only button, "OK". This keeps us from crashing. BUG= 702290 Review-Url: https://codereview.chromium.org/2754143003 Cr-Commit-Position: refs/heads/master@{#457556} [modify] https://crrev.com/0e43eca719311f3a873d5c8bc644a77465450e21/components/app_modal/javascript_dialog_manager.cc
,
Mar 17 2017
This crash is fixed. If you can confirm that it's gone when you use ChromeDriver, I can merge. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by a...@chromium.org
, Mar 16 2017