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

IM: Create ReadHandler after Session Establishment for Subscription Resumption #30491

Merged
merged 8 commits into from
Jan 4, 2024

Conversation

wqx6
Copy link
Contributor

@wqx6 wqx6 commented Nov 15, 2023

Currently we will create ReadHandler before Session Establishment for Subscription Resumption.

If we have CHIP_IM_MAX_NUM_SUBSCRIPTIONS to be resumed after reboot, we will create CHIP_IM_MAX_NUM_SUBSCRIPTIONS ReadHandlers firstly and then establish sessions over these ReadHandlers. Considering this situation, before these ReadHandlers succeed to establish sessions, a new subscription interaction is invoked, then the device will call EnsureResourceForSubscription() to ensure there is enough resource for this new subscription interaction. Since the ReadHandler Pool is used up at that time, we need to release a ReadHandler, but no ReadHandler will be closed as GetAccessingFabricIndex() in every ReadHandler will return kUndefinedFabricIndex. Then the device will crash at VerifyOrDieWithMsg(didEvictHandler, DataManagement, "Failed to get required resources by evicting existing subscriptions.");. line

In this PR, a SubscriptionResumptionHelper will be created for Subscription Resumption. It will establish CASE sessions and create ReadHandler after session establishment.

@github-actions github-actions bot added the app label Nov 15, 2023
Copy link

github-actions bot commented Nov 15, 2023

PR #30491: Size comparison from aeee127 to 96c2553

Increases above 0.2%:

platform target config section aeee127 96c2553 change % change
linux air-purifier-app debug .init_array 808 816 8 1.0
all-clusters-app debug .init_array 1216 1224 8 0.7
all-clusters-minimal-app debug .init_array 1160 1168 8 0.7
bridge-app debug .init_array 832 840 8 1.0
chip-tool debug .init_array 776 784 8 1.0
lighting-app debug+rpc+ui .init_array 960 968 8 0.8
lock-app debug .init_array 856 864 8 0.9
ota-provider-app debug .init_array 728 736 8 1.1
ota-requestor-app debug .init_array 784 792 8 1.0
shell debug .init_array 1072 1080 8 0.7
thermostat-no-ble arm64 (read/write) 245192 245896 704 0.3
tv-app debug .init_array 1136 1144 8 0.7
tv-casting-app debug .init_array 1144 1152 8 0.7
Increases (20 builds for efr32, esp32, linux)
platform target config section aeee127 96c2553 change % change
efr32 lighting-app BRD4161A+rs9116 .text 834832 835400 568 0.1
BRD4187C .text 896588 897036 448 0.0
lock-app BRD4161A+wf200 .text 914084 914468 384 0.0
window-app BRD4187C .text 960544 961104 560 0.1
esp32 all-clusters-app c3devkit (read only) 1130672 1131206 534 0.0
.flash.rodata 241416 241472 56 0.0
.flash.text 1130672 1131206 534 0.0
m5stack (read only) 1175783 1176203 420 0.0
.flash.rodata 273256 273312 56 0.0
.flash.text 1170399 1170819 420 0.0
linux air-purifier-app debug (read only) 2489285 2493069 3784 0.2
(read/write) 126608 126616 8 0.0
.init_array 808 816 8 1.0
.rodata 177032 177160 128 0.1
.text 2138021 2141653 3632 0.2
all-clusters-app debug (read only) 5297065 5300849 3784 0.1
(read/write) 424824 424832 8 0.0
.init_array 1216 1224 8 0.7
.rodata 301020 301148 128 0.0
.text 4611427 4615059 3632 0.1
all-clusters-minimal-app debug (read only) 4903801 4907617 3816 0.1
(read/write) 233408 233416 8 0.0
.init_array 1160 1168 8 0.7
.rodata 269933 270093 160 0.1
.text 4402499 4406131 3632 0.1
bridge-app debug (read only) 4384633 4388433 3800 0.1
(read/write) 215456 215464 8 0.0
.init_array 832 840 8 1.0
.rodata 218005 218133 128 0.1
.text 3948867 3952515 3648 0.1
chip-tool debug (read only) 10586801 10590585 3784 0.0
(read/write) 458472 458480 8 0.0
.init_array 776 784 8 1.0
.rodata 397929 398057 128 0.0
.text 9569667 9573299 3632 0.0
chip-tool-ipv6only arm64 (read only) 10445696 10449072 3376 0.0
(read/write) 525056 525744 688 0.1
.rodata 322664 322760 96 0.0
.text 9329864 9333144 3280 0.0
lighting-app debug+rpc+ui (read only) 5249473 5253257 3784 0.1
(read/write) 223624 223632 8 0.0
.init_array 960 968 8 0.8
.rodata 337588 337716 128 0.0
.text 4668435 4672067 3632 0.1
lock-app debug (read only) 4469793 4473577 3784 0.1
(read/write) 203072 203080 8 0.0
.init_array 856 864 8 0.9
.rodata 245909 246037 128 0.1
.text 4014611 4018243 3632 0.1
ota-provider-app debug (read only) 4133937 4137721 3784 0.1
(read/write) 192288 192296 8 0.0
.init_array 728 736 8 1.1
.rodata 200309 200437 128 0.1
.text 3742563 3746195 3632 0.1
ota-requestor-app debug (read only) 4220225 4224041 3816 0.1
(read/write) 196536 196544 8 0.0
.init_array 784 792 8 1.0
.rodata 204053 204213 160 0.1
.text 3820803 3824435 3632 0.1
shell debug (read only) 2754697 2758481 3784 0.1
(read/write) 148832 148840 8 0.0
.init_array 1072 1080 8 0.7
.rodata 179136 179264 128 0.1
.text 2405042 2408674 3632 0.2
thermostat-no-ble arm64 (read only) 4372488 4375848 3360 0.1
(read/write) 245192 245896 704 0.3
.rodata 161540 161636 96 0.1
.text 3871704 3874968 3264 0.1
tv-app debug (read only) 5254041 5257825 3784 0.1
(read/write) 344984 344992 8 0.0
.init_array 1136 1144 8 0.7
.rodata 266749 266877 128 0.0
.text 4752531 4756163 3632 0.1
tv-casting-app debug (read only) 8518881 8522665 3784 0.0
(read/write) 319488 319496 8 0.0
.init_array 1144 1152 8 0.7
.rodata 344136 344264 128 0.0
.text 7757811 7761443 3632 0.0
Decreases (6 builds for efr32, esp32)
platform target config section aeee127 96c2553 change % change
efr32 lighting-app BRD4161A+rs9116 (read/write) 1009468 1009236 -232 -0.0
.bss 171920 171120 -800 -0.5
BRD4187C (read/write) 1095484 1095132 -352 -0.0
.bss 195572 194772 -800 -0.4
lock-app BRD4161A+wf200 (read/write) 1103392 1102976 -416 -0.0
.bss 186576 185776 -800 -0.4
window-app BRD4187C (read/write) 1131720 1131480 -240 -0.0
.bss 167980 167180 -800 -0.5
esp32 all-clusters-app c3devkit (read/write) 1670140 1669396 -744 -0.0
.dram0.bss 71856 71056 -800 -1.1
m5stack (read/write) 520136 519392 -744 -0.1
.dram0.bss 78496 77696 -800 -1.0
Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section aeee127 96c2553 change % change
bl602 lighting-app bl602 (read/write) 1408614 1408614 0 0.0
.bss 84512 84512 0 0.0
.data 9376 9376 0 0.0
.rodata 156456 156456 0 0.0
.text 1077620 1077620 0 0.0
bl602+mfd (read/write) 1423070 1423070 0 0.0
.bss 84680 84680 0 0.0
.data 9344 9344 0 0.0
.rodata 155416 155416 0 0.0
.text 1092972 1092972 0 0.0
bl602+rpc (read/write) 1456134 1456134 0 0.0
.bss 92544 92544 0 0.0
.data 9744 9744 0 0.0
.rodata 164072 164072 0 0.0
.text 1109108 1109108 0 0.0
bl702 lighting-app bl702 (read only) 3478 3478 0 0.0
(read/write) 1174787 1174787 0 0.0
.bss 11197 11197 0 0.0
.data 3560 3560 0 0.0
.rodata 106192 106192 0 0.0
.text 948114 948114 0 0.0
bl702+mfd (read only) 3478 3478 0 0.0
(read/write) 1185655 1185655 0 0.0
.bss 11373 11373 0 0.0
.data 3536 3536 0 0.0
.rodata 105132 105132 0 0.0
.text 959922 959922 0 0.0
bl702+rpc (read only) 3478 3478 0 0.0
(read/write) 1274851 1274851 0 0.0
.bss 19677 19677 0 0.0
.data 4112 4112 0 0.0
.rodata 121600 121600 0 0.0
.text 1023180 1023180 0 0.0
bl706-eth (read/write) 993721 993721 0 0.0
.bss 23772 23772 0 0.0
.data 3128 3128 0 0.0
.rodata 99280 99280 0 0.0
.text 740586 740586 0 0.0
bl706-wifi (read/write) 1228970 1228970 0 0.0
.bss 10657 10657 0 0.0
.data 3568 3568 0 0.0
.rodata 120140 120140 0 0.0
.text 965116 965116 0 0.0
bl702l lighting-app bl702l (read only) 512 512 0 0.0
(read/write) 1144500 1144500 0 0.0
.bss 16408 16408 0 0.0
.data 4920 4920 0 0.0
.rodata 100196 100196 0 0.0
.text 941208 941208 0 0.0
bl702l+mfd (read only) 512 512 0 0.0
(read/write) 1155960 1155960 0 0.0
.bss 16584 16584 0 0.0
.data 4904 4904 0 0.0
.rodata 99136 99136 0 0.0
.text 953584 953584 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 (read only) 738035 738035 0 0.0
(read/write) 166536 166536 0 0.0
.bss 88948 88948 0 0.0
.data 3424 3424 0 0.0
.rodata 84703 84703 0 0.0
.text 652940 652940 0 0.0
lock-ftd LP_EM_CC1354P10_6 (read only) 756987 756987 0 0.0
(read/write) 176764 176764 0 0.0
.bss 99132 99132 0 0.0
.data 3444 3444 0 0.0
.rodata 79815 79815 0 0.0
.text 676780 676780 0 0.0
lock-mtd LP_EM_CC1354P10_6 (read only) 743667 743667 0 0.0
(read/write) 171220 171220 0 0.0
.bss 93588 93588 0 0.0
.data 3444 3444 0 0.0
.rodata 105511 105511 0 0.0
.text 637764 637764 0 0.0
pump-app LP_EM_CC1354P10_6 (read only) 697707 697707 0 0.0
(read/write) 165636 165636 0 0.0
.bss 87816 87816 0 0.0
.data 3412 3412 0 0.0
.rodata 80455 80455 0 0.0
.text 616860 616860 0 0.0
pump-controller-app LP_EM_CC1354P10_6 (read only) 683387 683387 0 0.0
(read/write) 165768 165768 0 0.0
.bss 87960 87960 0 0.0
.data 3408 3408 0 0.0
.rodata 76287 76287 0 0.0
.text 606708 606708 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL (read only) 564610 564610 0 0.0
(read/write) 206496 206496 0 0.0
.bss 199956 199956 0 0.0
.data 1416 1416 0 0.0
.rodata 83730 83730 0 0.0
.text 478756 478756 0 0.0
lock CC3235SF_LAUNCHXL (read only) 616834 616834 0 0.0
(read/write) 206836 206836 0 0.0
.bss 200272 200272 0 0.0
.data 1444 1444 0 0.0
.rodata 105522 105522 0 0.0
.text 509192 509192 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 555343 555343 0 0.0
.app_xip_area 446409 446409 0 0.0
.bss 63848 63848 0 0.0
.data 664 664 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 538927 538927 0 0.0
.app_xip_area 425257 425257 0 0.0
.bss 68552 68552 0 0.0
.data 696 696 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 577087 577087 0 0.0
.app_xip_area 469481 469481 0 0.0
.bss 62592 62592 0 0.0
.data 592 592 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
switch cyw930739m2evb_01 (read/write) 553095 553095 0 0.0
.app_xip_area 442401 442401 0 0.0
.bss 65576 65576 0 0.0
.data 692 692 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rs9116 (read/write) 1009468 1009236 -232 -0.0
.bss 171920 171120 -800 -0.5
.data 2696 2696 0 0.0
.text 834832 835400 568 0.1
BRD4187C (read/write) 1095484 1095132 -352 -0.0
.bss 195572 194772 -800 -0.4
.data 3304 3304 0 0.0
.text 896588 897036 448 0.0
lock-app BRD4161A+wf200 (read/write) 1103392 1102976 -416 -0.0
.bss 186576 185776 -800 -0.4
.data 2708 2708 0 0.0
.text 914084 914468 384 0.0
window-app BRD4187C (read/write) 1131720 1131480 -240 -0.0
.bss 167980 167180 -800 -0.5
.data 3176 3176 0 0.0
.text 960544 961104 560 0.1
esp32 all-clusters-app c3devkit (read only) 1130672 1131206 534 0.0
(read/write) 1670140 1669396 -744 -0.0
.dram0.bss 71856 71056 -800 -1.1
.dram0.data 12996 12996 0 0.0
.flash.rodata 241416 241472 56 0.0
.flash.text 1130672 1131206 534 0.0
.iram0.text 75694 75694 0 0.0
m5stack (read only) 1175783 1176203 420 0.0
(read/write) 520136 519392 -744 -0.1
.dram0.bss 78496 77696 -800 -1.0
.dram0.data 34020 34020 0 0.0
.flash.rodata 273256 273312 56 0.0
.flash.text 1170399 1170819 420 0.0
.iram0.text 123907 123907 0 0.0
k32w contact k32w0+release (read only) 591908 591908 0 0.0
(read/write) 87608 87608 0 0.0
.bss 70848 70848 0 0.0
.data 2136 2136 0 0.0
.text 591372 591372 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 687000 687000 0 0.0
.bss 67048 67048 0 0.0
.data 2720 2720 0 0.0
.text 573752 573752 0 0.0
light k32w0+release (read only) 591628 591628 0 0.0
(read/write) 87284 87284 0 0.0
.bss 70536 70536 0 0.0
.data 2124 2124 0 0.0
.text 591092 591092 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 779028 779028 0 0.0
.bss 76724 76724 0 0.0
.data 1932 1932 0 0.0
.text 656912 656912 0 0.0
lock k32w0+release (read only) 563460 563460 0 0.0
(read/write) 85112 85112 0 0.0
.bss 68424 68424 0 0.0
.data 2064 2064 0 0.0
.text 562924 562924 0 0.0
linux air-purifier-app debug (read only) 2489285 2493069 3784 0.2
(read/write) 126608 126616 8 0.0
.bss 46880 46880 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 72248 72248 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 808 816 8 1.0
.rodata 177032 177160 128 0.1
.text 2138021 2141653 3632 0.2
all-clusters-app debug (read only) 5297065 5300849 3784 0.1
(read/write) 424824 424832 8 0.0
.bss 129104 129104 0 0.0
.data 3856 3856 0 0.0
.data.rel.ro 284624 284624 0 0.0
.dynamic 624 624 0 0.0
.got 5352 5352 0 0.0
.init 27 27 0 0.0
.init_array 1216 1224 8 0.7
.rodata 301020 301148 128 0.0
.text 4611427 4615059 3632 0.1
all-clusters-minimal-app debug (read only) 4903801 4907617 3816 0.1
(read/write) 233408 233416 8 0.0
.bss 126928 126928 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 95568 95568 0 0.0
.dynamic 624 624 0 0.0
.got 5312 5312 0 0.0
.init 27 27 0 0.0
.init_array 1160 1168 8 0.7
.rodata 269933 270093 160 0.1
.text 4402499 4406131 3632 0.1
bridge-app debug (read only) 4384633 4388433 3800 0.1
(read/write) 215456 215464 8 0.0
.bss 119128 119128 0 0.0
.data 4704 4704 0 0.0
.data.rel.ro 84864 84864 0 0.0
.dynamic 624 624 0 0.0
.got 5280 5280 0 0.0
.init 27 27 0 0.0
.init_array 832 840 8 1.0
.rodata 218005 218133 128 0.1
.text 3948867 3952515 3648 0.1
chip-tool debug (read only) 10586801 10590585 3784 0.0
(read/write) 458472 458480 8 0.0
.bss 94008 94008 0 0.0
.data 4994 4994 0 0.0
.data.rel.ro 352232 352232 0 0.0
.dynamic 624 624 0 0.0
.got 5784 5784 0 0.0
.init 27 27 0 0.0
.init_array 776 784 8 1.0
.rodata 397929 398057 128 0.0
.text 9569667 9573299 3632 0.0
chip-tool-ipv6only arm64 (read only) 10445696 10449072 3376 0.0
(read/write) 525056 525744 688 0.1
.bss 103320 103320 0 0.0
.data 4296 4296 0 0.0
.data.rel.ro 389944 389944 0 0.0
.dynamic 512 512 0 0.0
.got 18824 18824 0 0.0
.init 24 24 0 0.0
.init_array 256 256 0 0.0
.rodata 322664 322760 96 0.0
.text 9329864 9333144 3280 0.0
lighting-app debug+rpc+ui (read only) 5249473 5253257 3784 0.1
(read/write) 223624 223632 8 0.0
.bss 118592 118592 0 0.0
.data 4384 4384 0 0.0
.data.rel.ro 93104 93104 0 0.0
.dynamic 672 672 0 0.0
.got 5896 5896 0 0.0
.init 27 27 0 0.0
.init_array 960 968 8 0.8
.rodata 337588 337716 128 0.0
.text 4668435 4672067 3632 0.1
lock-app debug (read only) 4469793 4473577 3784 0.1
(read/write) 203072 203080 8 0.0
.bss 113536 113536 0 0.0
.data 3648 3648 0 0.0
.data.rel.ro 79144 79144 0 0.0
.dynamic 624 624 0 0.0
.got 5232 5232 0 0.0
.init 27 27 0 0.0
.init_array 856 864 8 0.9
.rodata 245909 246037 128 0.1
.text 4014611 4018243 3632 0.1
ota-provider-app debug (read only) 4133937 4137721 3784 0.1
(read/write) 192288 192296 8 0.0
.bss 113568 113568 0 0.0
.data 3920 3920 0 0.0
.data.rel.ro 68880 68880 0 0.0
.dynamic 624 624 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 728 736 8 1.1
.rodata 200309 200437 128 0.1
.text 3742563 3746195 3632 0.1
ota-requestor-app debug (read only) 4220225 4224041 3816 0.1
(read/write) 196536 196544 8 0.0
.bss 114592 114592 0 0.0
.data 4192 4192 0 0.0
.data.rel.ro 71840 71840 0 0.0
.dynamic 624 624 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 784 792 8 1.0
.rodata 204053 204213 160 0.1
.text 3820803 3824435 3632 0.1
shell debug (read only) 2754697 2758481 3784 0.1
(read/write) 148832 148840 8 0.0
.bss 59752 59752 0 0.0
.data 784 784 0 0.0
.data.rel.ro 82496 82496 0 0.0
.dynamic 592 592 0 0.0
.got 4104 4104 0 0.0
.init 27 27 0 0.0
.init_array 1072 1080 8 0.7
.rodata 179136 179264 128 0.1
.text 2405042 2408674 3632 0.2
thermostat-no-ble arm64 (read only) 4372488 4375848 3360 0.1
(read/write) 245192 245896 704 0.3
.bss 122184 122184 0 0.0
.data 2800 2800 0 0.0
.data.rel.ro 101864 101864 0 0.0
.dynamic 512 512 0 0.0
.got 11936 11936 0 0.0
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 161540 161636 96 0.1
.text 3871704 3874968 3264 0.1
tv-app debug (read only) 5254041 5257825 3784 0.1
(read/write) 344984 344992 8 0.0
.bss 242336 242336 0 0.0
.data 4992 4992 0 0.0
.data.rel.ro 90352 90352 0 0.0
.dynamic 624 624 0 0.0
.got 5520 5520 0 0.0
.init 27 27 0 0.0
.init_array 1136 1144 8 0.7
.rodata 266749 266877 128 0.0
.text 4752531 4756163 3632 0.1
tv-casting-app debug (read only) 8518881 8522665 3784 0.0
(read/write) 319488 319496 8 0.0
.bss 156192 156192 0 0.0
.data 2464 2464 0 0.0
.data.rel.ro 153984 153984 0 0.0
.dynamic 624 624 0 0.0
.got 5064 5064 0 0.0
.init 27 27 0 0.0
.init_array 1144 1152 8 0.7
.rodata 344136 344264 128 0.0
.text 7757811 7761443 3632 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2521952 2521952 0 0.0
.bss 219008 219008 0 0.0
.data 5136 5136 0 0.0
.text 1484636 1484636 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1054952 1054952 0 0.0
bss 128347 128347 0 0.0
rodata 104136 104136 0 0.0
text 774880 774880 0 0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1181784 1181784 0 0.0
bss 120549 120549 0 0.0
rodata 138328 138328 0 0.0
text 772580 772580 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1040292 1040292 0 0.0
bss 128640 128640 0 0.0
rodata 99404 99404 0 0.0
text 764668 764668 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 837624 837624 0 0.0
(read/write) 1733316 1733316 0 0.0
.bss 193236 193236 0 0.0
.data 2480 2480 0 0.0
.text 1529212 1529212 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 839344 839344 0 0.0
(read/write) 1697204 1697204 0 0.0
.bss 191516 191516 0 0.0
.data 2480 2480 0 0.0
.text 1494820 1494820 0 0.0
light cy8ckit_062s2_43012 (read only) 845896 845896 0 0.0
(read/write) 1623388 1623388 0 0.0
.bss 185076 185076 0 0.0
.data 2368 2368 0 0.0
.text 1427556 1427556 0 0.0
lock cy8ckit_062s2_43012 (read only) 818688 818688 0 0.0
(read/write) 1652148 1652148 0 0.0
.bss 212268 212268 0 0.0
.data 2384 2384 0 0.0
.text 1429108 1429108 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1113432 1113432 0 0.0
.bss 100672 100672 0 0.0
.data 748 748 0 0.0
.text 625808 625808 0 0.0
lock-app qpg6105+debug (read/write) 1074556 1074556 0 0.0
.bss 95448 95448 0 0.0
.data 780 780 0 0.0
.text 586932 586932 0 0.0
telink air-quality-sensor-app tlsr9528a_retention (read only) 51910 51910 0 0.0
(read/write) 815518 815518 0 0.0
bss 53224 53224 0 0.0
text 609746 609746 0 0.0
all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1072164 1072164 0 0.0
bss 99392 99392 0 0.0
text 755628 755628 0 0.0
all-clusters-minimal-app tlsr9528a (read only) 4 4 0 0.0
(read/write) 1077076 1077076 0 0.0
bss 109088 109088 0 0.0
text 747320 747320 0 0.0
bridge-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 930820 930820 0 0.0
bss 93688 93688 0 0.0
text 643700 643700 0 0.0
contact-sensor-app tlsr9528a_retention (read only) 51910 51910 0 0.0
(read/write) 815630 815630 0 0.0
bss 53276 53276 0 0.0
text 609950 609950 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a (read only) 4 4 0 0.0
(read/write) 969868 969868 0 0.0
bss 77076 77076 0 0.0
text 687876 687876 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1086952 1086952 0 0.0
bss 99196 99196 0 0.0
text 764436 764436 0 0.0
lock-app-dfu tlsr9528a_retention (read only) 51910 51910 0 0.0
(read/write) 869394 869394 0 0.0
bss 53916 53916 0 0.0
text 637062 637062 0 0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 944116 944116 0 0.0
bss 91796 91796 0 0.0
text 659442 659442 0 0.0
pump-app tlsr9528a (read only) 4 4 0 0.0
(read/write) 872300 872300 0 0.0
bss 67112 67112 0 0.0
text 616500 616500 0 0.0
pump-controller-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 812864 812864 0 0.0
bss 55356 55356 0 0.0
text 583476 583476 0 0.0
resource-monitoring-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 828540 828540 0 0.0
bss 55760 55760 0 0.0
text 594066 594066 0 0.0
shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 705712 705712 0 0.0
bss 73232 73232 0 0.0
text 462250 462250 0 0.0
smoke_co_alarm-app tlsr9528a_retention (read only) 51910 51910 0 0.0
(read/write) 817358 817358 0 0.0
bss 53368 53368 0 0.0
text 612680 612680 0 0.0
temperature-measurement-app tlsr9528a_retention (read only) 51910 51910 0 0.0
(read/write) 805286 805286 0 0.0
bss 53108 53108 0 0.0
text 602330 602330 0 0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 836884 836884 0 0.0
bss 55644 55644 0 0.0
text 601624 601624 0 0.0
window-covering tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 831400 831400 0 0.0
bss 55996 55996 0 0.0
text 595858 595858 0 0.0

@yunhanw-google
Copy link
Contributor

yunhanw-google commented Dec 12, 2023

wanna see whether you can add one test in CI to exercise this case?

@yunhanw-google Have no idea on how to add the CI test for this case. Are there any instructions for it?

Would not block the merge for this PR, please file one ticket with details for follow-up test, I would offline figure out with you regarding how to add this test.

src/app/ReadHandler.cpp Outdated Show resolved Hide resolved
@andy31415 andy31415 dismissed their stale review December 14, 2023 14:30

Several changes made, antipatterns were removed.

@mergify mergify bot merged commit 371756b into project-chip:master Jan 4, 2024
57 checks passed
Jerry-ESP added a commit to Jerry-ESP/connectedhomeip that referenced this pull request Jan 5, 2024
…on Establishment for Subscription Resumption
andy31415 pushed a commit that referenced this pull request Jan 9, 2024
@mkardous-silabs
Copy link
Contributor

@wqx6 @jtung-apple Was it intended that there behavior changes in the subscriptiont timeout feature?
Based on the diff, this PR is changing the timeout retry logic which makes the device only retry once to resubscribe. Is that an intented change?

espressif-bot pushed a commit to espressif/connectedhomeip that referenced this pull request Mar 28, 2024
…esumption (project-chip#30491)

* IM: Create ReadHandler after Session Establishment for Subscription Resumption

* Restyled by clang-format

* Make SubscriptionResumptionHelper inherits from SubscriptionInfo

* review changes

* Rename Helper to SessionEstablisher

* Restyled by clang-format

* RAII changes

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>
espressif-bot pushed a commit to espressif/connectedhomeip that referenced this pull request Mar 28, 2024
[cherry-pick] IM: Create ReadHandler after Session Establishment for Subscription Resumption (project-chip#30491) into v1.2

See merge request espressif/connectedhomeip!10
Jerry-ESP pushed a commit to Jerry-ESP/connectedhomeip that referenced this pull request Apr 25, 2024
…esumption (project-chip#30491)

* IM: Create ReadHandler after Session Establishment for Subscription Resumption

* Restyled by clang-format

* Make SubscriptionResumptionHelper inherits from SubscriptionInfo

* review changes

* Rename Helper to SessionEstablisher

* Restyled by clang-format

* RAII changes

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>
andy31415 pushed a commit that referenced this pull request Apr 26, 2024
… v1.2-branch (#33161)

* [1.1] Cherry pick Thread DNS client and memory leak fixes (#31457)

* [app] Fix DeferredAttributePersister memory leak (#31075)

* [app] Fix DeferredAttributePerister memory leak

ScopedMemoryBuffer's Release() method was used instead of
Free(). Add CHECK_RETURN_VALUE annotation to the Release()
method to prevent from making such a mistake in the future.

Signed-off-by: Damian Krolik <[email protected]>

* Code review

---------

Signed-off-by: Damian Krolik <[email protected]>
(cherry picked from commit 3e8aeeb)

* [OpenThread] Harden DNS record parsing (#31227)

OpenThread applications would crash upon receiving an empty
DNS TXT record. The reason was that the code for copying OT
DNS service info object into Matter DnssdService object
would not initialize the TXT entry count in the latter
object in such a case.

In the reported case, the Matter stack was presented an
empty TXT record because OpenThread's DNS client received
a TXT record with TTL 0 and it discarded its contents.
Nevertheless, the issue could be reproduced by publishing
Matter service without TXT entries and kicking off DNS query.

1. Initialize the TXT entry and subtype count properly in all
   scenarios.
2. Do not even process the service info object if an error was
   returned by OpenThread before.
3. Extract some boilerplate to a separate function to improve
   readability.

Signed-off-by: Damian Krolik <[email protected]>
(cherry picked from commit 76b6bb5)

* ESP32: Add EndpointQueueFilter for ESP32 platform (#31440)

* Add EndpointQueueFilter for ESP32 platform

* Restyled by clang-format

* Restyled by gn

* fix compile error when disabling inet ipv4

* review changes

* Restyled by clang-format

* review changes

* review changes

---------

Co-authored-by: Restyled.io <[email protected]>

* [ESP32] Limit number of returned WiFi scan results to configured limit (#30780)

Scan results are allocated on the heap and on a resource critical device
where heap is less, this may fail if there are a lot of APs in the
vicinity.

* [ESP32] Fix the threading issue in nimble (#29180)

* [ESP32] Fix the threading issue in nimble

Send ble connection error than executing in nimble thread context

* comment explaining why we are posting connection error event

* Adding a comment for kCHIPoBLEConnectionError

* IM: Create ReadHandler after Session Establishment for Subscription Resumption (#30491)

* IM: Create ReadHandler after Session Establishment for Subscription Resumption

* Restyled by clang-format

* Make SubscriptionResumptionHelper inherits from SubscriptionInfo

* review changes

* Rename Helper to SessionEstablisher

* Restyled by clang-format

* RAII changes

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>

* [ESP32] Fix adding NDEBUG flag to CPPFLAGS (#30763)

In esp-idf, NDEBUG flag is added to CPPFLAGS only if assertions are
disabled. Making this inline to that.

* Add records of session establishment for subscription resumption (#31755)

* Add records of session establishment for subscription resumption

* Restyled by clang-format

* review changes

* Schedule subscription resumption when failing to establish the session in SubscriptionResumptionSessionEstablisher

* Add option to set subscription timeout resumption retry interval seconds for Linux app
Add cirque test for subscription resumption timeout

* Restyled by clang-format

* Restyled by autopep8

* Restyled by isort

* fix CI building

* Add test to the test list

* add subscription resumption restries number to SubscriptionInfo struct

* review changes

* make resumption retries persistent

* Restyled by clang-format

* ci build fixes

* try to fix cirque test

---------

Co-authored-by: Restyled.io <[email protected]>

* ESP32: check ap info in IsStationConnected (#31438)

* Add checks for mOTInst in GenericThreadStackManagerImpl_OpenThread (#32482)

* Add checks for mOTInst in GenericThreadStackManagerImpl_OpenThread

* review changes

* [ESP32] Fix few attributes with fixed quality in DeviceInfoProvider (#32893)

* [ESP32] Fix few attributes with fixed quality in DeviceInfoProvider

Fixed labels, supported locales, supported calendar types were being
read from the nvs(flash) and during OTA its a hassle if one wants to
upgrade these values. Added few APIs to set the data for these
attributes in ESP32DeviceInfoProvider.

* Restyled by clang-format

* Restyled by prettier-markdown

* fix the lint errors

* Add back the original Device info provider which reads from the nvs

Add StaticESP32DeviceInfoProvider along with APIs to set data

Remove changes from example and add a guide along with usage

---------

Co-authored-by: Restyled.io <[email protected]>

* Implement BLE Manager Shutdown for nimble host (#33109)

* [ESP32] Implement BLE Manager Shutdown for nimble host

- Replace ble deinit imple in Esp32AppServer with BLEMgr().Shutdown()
- Replace few ESP_LOG with ChipLog in Esp32AppServer
- Move ble deinit kCommissioningComplete switch case
- Make USE_BLE_ONLY_FOR_COMMISSIONING depends on BT_ENABLED

* Restyled by clang-format

* address reviews

* Add checks for timer handler

---------

Co-authored-by: Restyled.io <[email protected]>

* [ESP32]  Made a provision to generate esp_secure_cert partition in factory partition script. (#29840)

* Made a provision to generate esp_secure_cert partition in factory partition script.

- Added the provision to generate esp_secure_cert_partition based on option --dac-in-secure-cert.
- Refactored some code of the existing script - made it more modular.

* made outdir user governed

* Added the support for onboarding paylaod in factory script (#31274)

---------

Co-authored-by: Damian Królik <[email protected]>
Co-authored-by: Wang Qixiang <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Shubham Patil <[email protected]>
Co-authored-by: shripad621git <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

10 participants