5

dino Same problem:

2024-03-28 02:25:53.603407+0100 Orion RC[43165:2400822] [IPC] Received an invalid message 'WebPageProxy_DidPerformImmediateActionHitTest' from the WebContent process with PID 43173
2024-03-28 02:25:53.603446+0100 Orion RC[43165:2400822] [Process] AuxiliaryProcessProxy::terminate: PID=43173
2024-03-28 02:25:53.603566+0100 Orion RC[43165:2400822] [Process] 0x11e020680 - [PID=43173] WebProcessProxy::didClose: (web process 43173 crash)
2024-03-28 02:25:53.603579+0100 Orion RC[43165:2400822] [Process] 0x11e020680 - [PID=43173] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash
2024-03-28 02:25:53.603589+0100 Orion RC[43165:2400822] [Process] 0x11e020680 - [PID=43173] WebProcessProxy::shutDown:
2024-03-28 02:25:53.603594+0100 Orion RC[43165:2400822] [Process] 0x11e020680 - [PID=43173] WebProcessProxy::processWillShutDown:
2024-03-28 02:25:53.603739+0100 Orion RC[43165:2400822] [ProcessSuspension] 0x11e020850 - [PID=0] ProcessThrottler::didDisconnectFromProcess:
2024-03-28 02:25:53.603762+0100 Orion RC[43165:2400822] [Process] 0x10d89ea20 - [pageProxyID=83, webPageID=84, PID=43173] WebPageProxy::processDidTerminate: (pid 43173), reason=Crash
2024-03-28 02:25:53.605766+0100 Orion RC[43165:2400822] [Media] VideoPresentationManagerProxy::invalidate(F1BEBD80)
2024-03-28 02:25:53.605790+0100 Orion RC[43165:2400822] [Fullscreen] VideoPresentationManagerProxy::invalidate(F1BEBD80)
2024-03-28 02:25:53.605800+0100 Orion RC[43165:2400822] [Fullscreen] VideoPresentationManagerProxy::~VideoPresentationManagerProxy(F1BEBD80)
2024-03-28 02:25:53.605807+0100 Orion RC[43165:2400822] [Fullscreen] VideoPresentationManagerProxy::invalidate(F1BEBD80)
2024-03-28 02:25:53.605837+0100 Orion RC[43165:2400822] [Media] VideoPresentationManagerProxy::~PlaybackSessionManagerProxy(F1BEBD80)
2024-03-28 02:25:53.605867+0100 Orion RC[43165:2400822] [Process] 0x11e020680 - [PID=43173] WebProcessProxy::processTerminated:
2024-03-28 02:25:53.605909+0100 Orion RC[43165:2400822] [Loading] 0x10d89ea20 - [pageProxyID=83, webPageID=84, PID=43173] WebPageProxy::dispatchProcessDidTerminate: reason=Crash
2024-03-28 02:25:53.605982+0100 Orion RC[43165:2400822] [Loading] 0x10d89ea20 - [pageProxyID=83, webPageID=84, PID=43173] WebPageProxy::reload:
2024-03-28 02:25:53.606033+0100 Orion RC[43165:2400822] [Loading] 0x10d89ea20 - [pageProxyID=83, webPageID=84, PID=43173] WebPageProxy::launchProcessForReload:
2024-03-28 02:25:53.606046+0100 Orion RC[43165:2400822] [Loading] 0x10d89ea20 - [pageProxyID=83, webPageID=84, PID=43173] WebPageProxy::launchProcess:
2024-03-28 02:25:53.606051+0100 Orion RC[43165:2400822] [Process] 0x11e020680 - [PID=43173] WebProcessProxy::removeWebPage: webPage=0x10d89ea20, pageProxyID=83, webPageID=84
2024-03-28 02:25:53.606082+0100 Orion RC[43165:2400822] [Process] 0x11e0200c0 - [PID=43179] WebProcessProxy::setWebsiteDataStore() dataStore=0x10bbd9128, sessionID=2
2024-03-28 02:25:53.606092+0100 Orion RC[43165:2400822] [Process] 0x11e04dc00 - NetworkProcessProxy::sendXPCEndpointToProcess(0x11e0200c0) state = 1 has connection = 1 XPC endpoint message = 0x0
2024-03-28 02:25:53.606260+0100 Orion RC[43165:2400822] [Process] 0x11e0200c0 - [PID=43179] WebProcessProxy::markIsNoLongerInPrewarmedPool:
2024-03-28 02:25:53.606269+0100 Orion RC[43165:2400822] [ProcessSwapping] 0x10c08de08 - WebProcessPool::processForRegistrableDomain: Using prewarmed process (process=0x11e0200c0, PID=43179)
2024-03-28 02:25:53.606276+0100 Orion RC[43165:2400822] [Process] 0x11e0200c0 - [PID=43179] WebProcessProxy::addExistingWebPage: webPage=0x10d89ea20, pageProxyID=83, webPageID=84
2024-03-28 02:25:53.606309+0100 Orion RC[43165:2400822] [Media] VideoPresentationManagerProxy::PlaybackSessionManagerProxy(F1BEBD80)
2024-03-28 02:25:53.606316+0100 Orion RC[43165:2400822] [Fullscreen] VideoPresentationManagerProxy::VideoPresentationManagerProxy(F1BEBD80)
2024-03-28 02:25:53.607842+0100 Orion RC[43165:2400822] [Process] 0x11e020680 - [PID=43173] WebProcessProxy::destructor:
2024-03-28 02:25:53.607869+0100 Orion RC[43165:2400822] [ProcessSuspension] 0x11e020850 - [PID=0] ProcessThrottler::invalidateAllActivities: BEGIN (foregroundActivityCount: 0, backgroundActivityCount: 1)
2024-03-28 02:25:53.607878+0100 Orion RC[43165:2400822] [ProcessSuspension] 0x11e020850 - [PID=0] ProcessThrottler::invalidateAllActivities: END
2024-03-28 02:25:53.613266+0100 Orion RC[43165:2400822] [ProcessSuspension] 0x11e04dc00 - NetworkProcessProxy is taking a background assertion because a web process is requesting a connection

For reference this log can also be had by running Orion from the terminal with the environment variable OS_ACTIVITY_DT_MODE=enable set.

    squidcharger

    Please try replacing Orion.app/Contents/Frameworks/WebKit.framework/Versions/A/Resources/com.apple.WebProcess.sb with attached file and see if that resolves the issue.

    comapplewebprocess.txt
    61kB

      dino

      I tried this in the RC you gave me earlier and it causes webkit to always crash, even before I do anything.

      • dino replied to this.

        Thats really strange, as it's also working fine for me. I think some more details will help me undestanding the difference in our setup

        1. Machine configuration (model name, processor)
        2. Any specific system configuration changes
        3. Path to Orion app
        4. macOS build number
        5. Any other info you think can be useful

        I will try to create a similar environment

          This is an iMac14,2 (Late 2013, which is why I'm stuck on Catalina) with an Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz and 32GB of RAM. MacOS version 10.15.7, 19H2026.

          My normal Orion is in /Applications. The dev version you sent me is in my Downloads folder (but moving it to /applications made no difference).

          I had actually been looking for any system configurations that might be relevant but could not find any.

            I just also tried the sandbox file in my normal Orion and that crashes it too:

            sb-crash.txt
            66kB
            • dino replied to this.

              squidcharger please share Language & Region system preference screenshot, I guess that can also make some difference in some cases.

              Also, can you please summerize all the issues again, as I guess there's some confusion, because your initial post says, WebKit crashes when you CMD+Click the link, but your earlier logging shows thats while ProcessSwapping which is only possible if you navigate to current webpage, not the new tab.

              So, most probably there's two different issues, so please try your CMD+Click issue on the Dev build I have sent, and if that's fixed, we can look for second issue (Process Swapping on Cross-Site Navigation), and looks like new process is getting failed to launch.

              Try using below file (last time I guess I sent wrong version)

              comapplewebprocesssb.zip
              10kB

                dino

                -MacBook Air (macOS Catalina 10.15.7 build 19H2026)
                -MacBook Air 2020 (i3 processor -- 10th gen Intel Icelake Mobile I believe), 16GB RAM
                -SIP turned off, internal drive partitioned, user account runs as Standard User (usually from a non-Users directory but also tried a test with a clean user account under /Users), all 10.15 security (e.g. 2022-005) as well as XProtect, etc updates installed, also Command Line Dev Tools 12.4
                -Language & Region = English/US (Timezone = New York)
                -I usually test Orion from Desktop of home folder (e.g. /Users/test/Desktop/Orion.app or /Users/test/Desktop/Orion RC.app)

                Tests of Orion on Monterey, where I don't have this problem, are the same hardware and similar paths to Orion. OS configuration is conceptully similar with just Monterey equivalent (e.g. using Monterey 12.7.4). Ditto with Mojave except different hardware.

                dino

                Also, can you please summerize all the issues again, as I guess there's some confusion, because your initial post says, WebKit crashes when you CMD+Click the link, but your earlier logging shows thats while ProcessSwapping which is only possible if you navigate to current webpage, not the new tab.

                Normal click or cmd-click both cause the problem. The only way to open links is to ctrl(/right)-click and open the link in a new window or tab using the contextual menu.

                I've just been normal (left-)clicking everything, I only mentioned the cmd-click because it doesn't crash if you use the menu. So:

                left-click: crash
                cmd-click: crash
                right-click and choose "open in new tab": works

                Try using below file (last time I guess I sent wrong version)

                Using that file it doesn't insta-crash like the other one, but it doesn't change anything either compared to the normal one, that I can tell.

                By the way -- I normally have SIP turned on, I have temporarily disabled it because it was the only way I could get lldb to attach the process.

                  squidcharger few more questions (I think I am almost there)

                  1. Your pointing device info (Mouse model, Trackpad info)
                  2. Do your pointing device support force touch?

                    @squidcharger Thanks for all your help, your debug skills helped a lot, finally got the target code with the help of logs you shared. Was able to reproduce the issue on my machine by changing some checks in WebKit. Now working on the fix

                    Thanks @bzgnyc, your investigation for target RC release (where the issue started) was also helpful, as I was able to check target WebKit files modified for that release.

                      dino Do I need to be logged into iCloud to download this file? iCloud's instructions on that page imply I only need to signin with my Apple ID if I want to add the file to my iCloud drive, but the download button is gray rather than blue. Note that i don't use iCloud and my AppleID is different than the e-mail address I use for this Orion Feedback site.

                      Otherwise, any chance you could put this on the Kagi CDN or otherwise e-mail me a onetime link?

                      • dino replied to this.

                        bzgnyc no you don’t need to login, as its shared link and you can just open in web browser and download a copy directly

                          dino Okay I'm kind of feeling like an idiot here. Yesterday I downloaded and compiled DuckDB to accelerate processing a large number of unwieldly CSV files but I can't seem to download a file from an Apple service of all places...

                          Can I ask you to tell me what dumb obvious thing I am missing here?

                          P.S.Also tried Safari and Firefox, Compatability Mode, ignore SSL certificates, allow pop-up windows, etc.

                          • dino replied to this.

                            dino That worked -- both the download and the new version. DropBox was pretty persistent about getting me to sign up for their service but a few no thanks yous got me the Zip.

                            Not sure what's wrong with Apple's service -- I tried several times at different times after you posted the link with the same results. I scanned their JavaScript but I am not a web/JavaScript programmer so trying to figure out anything not obvious would have been like trying to read the Declaration of Rights of Man and of the Citizen in French using a French-English dictionary...

                            Anyway, very glad to say new version worked. I tried my Google test and 6/6 links worked the first time. Ditto Speedometer on Browser Bench (I know -- don't benchmark interim releases but it had also been an easy way to reproduce this issue).

                            Two questions:
                            -Should I use this Dev version as my primary until the next RC/Beta or do you prefer people stick with released Beta/RC versions except when testing for specific issues?
                            -Did this end up being a bug in WebKit and if so are you able to push back upstream?

                            • dino replied to this.

                              bzgnyc

                              Should I use this Dev version as my primary until the next RC/Beta or do you prefer people stick with released Beta/RC versions except when testing for specific issues?

                              No, you should not replace your original RC with this, as Dev builds never receive updates

                              Did this end up being a bug in WebKit and if so are you able to push back upstream?

                              Yes, that was a WebKit issue with ArgumentCoder for macOS 10.x, but that's not relevant for WebKit upstream as they only support macOS 12+, only Orion is the one which is maintaining support for macOS 10.14 somehow 🙂