Skip to content

Fix deadlock issue. #2235

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

Merged
merged 3 commits into from
Dec 8, 2020
Merged

Fix deadlock issue. #2235

merged 3 commits into from
Dec 8, 2020

Conversation

vkryachko
Copy link
Member

The deadlock was arising when components are initialized concurrently
from different threads all waiting for Lazy.get to resolve which would
never succeed.

The deadlock was arising when components are initialized concurrently
from different threads all waiting for `Lazy.get` to resolve which would
never succeed.
@vkryachko vkryachko requested a review from rlazo December 7, 2020 20:16
@googlebot googlebot added the cla: yes Override cla label Dec 7, 2020
@google-oss-bot
Copy link
Contributor

google-oss-bot commented Dec 7, 2020

Binary Size Report

Affected SDKs

  • firebase-components

    Type Base (b485649) Head (92823b45) Diff
    apk (release) 28.7 kB 29.2 kB +532 B (+1.9%)

Test Logs

Notes

Head commit (92823b45) is created by Prow via merging commits: b485649 c9efaad.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Dec 7, 2020

Coverage Report

Affected SDKs

  • firebase-components

    SDK overall coverage changed from 5.75% (b485649) to 57.45% (92823b45) by +51.69%.

    Filename Base (b485649) Head (92823b45) Diff
    AbstractComponentContainer.java 0.00% 16.67% +16.67%
    Component.java 0.00% 70.31% +70.31%
    ComponentRuntime.java 0.00% 74.56% +74.56%
    CycleDetector.java 0.00% 63.74% +63.74%
    Dependency.java 0.00% 48.78% +48.78%
    EventBus.java 0.00% 28.57% +28.57%
    Lazy.java 0.00% 80.00% +80.00%
    OptionalProvider.java 0.00% 80.56% +80.56%
    Preconditions.java 0.00% 46.15% +46.15%
    RestrictedComponentContainer.java 0.00% 43.33% +43.33%

Test Logs

Notes

HTML coverage reports can be produced locally with ./gradlew <product>:checkCoverage.
Report files are located at <product-build-dir>/reports/jacoco/.

Head commit (92823b45) is created by Prow via merging commits: b485649 c9efaad.

@google-oss-bot
Copy link
Contributor

@vkryachko: The following tests failed, say /retest to rerun them all:

Test name Commit Details Rerun command
smoke-tests c9efaad link /test smoke-tests
device-check-changed c9efaad link /test device-check-changed

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@vkryachko vkryachko merged commit f201907 into master Dec 8, 2020
vkryachko added a commit that referenced this pull request Dec 15, 2020
* Fix deadlock issue.

The deadlock was arising when components are initialized concurrently
from different threads all waiting for `Lazy.get` to resolve which would
never succeed.

* Increase timeout, add licenses.

* Added comments.

Co-authored-by: Vladimir Kryachko <[email protected]>
@firebase firebase locked and limited conversation to collaborators Jan 8, 2021
@vkryachko vkryachko deleted the vk.deadlock_fix branch January 21, 2021 16:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes Override cla size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants