aws / aws/amazon-chime-sdk-android
Synchronization on value classes
- Dominant language
- Kotlin
- Stars
- 113
- Forks
- 60
- Avg merge
- 40m
- Merged PRs (30d)
- 2
Description
Hi,
I am Android platform developer and during [JEP-401](https://openjdk.org/jeps/401) work we've found that [`DefaultEglRenderer`](https://github.com/aws/amazon-chime-sdk-android/blob/515dd196dd005cdc4adbf4f17399a1b169f5506e/amazon-chime-sdk/src/main/java/com/amazonaws/services/chime/sdk/meetings/internal/video/gl/DefaultEglRenderer.kt#L26) synchronizes on `aspectRatio` field whose type is `java.lang.Float`.
In a future release that will throw an exception.
Please take a look at that. Either use a dedicated `java.lang.Object` lock or remove synchronization altogether.
Thanks
Contributor guide
Research direction
Start with DefaultEglRenderer.kt at the aspectRatio field and its synchronization around line 26. Check how aspectRatio is accessed and determine whether synchronization should use a dedicated lock or be removed. Done means the renderer no longer synchronizes on the Float value and the project’s Android checks pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100