Bug 254833

Summary: [ews-build.webkit.org] EWS does not extract clang linker errors well
Product: WebKit Reporter: Darin Adler <darin>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: aakash_jain, ap, emw, ryanhaddad, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   

Description Darin Adler 2023-03-31 10:52:13 PDT
This happened in <https://ews-build.webkit.org/#/builders/31/builds/1445>. The 3-line errors extract was:

(maybe you meant: WebKit::WebPageProxy::focusNextFocusedElement(bool, WTF::CompletionHandler<void ()>&&))
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

But the full 32k+ line build log also included these 4 lines:

Undefined symbols for architecture arm64:
  "WebKit::WebPageProxy::focusNextFocusedElement(bool)", referenced from:
      -[WKContentView(WKInteraction) focusedFormControlViewDidRequestNextNode:] in WKContentViewInteraction.o
      -[WKContentView(WKInteraction) focusedFormControlViewDidRequestPreviousNode:] in WKContentViewInteraction.o

I would have preferred the error extract to be these 5 lines:

Undefined symbols for architecture arm64:
  "WebKit::WebPageProxy::focusNextFocusedElement(bool)", referenced from:
      -[WKContentView(WKInteraction) focusedFormControlViewDidRequestNextNode:] in WKContentViewInteraction.o
      -[WKContentView(WKInteraction) focusedFormControlViewDidRequestPreviousNode:] in WKContentViewInteraction.o
(maybe you meant: WebKit::WebPageProxy::focusNextFocusedElement(bool, WTF::CompletionHandler<void ()>&&))

I don’t think we get a lot of error-understanding value out of "linker command failed with exit code 1", and we would get a *lot* of value out of the actual undefined symbols and then could omit "ld: symbol(s) not found for architecture arm64" since the only thing that adds is the name "ld".
Comment 1 Radar WebKit Bug Importer 2023-03-31 10:53:06 PDT
<rdar://problem/107479064>
Comment 2 Aakash Jain 2023-04-03 09:19:55 PDT
EWS is doing a simple string search for string: 'rror:' (and include few extra lines before the matched line to provide additional context).

Reference: searchString in BuildLogLineObserver at: https://github.com/WebKit/WebKit/blob/main/Tools/CISupport/ews-build/steps.py#L2615


That doesn't seems helpful in this scenario. Seems like there is a scope of improvement here.