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

Fix Java controller lock in new/delete for callbacks #25625

Conversation

yunhanw-google
Copy link
Contributor

@yunhanw-google yunhanw-google commented Mar 10, 2023

There exists missing locks in Java/JNI API for new/delete on callbacks when calling from user thread, which would cause potential race crash in subscription stressing test in android chip-tool

Validated via manual stress tests

@github-actions
Copy link

PR #25625: Size comparison from be24854 to a006783

Increases (1 build for cc32xx)
platform target config section be24854 a006783 change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_info 20275630 20275631 1 0.0
Full report (1 build for cc32xx)
platform target config section be24854 a006783 change % change
cc32xx lock CC3235SF_LAUNCHXL 0 0 0 0.0
(read only) 645097 645097 0 0.0
(read/write) 203848 203848 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 197248 197248 0 0.0
.comment 194 194 0 0.0
.data 1480 1480 0 0.0
.debug_abbrev 930293 930293 0 0.0
.debug_aranges 87384 87384 0 0.0
.debug_frame 300248 300248 0 0.0
.debug_info 20275630 20275631 1 0.0
.debug_line 2660982 2660982 0 0.0
.debug_loc 2804957 2804957 0 0.0
.debug_ranges 283168 283168 0 0.0
.debug_str 3026158 3026158 0 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 105993 105993 0 0.0
.shstrtab 232 232 0 0.0
.stab 204 204 0 0.0
.stabstr 441 441 0 0.0
.stack 2048 2048 0 0.0
.strtab 379204 379204 0 0.0
.symtab 256912 256912 0 0.0
.text 536984 536984 0 0.0

@yunhanw-google yunhanw-google merged commit 3c6bed3 into project-chip:master Mar 10, 2023
pierredelisle added a commit to google-home/sample-apps-for-matter-android that referenced this pull request Mar 10, 2023
- Pull in latest Matter SDK (SHA: 3c6bed3bb2) which includes required fixes for subscriptions (project-chip/connectedhomeip#25505, project-chip/connectedhomeip#25623, project-chip/connectedhomeip#25625)
- Strip the .so's prior to copying them to jniLibs. libCHIPController.so now has a reasonable size (went from 352MB to 26MB).
- Made SubscriptionHelper functions that interact with a device as "suspend" functions so that the coroutine scope is established by the caller.
- Removed flag UNSUBSCRIBE_ENABLED since shutdownSubscriptions has now been fixed in the Matter SDK.
pierredelisle added a commit to google-home/sample-apps-for-matter-android that referenced this pull request Mar 11, 2023
- Pull in latest Matter SDK (SHA: 3c6bed3bb2) which includes required fixes for subscriptions (project-chip/connectedhomeip#25505, project-chip/connectedhomeip#25623, project-chip/connectedhomeip#25625)
- Strip the .so's prior to copying them to jniLibs. libCHIPController.so now has a reasonable size (went from 352MB to 26MB).
- Made SubscriptionHelper functions that interact with a device as "suspend" functions so that the coroutine scope is established by the caller.
- Removed flag UNSUBSCRIBE_ENABLED since shutdownSubscriptions has now been fixed in the Matter SDK.
lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
mwswartwout pushed a commit to mwswartwout/connectedhomeip that referenced this pull request Mar 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants