New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix race condition that caused LaunchAsync to never resolve for chrome #2214
Commits on Jun 2, 2023
-
Only process received messages after the discovered targets have been stored.
Configuration menu - View commit details
-
Copy full SHA for ca95043 - Browse repository at this point
Copy the full SHA ca95043View commit details -
Change the await to only apply to attachedToTarget, leaving other mes…
…sages unchanged. This fixes some of the unit tests, which were failing due to changes in the order of execution of initialization messages.
Configuration menu - View commit details
-
Copy full SHA for 5a5391b - Browse repository at this point
Copy the full SHA 5a5391bView commit details -
Remove the await for OnAttachedToTarget call, and also included a mis…
…sing return when ignoring a target.
Configuration menu - View commit details
-
Copy full SHA for f58262f - Browse repository at this point
Copy the full SHA f58262fView commit details -
* Fixed a race condition if a message is received before the Browser.…
…_logger field is initialized. * Fixed a deadlock that could happen if the connection is closed on the thread that is processing received messages. TaskQueue could not be disposed on the same thread that held the semaphore. * Fixed a race condition if targets are created/changed concurrently before the TargetHandler is registered as an event handler.
Configuration menu - View commit details
-
Copy full SHA for aabb86e - Browse repository at this point
Copy the full SHA aabb86eView commit details -
Previous commit introduced a new race condition. It was possible that…
… thread A could invoke `TaskQueue.Dispose()` and set `_isDisposed = 1`, which would then allow thread B to finish work setting `_held = false` but without releasing the semaphore, and then thread A would attempt `_semaphore.Wait()` entering a deadlock.
Configuration menu - View commit details
-
Copy full SHA for deb351d - Browse repository at this point
Copy the full SHA deb351dView commit details -
It was possible for the TargetManager initialization to finish withou…
…t having discovered all targets. This was causing unit tests such as PuppeteerConnectTests.ShouldSupportTargetFilter to fail because the test executed faster than the target discovery.
Configuration menu - View commit details
-
Copy full SHA for 84c3dd5 - Browse repository at this point
Copy the full SHA 84c3dd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for dda9812 - Browse repository at this point
Copy the full SHA dda9812View commit details
Commits on Jun 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 91c5e2b - Browse repository at this point
Copy the full SHA 91c5e2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e65695 - Browse repository at this point
Copy the full SHA 7e65695View commit details -
OnAttachedToTarget should be executed synchronously if possible, so t…
…hat new targets are added to `_attachedTargetsByTargetId` inside of the semaphore. Also fixes `Page.CloseAsync()` which was returning before `Target.CloseTask` resolved. This affected BrowserContextTests.ShouldFireTargetEvents on which it was possible for the test to finish before the `TargetDestroy` event.
Configuration menu - View commit details
-
Copy full SHA for 0d3a600 - Browse repository at this point
Copy the full SHA 0d3a600View commit details
Commits on Jun 12, 2023
-
Fix PuppeteerConnectTests.ShouldSupportTargetFilter.
It was possible for the InitializeAsync to finish without all targets being initialized, and consequently the test would read an empty list of targets. The _targetDiscoveryCompletionSource should be awaited before logic that depends on _targetsIdsForInit inside of message processing, to make sure this collection was already initialized during the browser launch.
Configuration menu - View commit details
-
Copy full SHA for 16b9283 - Browse repository at this point
Copy the full SHA 16b9283View commit details -
Fix OOPIFTests.ShouldDetectExistingOopifsWhenPuppeteerConnectsToAnExi…
…stingPage. Disposing the `browser1` was closing the page, which then caused the `Page.CloseAsync()` in `PuppeteerPageBaseTest` to fail. The test code now matches upstream puppeteer.
Configuration menu - View commit details
-
Copy full SHA for d7d6617 - Browse repository at this point
Copy the full SHA d7d6617View commit details -
Configuration menu - View commit details
-
Copy full SHA for e8199a6 - Browse repository at this point
Copy the full SHA e8199a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f22b62a - Browse repository at this point
Copy the full SHA f22b62aView commit details -
Use the launcher timeout when awaiting for `_targetDiscoveryCompletio…
…nSource`, as a defensive measure against deadlocks.
Configuration menu - View commit details
-
Copy full SHA for 1bbb87f - Browse repository at this point
Copy the full SHA 1bbb87fView commit details