RESOLVED FIXED 172513
REGRESSION(r217051): Automation sessions fail to complete bootstrap
https://bugs.webkit.org/show_bug.cgi?id=172513
Summary REGRESSION(r217051): Automation sessions fail to complete bootstrap
Blaze Burg
Reported 2017-05-23 11:24:40 PDT
We got too strict.
Attachments
Patch (2.88 KB, patch)
2017-05-23 13:42 PDT, Blaze Burg
no flags
For landing (3.01 KB, patch)
2017-05-23 14:34 PDT, Blaze Burg
no flags
For landing (3.01 KB, patch)
2017-05-23 15:35 PDT, Blaze Burg
buildbot: commit-queue-
Archive of layout-test-results from ews125 for ios-simulator-wk2 (33.40 MB, application/zip)
2017-05-23 16:39 PDT, Build Bot
no flags
Blaze Burg
Comment 1 2017-05-23 11:24:53 PDT
Blaze Burg
Comment 2 2017-05-23 13:42:53 PDT
Joseph Pecoraro
Comment 3 2017-05-23 14:07:10 PDT
Comment on attachment 311046 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=311046&action=review > Source/JavaScriptCore/ChangeLog:14 > + WIRAutomatically is an optional key in the setup message. In the relay, this key gets copied > + into an NSDictionary as NSNull if the key isn't present in a forwarded command. I don't see how this can happen. It could be optional but as it exists right now I don't think it is. > Source/JavaScriptCore/inspector/remote/cocoa/RemoteInspectorCocoa.mm:58 > +#define BAIL_IF_UNEXPECTED_TYPE_ALLOWING_NIL(expr, classExpr) \ > + do { \ > + id value = (expr); \ > + if ([value isEqualTo:[NSNull null]]) \ > + expr = value = nil; \ This should be named differently since we have the ALLOWING_NIL name in WebInspector which doesn't check for NSNull. Also its hiding an operation that I don't think should be hidden. I'd rather see two operations: CONVERT_NSNULL_TO_NIL(automaticallyPauseNumber); BAIL_IF_UNEXPECTED_TYPE_ALLOWING_NIL(...); That said, I still don't believe it should even be NSNull.
Joseph Pecoraro
Comment 4 2017-05-23 14:10:53 PDT
(In reply to Joseph Pecoraro from comment #3) > Comment on attachment 311046 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=311046&action=review > > > Source/JavaScriptCore/ChangeLog:14 > > + WIRAutomatically is an optional key in the setup message. In the relay, this key gets copied > > + into an NSDictionary as NSNull if the key isn't present in a forwarded command. > > I don't see how this can happen. It could be optional but as it exists right > now I don't think it is. Oh. Apparently this is possible only for Web Driver. Thats unfortunate. > > Source/JavaScriptCore/inspector/remote/cocoa/RemoteInspectorCocoa.mm:58 > > +#define BAIL_IF_UNEXPECTED_TYPE_ALLOWING_NIL(expr, classExpr) \ > > + do { \ > > + id value = (expr); \ > > + if ([value isEqualTo:[NSNull null]]) \ > > + expr = value = nil; \ > > This should be named differently since we have the ALLOWING_NIL name in > WebInspector which doesn't check for NSNull. Also its hiding an operation > that I don't think should be hidden. I'd rather see two operations: > > CONVERT_NSNULL_TO_NIL(automaticallyPauseNumber); > BAIL_IF_UNEXPECTED_TYPE_ALLOWING_NIL(...); > > That said, I still don't believe it should even be NSNull. Splitting this up into two operations would be much clearer. r=me with that change
Blaze Burg
Comment 5 2017-05-23 14:34:12 PDT
Created attachment 311053 [details] For landing
Blaze Burg
Comment 6 2017-05-23 15:35:12 PDT
Created attachment 311067 [details] For landing
Build Bot
Comment 7 2017-05-23 16:39:53 PDT
Comment on attachment 311067 [details] For landing Attachment 311067 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3802999 New failing tests: fetch/closing-while-fetching-blob.html fast/css/target-fragment-match.html
Build Bot
Comment 8 2017-05-23 16:39:56 PDT
Created attachment 311074 [details] Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Blaze Burg
Comment 9 2017-05-23 17:01:54 PDT
Note You need to log in before you can comment on or make changes to this bug.