Bug 210177

Summary: REGRESSION (Safari 13.1?): Web Inspector: Debugger hang at breakpoint when using Keyboard Maestro
Product: WebKit Reporter: macdevign <macdevign>
Component: Web InspectorAssignee: Devin Rousso <hi>
Status: RESOLVED FIXED    
Severity: Critical CC: bburg, hi, inspector-bugzilla-changes, joepeck, timothy, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Mac   
OS: macOS 10.15   
Bug Depends on: 202716    
Bug Blocks:    
Attachments:
Description Flags
Running Keyboard Maestro's custom Window with its Web Inspector during debugging.
none
Patch
none
Patch
none
Patch none

macdevign
Reported 2020-04-08 02:32:43 PDT
Created attachment 395782 [details] Running Keyboard Maestro's custom Window with its Web Inspector during debugging. Hi, I have updated catalina to recent release 10.15.4 and Xcode to Xcode Version 11.4 (11E146), and have installed the component required by Xcode. I using a commercial application called Keyboard Maestro ( www.keyboardmaestro.com/) and it has a feature that use webkit call Custom HTML Prompt Action (https://wiki.keyboardmaestro.com/action/Custom_HTML_Prompt) whereby one can use a html file to show in a window. It is able to access web inspector as shown in file attachment. Before update to 10.15.4, the debugger in the web inspector use to work if there is breakpoint, however after update to 10.15.4 and xcode, the debugger hang (a snowball icon show) whenever it stop at breakpoint. All function of web inspector is working except debugger operation. It seems that something is broken understanding that from https://webkit.org/blog/10247/new-webkit-features-in-safari-13-1/ , webkit get update which may possibly break thing. I have no idea what is happening as there are commerical application that using webkit and breaking such thing is disappointing especially this is used for business. I have attached the image , whereby Test Custom Prompt window is the window created by Keyboard Maestro using its "Custom HTML Prompt Action ", and web inspector is shown, and when button click and stop at breakpoint, the mouse cursor turn snowball , and hang the whole Keyboard Maestro, seem like web inspector's debugger is having issue ? Can you investigate and fix this issue ? I am okay with accessing my macbook remotely for troubleshooting and debugging this issue. thank
Attachments
Running Keyboard Maestro's custom Window with its Web Inspector during debugging. (3.06 MB, image/png)
2020-04-08 02:32 PDT, macdevign
no flags
Patch (8.92 KB, patch)
2020-04-10 14:10 PDT, Devin Rousso
no flags
Patch (8.82 KB, patch)
2020-04-11 09:31 PDT, Devin Rousso
no flags
Patch (8.64 KB, patch)
2020-04-11 09:33 PDT, Devin Rousso
no flags
macdevign
Comment 1 2020-04-08 02:36:24 PDT
The Keyboard Maestro vendor ask me to file for this issue as it is webkit's issue.
Radar WebKit Bug Importer
Comment 2 2020-04-08 16:55:37 PDT
Devin Rousso
Comment 3 2020-04-10 14:10:41 PDT
Devin Rousso
Comment 4 2020-04-10 14:12:00 PDT
Comment on attachment 396120 [details] Patch Not sure how this has gone unnoticed, but I can see the same symptoms described in this issue using WK1/WebKitLegacy `Tools/Scripts/run-minibrowser` :(
Joseph Pecoraro
Comment 5 2020-04-11 02:00:56 PDT
Comment on attachment 396120 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=396120&action=review r=me > Source/WebCore/inspector/mac/PageScriptDebugServerMac.mm:2 > + * Copyright (C) 2020 Apple Inc. All rights reserved. This is effectively a copy of `Copyright (C) 2008-2018 Apple` code. > Source/WebCore/inspector/mac/PageScriptDebugServerMac.mm:26 > +#include "config.h" Style: #import > Source/WebCore/inspector/mac/PageScriptDebugServerMac.mm:33 > +#endif // PLATFORM(MAC) && ENABLE(WEBPROCESS_NSRUNLOOP) I don't think the endif comment is useful in this case given the small block. In fact, we often don't even bother with ENABLE guards around an include like this since it would be fine to include for all cases and just not have the symbols be used. It necessary reduces clutter to remove guards around includes. Only if it had a meaningful impact on compile times might it be worth it. > Source/WebCore/inspector/mac/PageScriptDebugServerMac.mm:51 > +#endif // ENABLE(WEBPROCESS_NSRUNLOOP) Ditto.
Joseph Pecoraro
Comment 6 2020-04-11 02:02:44 PDT
> It necessary reduces clutter to remove guards around includes. I meant "It reduces clutter".
Devin Rousso
Comment 7 2020-04-11 09:31:25 PDT
Devin Rousso
Comment 8 2020-04-11 09:33:27 PDT
EWS
Comment 9 2020-04-11 11:36:44 PDT
Committed r259931: <https://trac.webkit.org/changeset/259931> All reviewed patches have been landed. Closing bug and clearing flags on attachment 396167 [details].
macdevign
Comment 10 2020-04-14 01:04:07 PDT
Thank for resolving this issue. Just like to find out that this fix is included in next point release of Catalina/xcode ? And the Keyboard Maestro vendor does not need to make any change to the software ?
Timothy Hatcher
Comment 11 2020-04-14 19:30:46 PDT
It will show up in Safari Technology Preview next. Check the next STP release and see if it resolves the issue for you. Otherwise, we can't comment on future software releases.
Blaze Burg
Comment 12 2020-04-15 10:37:01 PDT
Comment on attachment 396120 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=396120&action=review >> Source/WebCore/inspector/mac/PageScriptDebugServerMac.mm:33 >> +#endif // PLATFORM(MAC) && ENABLE(WEBPROCESS_NSRUNLOOP) > > I don't think the endif comment is useful in this case given the small block. In fact, we often don't even bother with ENABLE guards around an include like this since it would be fine to include for all cases and just not have the symbols be used. It necessary reduces clutter to remove guards around includes. Only if it had a meaningful impact on compile times might it be worth it. I make an exception for guarding code that we expect to rip out on some timeline, like after a certain release. Is ENABLE(WEBPROCESS_NSRUNLOOP) a permanent thing?
Note You need to log in before you can comment on or make changes to this bug.