Skip to content
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

Do not load a CoroutineExceptionHandler SL eagerly on Android as it c… #3190

Merged
merged 1 commit into from Feb 17, 2022

Conversation

qwwdfsad
Copy link
Member

…auses verification of the whole JAR/dex (-> file I/O) and ANR

Fixes #3180

@qwwdfsad
Copy link
Member Author

Could you please also take a look @yorickhenning?

@yorickhenning
Copy link
Contributor

Perhaps instead of special-casing by platform using an ifdef, we could revert 0b65246, reopen #2552, and revisit the issue at our leisure?

I have a functioning workaround for #2552, and 0b65246 didn't make that workaround unnecessary.

To me specifically, 0b65246 and this patch are no-ops, because I've bypassed the catch {} by holding the Exception reference briefly and rethrowing in the Executor.execute() stack frame after the stack unwinds from Coroutines.

This patch reintroduces the problem described in #2552 on Android, and makes the library more complicated.

I'll add some notes to #2552.

@qwwdfsad qwwdfsad merged commit 70ae22b into develop Feb 17, 2022
@qwwdfsad qwwdfsad deleted the fix-disk-read-violation branch February 17, 2022 10:27
dee-tree pushed a commit to dee-tree/kotlinx.coroutines that referenced this pull request Jul 21, 2022
pablobaxter pushed a commit to pablobaxter/kotlinx.coroutines that referenced this pull request Sep 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants