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 cancellation of subscriptions to work correctly. #28569

Merged
merged 2 commits into from
Aug 8, 2023

Conversation

bzbarsky-apple
Copy link
Contributor

When a subscription came in with KeepSubscriptions set to false, we would just directly delete the ReadHandlers for the subscriptions not being kept, instead of calling Close().

That meant we skipped deleting subscription persistence data, and also failed to correcly update the reporting engine's round-robin reporting state, which could lead to subscriptions not being serviced fairly.

The fix is to just call Close() just like we do for out-of-resource eviction, instead of manually deleting the object.

When a subscription came in with KeepSubscriptions set to false, we would just
directly delete the ReadHandlers for the subscriptions not being kept, instead
of calling Close().

That meant we skipped deleting subscription persistence data, and also failed to
correcly update the reporting engine's round-robin reporting state, which could
lead to subscriptions not being serviced fairly.

The fix is to just call Close() just like we do for out-of-resource eviction,
instead of manually deleting the object.
@github-actions
Copy link

github-actions bot commented Aug 8, 2023

PR #28569: Size comparison from 367a0c6 to bdded51

Increases (6 builds for cc32xx, psoc6, telink)
platform target config section 367a0c6 bdded51 change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_info 19408670 19408674 4 0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 30114179 30114182 3 0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 27211423 27211427 4 0.0
light cy8ckit_062s2_43012 .debug_info 22357909 22357915 6 0.0
lock cy8ckit_062s2_43012 .debug_info 22271337 22271342 5 0.0
telink shell tlsr9518adk80d (read/write) 744180 744188 8 0.0
text 478642 478646 4 0.0
Decreases (45 builds for bl602, bl702, bl702l, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 367a0c6 bdded51 change % change
bl602 lighting-app bl602 (read/write) 1363378 1363354 -24 -0.0
.text 1056472 1056444 -28 -0.0
bl602+rpc (read/write) 1410846 1410822 -24 -0.0
.text 1088404 1088378 -26 -0.0
bl702 lighting-app bl702 (read/write) 1166235 1166211 -24 -0.0
.debug_info 41493418 41493365 -53 -0.0
.debug_line 5483125 5483090 -35 -0.0
.debug_loc 3564497 3564355 -142 -0.0
.text 953450 953426 -24 -0.0
bl702+rpc (read/write) 1265167 1265143 -24 -0.0
.debug_info 46387857 46387804 -53 -0.0
.debug_line 5895647 5895612 -35 -0.0
.debug_loc 3770653 3770511 -142 -0.0
.text 1028132 1028108 -24 -0.0
bl702l lighting-app bl702l (read/write) 1152164 1152140 -24 -0.0
.debug_info 41494527 41494474 -53 -0.0
.debug_line 5398819 5398784 -35 -0.0
.debug_loc 3500581 3500439 -142 -0.0
.text 942524 942500 -24 -0.0
cc32xx lock CC3235SF_LAUNCHXL (read only) 615602 615594 -8 -0.0
.debug_line 2813733 2813728 -5 -0.0
.text 507196 507188 -8 -0.0
cyw30739 ota-requestor cyw930739m2evb_01 (read/write) 573927 573919 -8 -0.0
.app_xip_area 466297 466289 -8 -0.0
efr32 lighting-app BRD4187C (read/write) 1036540 1036524 -16 -0.0
.text 869164 869148 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 1149560 1149552 -8 -0.0
.flash.text 1149560 1149552 -8 -0.0
m5stack (read only) 1191383 1191375 -8 -0.0
.flash.text 1185999 1185991 -8 -0.0
k32w light k32w0+release (read only) 589084 589068 -16 -0.0
.text 588548 588532 -16 -0.0
lock k32w0+release (read only) 561652 561636 -16 -0.0
.text 561116 561100 -16 -0.0
linux all-clusters-app debug (read only) 5487073 5487057 -16 -0.0
.text 4776019 4776003 -16 -0.0
bridge-app debug (read only) 2768753 2768737 -16 -0.0
.text 2376787 2376771 -16 -0.0
chip-tool debug (read only) 17695089 17695073 -16 -0.0
.text 14730659 14730643 -16 -0.0
ota-provider-app debug (read only) 4127385 4127369 -16 -0.0
.text 3736099 3736083 -16 -0.0
ota-requestor-app debug (read only) 4221313 4221297 -16 -0.0
.text 3822275 3822259 -16 -0.0
shell debug (read only) 2930145 2930129 -16 -0.0
.text 2548578 2548562 -16 -0.0
tv-casting-app debug (read only) 8294929 8294913 -16 -0.0
.text 7527123 7527107 -16 -0.0
mbed lock-app-release cy8cproto_062_4343w (read/write) 2522080 2522016 -64 -0.0
.text 1484764 1484700 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 843712 843708 -4 -0.0
nrf7002dk_nrf5340_cpuapp text 771120 771116 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 text 810148 810144 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1766740 1766724 -16 -0.0
.debug_line 4143066 4143057 -9 -0.0
.debug_loclists 2248256 2248252 -4 -0.0
.debug_rnglists 142347 142346 -1 -0.0
.text 1562708 1562692 -16 -0.0
all-clusters-minimal cy8ckit_062s2_43012 (read/write) 1674188 1674172 -16 -0.0
.debug_line 3961008 3960999 -9 -0.0
.debug_loclists 2149102 2149098 -4 -0.0
.debug_rnglists 135480 135479 -1 -0.0
.text 1472108 1472092 -16 -0.0
light cy8ckit_062s2_43012 .debug_line 3526313 3526304 -9 -0.0
.debug_loclists 1986217 1986213 -4 -0.0
.debug_rnglists 125250 125249 -1 -0.0
lock cy8ckit_062s2_43012 (read/write) 1639188 1639172 -16 -0.0
.debug_line 3481764 3481755 -9 -0.0
.debug_loclists 1966626 1966622 -4 -0.0
.debug_rnglists 123426 123425 -1 -0.0
.text 1415852 1415836 -16 -0.0
qpg lighting-app qpg6105+debug (read/write) 1177788 1177780 -8 -0.0
.text 624632 624624 -8 -0.0
telink all-clusters-app tlsr9518adk80d (read/write) 1070188 1070180 -8 -0.0
text 728998 728990 -8 -0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 976664 976648 -16 -0.0
text 669638 669626 -12 -0.0
bridge-app tlsr9518adk80d (read/write) 944056 944048 -8 -0.0
text 646888 646880 -8 -0.0
contact-sensor-app tlsr9518adk80d (read/write) 876020 876012 -8 -0.0
text 590278 590270 -8 -0.0
light-switch-app tlsr9518adk80d (read/write) 907324 907316 -8 -0.0
text 618008 618000 -8 -0.0
lighting-app tlsr9518adk80d (read/write) 982312 982304 -8 -0.0
text 685642 685636 -6 -0.0
lighting-app-factory-data tlsr9518adk80d (read/write) 993676 993668 -8 -0.0
text 693160 693148 -12 -0.0
lighting-app-rpc tlsr9518adk80d (read/write) 1051844 1051836 -8 -0.0
text 730574 730568 -6 -0.0
lighting-app-shell tlsr9518adk80d text 750678 750674 -4 -0.0
lock-app tlsr9518adk80d (read/write) 933472 933464 -8 -0.0
text 620952 620942 -10 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 898600 898592 -8 -0.0
text 612120 612110 -10 -0.0
pump-app tlsr9518adk80d (read/write) 881412 881404 -8 -0.0
text 595876 595870 -6 -0.0
pump-controller-app tlsr9518adk80d (read/write) 868592 868584 -8 -0.0
text 586340 586336 -4 -0.0
smoke_co_alarm-app tlsr9518adk80d (read/write) 878504 878496 -8 -0.0
text 593750 593746 -4 -0.0
temperature-measurement-app tlsr9518adk80d (read/write) 864772 864764 -8 -0.0
text 581992 581984 -8 -0.0
thermostat tlsr9518adk80d text 621320 621314 -6 -0.0
window-covering tlsr9518adk80d (read/write) 906400 906384 -16 -0.0
text 616630 616620 -10 -0.0
Full report (58 builds for bl602, bl702, bl702l, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 367a0c6 bdded51 change % change
bl602 lighting-app bl602 (read/write) 1363378 1363354 -24 -0.0
.bss 73622 73622 0 0.0
.data 9560 9560 0 0.0
.text 1056472 1056444 -28 -0.0
bl602+rpc (read/write) 1410846 1410822 -24 -0.0
.bss 81662 81662 0 0.0
.data 9952 9952 0 0.0
.text 1088404 1088378 -26 -0.0
bl702 lighting-app bl702 (read only) 3358 3358 0 0.0
(read/write) 1166235 1166211 -24 -0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 41285 41285 0 0.0
.bss_psram 43424 43424 0 0.0
.comment 48 48 0 0.0
.data 3544 3544 0 0.0
.debug_abbrev 1566850 1566850 0 0.0
.debug_aranges 140376 140376 0 0.0
.debug_frame 516544 516544 0 0.0
.debug_info 41493418 41493365 -53 -0.0
.debug_line 5483125 5483090 -35 -0.0
.debug_loc 3564497 3564355 -142 -0.0
.debug_ranges 384456 384456 0 0.0
.debug_str 4011830 4011830 0 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 106856 106856 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 589131 589131 0 0.0
.symtab 175568 175568 0 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
953450 953426 -24 -0.0
bl702+rpc (read only) 3358 3358 0 0.0
(read/write) 1265167 1265143 -24 -0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 49749 49749 0 0.0
.bss_psram 43424 43424 0 0.0
.comment 48 48 0 0.0
.data 4104 4104 0 0.0
.debug_abbrev 1743980 1743980 0 0.0
.debug_aranges 148920 148920 0 0.0
.debug_frame 545448 545448 0 0.0
.debug_info 46387857 46387804 -53 -0.0
.debug_line 5895647 5895612 -35 -0.0
.debug_loc 3770653 3770511 -142 -0.0
.debug_ranges 410208 410208 0 0.0
.debug_str 4431695 4431695 0 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 121508 121508 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 652094 652094 0 0.0
.symtab 194496 194496 0 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
1028132 1028108 -24 -0.0
bl702l lighting-app bl702l (read only) 278 278 0 0.0
(read/write) 1152164 1152140 -24 -0.0
.boot2 292 292 0 0.0
.bss 15988 15988 0 0.0
.bss_psram 77840 77840 0 0.0
.comment 48 48 0 0.0
.data 4528 4528 0 0.0
.debug_abbrev 1569069 1569069 0 0.0
.debug_aranges 134880 134880 0 0.0
.debug_frame 496232 496232 0 0.0
.debug_info 41494527 41494474 -53 -0.0
.debug_line 5398819 5398784 -35 -0.0
.debug_loc 3500581 3500439 -142 -0.0
.debug_ranges 389664 389664 0 0.0
.debug_str 4024299 4024299 0 0.0
.hbn 3244 3244 0 0.0
.hbn_noinit 308 308 0 0.0
.init 408 408 0 0.0
.init_array 144 144 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 100740 100740 0 0.0
.romdata 3224 3224 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 286 286 0 0.0
.stack 2048 2048 0 0.0
.strtab 589356 589356 0 0.0
.symtab 175136 175136 0 0.0
.tcm_data 692 692 0 0.0
.tcmcode 278 278 0 0.0
.text 0 0 0 0.0
942524 942500 -24 -0.0
cc32xx lock CC3235SF_LAUNCHXL (blank) 0 0 0 0.0
(read only) 615602 615594 -8 -0.0
(read/write) 207744 207744 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 201184 201184 0 0.0
.comment 206 206 0 0.0
.data 1440 1440 0 0.0
.debug_abbrev 961444 961444 0 0.0
.debug_aranges 109048 109048 0 0.0
.debug_frame 369820 369820 0 0.0
.debug_info 19408670 19408674 4 0.0
.debug_line 2813733 2813728 -5 -0.0
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1596942 1596942 0 0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 100570 100570 0 0.0
.debug_str 3426533 3426533 0 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 106282 106282 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 496231 496231 0 0.0
.symtab 293312 293312 0 0.0
.text 507196 507188 -8 -0.0
cyw30739 light cyw930739m2evb_01 (read/write) 550127 550127 0 0.0
.app_xip_area 441417 441417 0 0.0
.bss 63728 63728 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) 537215 537215 0 0.0
.app_xip_area 423457 423457 0 0.0
.bss 68752 68752 0 0.0
.data 692 692 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 573927 573919 -8 -0.0
.app_xip_area 466297 466289 -8 -0.0
.bss 62720 62720 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) 548863 548863 0 0.0
.app_xip_area 438225 438225 0 0.0
.bss 65632 65632 0 0.0
.data 688 688 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rs9116 (read/write) 1011980 1011980 0 0.0
.bss 184524 184524 0 0.0
.data 2652 2652 0 0.0
.text 824784 824784 0 0.0
BRD4187C (read/write) 1036540 1036524 -16 -0.0
.bss 164108 164108 0 0.0
.data 3248 3248 0 0.0
.text 869164 869148 -16 -0.0
lock-app BRD4161A+wf200 (read/write) 1088680 1088680 0 0.0
.bss 178580 178580 0 0.0
.data 2672 2672 0 0.0
.text 907408 907408 0 0.0
window-app BRD4187C (read/write) 1107992 1107992 0 0.0
.bss 147148 147148 0 0.0
.data 3132 3132 0 0.0
.text 957692 957692 0 0.0
esp32 all-clusters-app c3devkit (read only) 1149560 1149552 -8 -0.0
(read/write) 1701964 1701964 0 0.0
.dram0.bss 79048 79048 0 0.0
.dram0.data 13076 13076 0 0.0
.flash.rodata 266088 266088 0 0.0
.flash.text 1149560 1149552 -8 -0.0
.iram0.text 75262 75262 0 0.0
m5stack (read only) 1191383 1191375 -8 -0.0
(read/write) 550174 550174 0 0.0
.dram0.bss 85416 85416 0 0.0
.dram0.data 34036 34036 0 0.0
.flash.rodata 297080 297080 0 0.0
.flash.text 1185999 1185991 -8 -0.0
.iram0.text 123311 123311 0 0.0
k32w contact k32w0+release (read only) 590460 590460 0 0.0
(read/write) 91272 91272 0 0.0
.bss 67316 67316 0 0.0
.data 2124 2124 0 0.0
.text 589924 589924 0 0.0
light k32w0+release (read only) 589084 589068 -16 -0.0
(read/write) 90912 90912 0 0.0
.bss 66972 66972 0 0.0
.data 2112 2112 0 0.0
.text 588548 588532 -16 -0.0
lock k32w0+release (read only) 561652 561636 -16 -0.0
(read/write) 88736 88736 0 0.0
.bss 64852 64852 0 0.0
.data 2056 2056 0 0.0
.text 561116 561100 -16 -0.0
linux all-clusters-app debug (read only) 5487073 5487057 -16 -0.0
(read/write) 417632 417632 0 0.0
.bss 130400 130400 0 0.0
.data 4016 4016 0 0.0
.data.rel.ro 275872 275872 0 0.0
.dynamic 624 624 0 0.0
.got 5384 5384 0 0.0
.init 27 27 0 0.0
.init_array 1304 1304 0 0.0
.rodata 334000 334000 0 0.0
.text 4776019 4776003 -16 -0.0
all-clusters-minimal-app debug (read only) 4900937 4900937 0 0.0
(read/write) 231384 231384 0 0.0
.bss 126016 126016 0 0.0
.data 3856 3856 0 0.0
.data.rel.ro 94376 94376 0 0.0
.dynamic 624 624 0 0.0
.got 5344 5344 0 0.0
.init 27 27 0 0.0
.init_array 1136 1136 0 0.0
.rodata 271878 271878 0 0.0
.text 4398883 4398883 0 0.0
bridge-app debug (read only) 2768753 2768737 -16 -0.0
(read/write) 132816 132816 0 0.0
.bss 51480 51480 0 0.0
.data 3824 3824 0 0.0
.data.rel.ro 71400 71400 0 0.0
.dynamic 624 624 0 0.0
.got 4640 4640 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 214440 214440 0 0.0
.text 2376787 2376771 -16 -0.0
chip-tool debug (read only) 17695089 17695073 -16 -0.0
(read/write) 1054272 1054272 0 0.0
.bss 93752 93752 0 0.0
.data 5090 5090 0 0.0
.data.rel.ro 948080 948080 0 0.0
.dynamic 624 624 0 0.0
.got 5880 5880 0 0.0
.init 27 27 0 0.0
.init_array 800 800 0 0.0
.rodata 911729 911729 0 0.0
.text 14730659 14730643 -16 -0.0
lighting-app debug+rpc+ui (read only) 5239969 5239969 0 0.0
(read/write) 222056 222056 0 0.0
.bss 117712 117712 0 0.0
.data 4528 4528 0 0.0
.data.rel.ro 92240 92240 0 0.0
.dynamic 672 672 0 0.0
.got 5928 5928 0 0.0
.init 27 27 0 0.0
.init_array 944 944 0 0.0
.rodata 336948 336948 0 0.0
.text 4660947 4660947 0 0.0
lock-app debug (read only) 4471185 4471185 0 0.0
(read/write) 202808 202808 0 0.0
.bss 113328 113328 0 0.0
.data 3728 3728 0 0.0
.data.rel.ro 78960 78960 0 0.0
.dynamic 624 624 0 0.0
.got 5264 5264 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 247782 247782 0 0.0
.text 4014051 4014051 0 0.0
ota-provider-app debug (read only) 4127385 4127369 -16 -0.0
(read/write) 191872 191872 0 0.0
.bss 113504 113504 0 0.0
.data 4000 4000 0 0.0
.data.rel.ro 68448 68448 0 0.0
.dynamic 624 624 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 200966 200966 0 0.0
.text 3736099 3736083 -16 -0.0
ota-requestor-app debug (read only) 4221313 4221297 -16 -0.0
(read/write) 196184 196184 0 0.0
.bss 114560 114560 0 0.0
.data 4240 4240 0 0.0
.data.rel.ro 71448 71448 0 0.0
.dynamic 624 624 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 784 784 0 0.0
.rodata 204390 204390 0 0.0
.text 3822275 3822259 -16 -0.0
shell debug (read only) 2930145 2930129 -16 -0.0
(read/write) 150688 150688 0 0.0
.bss 60008 60008 0 0.0
.data 784 784 0 0.0
.data.rel.ro 84024 84024 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 1136 1136 0 0.0
.rodata 210674 210674 0 0.0
.text 2548578 2548562 -16 -0.0
tv-app debug (read only) 5315281 5315281 0 0.0
(read/write) 349856 349856 0 0.0
.bss 241280 241280 0 0.0
.data 5104 5104 0 0.0
.data.rel.ro 96048 96048 0 0.0
.dynamic 624 624 0 0.0
.got 5616 5616 0 0.0
.init 27 27 0 0.0
.init_array 1144 1144 0 0.0
.rodata 272374 272374 0 0.0
.text 4799267 4799267 0 0.0
tv-casting-app debug (read only) 8294929 8294913 -16 -0.0
(read/write) 210568 210568 0 0.0
.bss 54208 54208 0 0.0
.data 2544 2544 0 0.0
.data.rel.ro 147016 147016 0 0.0
.dynamic 624 624 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 1056 1056 0 0.0
.rodata 367644 367644 0 0.0
.text 7527123 7527107 -16 -0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2522080 2522016 -64 -0.0
.bss 219904 219904 0 0.0
.data 5128 5128 0 0.0
.text 1484764 1484700 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1218660 1218660 0 0.0
bss 154612 154612 0 0.0
rodata 141392 141392 0 0.0
text 843712 843708 -4 -0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1337356 1337356 0 0.0
bss 140070 140070 0 0.0
rodata 135484 135484 0 0.0
text 771120 771116 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1156700 1156700 0 0.0
bss 154791 154791 0 0.0
rodata 112776 112776 0 0.0
text 810148 810144 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 837696 837696 0 0.0
(read/write) 1766740 1766724 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 193116 193116 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2528 2528 0 0.0
.debug_abbrev 1378124 1378124 0 0.0
.debug_aranges 143896 143896 0 0.0
.debug_frame 479260 479260 0 0.0
.debug_info 30114179 30114182 3 0.0
.debug_line 4143066 4143057 -9 -0.0
.debug_line_str 957 957 0 0.0
.debug_loclists 2248256 2248252 -4 -0.0
.debug_rnglists 142347 142346 -1 -0.0
.debug_str 4119206 4119206 0 0.0
.heap 837696 837696 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 802606 802606 0 0.0
.symtab 500160 500160 0 0.0
.text 1562708 1562692 -16 -0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 839648 839648 0 0.0
(read/write) 1674188 1674172 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 191228 191228 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2464 2464 0 0.0
.debug_abbrev 1284561 1284561 0 0.0
.debug_aranges 137200 137200 0 0.0
.debug_frame 462360 462360 0 0.0
.debug_info 27211423 27211427 4 0.0
.debug_line 3961008 3960999 -9 -0.0
.debug_line_str 981 981 0 0.0
.debug_loclists 2149102 2149098 -4 -0.0
.debug_rnglists 135480 135479 -1 -0.0
.debug_str 3978755 3978755 0 0.0
.heap 839648 839648 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 713240 713240 0 0.0
.symtab 465808 465808 0 0.0
.text 1472108 1472092 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 845912 845912 0 0.0
(read/write) 1605684 1605684 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 185076 185076 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2352 2352 0 0.0
.debug_abbrev 1124889 1124889 0 0.0
.debug_aranges 127328 127328 0 0.0
.debug_frame 425504 425504 0 0.0
.debug_info 22357909 22357915 6 0.0
.debug_line 3526313 3526304 -9 -0.0
.debug_line_str 942 942 0 0.0
.debug_loclists 1986217 1986213 -4 -0.0
.debug_rnglists 125250 125249 -1 -0.0
.debug_str 3786827 3786827 0 0.0
.heap 845912 845912 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 634232 634232 0 0.0
.symtab 430448 430448 0 0.0
.text 1409868 1409868 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 818392 818392 0 0.0
(read/write) 1639188 1639172 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 212580 212580 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2368 2368 0 0.0
.debug_abbrev 1116327 1116327 0 0.0
.debug_aranges 126240 126240 0 0.0
.debug_frame 421532 421532 0 0.0
.debug_info 22271337 22271342 5 0.0
.debug_line 3481764 3481755 -9 -0.0
.debug_line_str 933 933 0 0.0
.debug_loclists 1966626 1966622 -4 -0.0
.debug_rnglists 123426 123425 -1 -0.0
.debug_str 3751365 3751365 0 0.0
.heap 818392 818392 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 608132 608132 0 0.0
.symtab 422576 422576 0 0.0
.text 1415852 1415836 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1177788 1177780 -8 -0.0
.bss 101176 101176 0 0.0
.data 744 744 0 0.0
.text 624632 624624 -8 -0.0
lock-app qpg6105+debug (read/write) 1134852 1134852 0 0.0
.bss 95896 95896 0 0.0
.data 748 748 0 0.0
.text 581692 581692 0 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1070188 1070180 -8 -0.0
bss 107308 107308 0 0.0
text 728998 728990 -8 -0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 976664 976648 -16 -0.0
bss 105284 105284 0 0.0
text 669638 669626 -12 -0.0
bridge-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 944056 944048 -8 -0.0
bss 109660 109660 0 0.0
text 646888 646880 -8 -0.0
contact-sensor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 876020 876012 -8 -0.0
bss 98840 98840 0 0.0
text 590278 590270 -8 -0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 907324 907316 -8 -0.0
bss 99464 99464 0 0.0
text 618008 618000 -8 -0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 982312 982304 -8 -0.0
bss 107516 107516 0 0.0
text 685642 685636 -6 -0.0
lighting-app-factory-data tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 993676 993668 -8 -0.0
bss 111764 111764 0 0.0
text 693160 693148 -12 -0.0
lighting-app-rpc tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1051844 1051836 -8 -0.0
bss 109088 109088 0 0.0
text 730574 730568 -6 -0.0
lighting-app-shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1083164 1083164 0 0.0
bss 120164 120164 0 0.0
text 750678 750674 -4 -0.0
lock-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 933472 933464 -8 -0.0
bss 99560 99560 0 0.0
text 620952 620942 -10 -0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 898600 898592 -8 -0.0
bss 100148 100148 0 0.0
text 612120 612110 -10 -0.0
pump-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 881412 881404 -8 -0.0
bss 98972 98972 0 0.0
text 595876 595870 -6 -0.0
pump-controller-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 868592 868584 -8 -0.0
bss 98772 98772 0 0.0
text 586340 586336 -4 -0.0
shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 744180 744188 8 0.0
bss 97208 97208 0 0.0
text 478642 478646 4 0.0
smoke_co_alarm-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 878504 878496 -8 -0.0
bss 98952 98952 0 0.0
text 593750 593746 -4 -0.0
temperature-measurement-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 864772 864764 -8 -0.0
bss 98680 98680 0 0.0
text 581992 581984 -8 -0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 910604 910604 0 0.0
bss 99224 99224 0 0.0
text 621320 621314 -6 -0.0
window-covering tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 906400 906384 -16 -0.0
bss 99560 99560 0 0.0
text 616630 616620 -10 -0.0

Copy link
Contributor

@yunhanw-google yunhanw-google left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In original logic, assume we have not yet added persistent subscription logic, then we delete the readhandler from pool, the destructor would be called, it would call onReportConfirm if it is in IsAwaitingReportResponse so the report engine's state can be updated well. after applying your improvement, it would call close, and it move to AwaitingDestruction and reporting engine's state can be updated as well.

11:35
since we have added persistent subscription logic, we do need clear the persistent logic via explicit close call
just approve the pr, thanks

@yunhanw-google
Copy link
Contributor

../../src/app/InteractionModelEngine.cpp -o obj/src/app/libCHIPDataModel.InteractionModelEngine.cpp.o
../../src/app/InteractionModelEngine.cpp:618:48: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
618 | mReadHandlers.ForEachActiveObject([this, apExchangeContext](ReadHandler * handler) {

this needs to be tested.

@yunhanw-google
Copy link
Contributor

can we have the job to enable CHIP_CONFIG_PERSIST_SUBSCRIPTIONS flag, and test the persistent subscription can be removed when closing the readhandler?

@bzbarsky-apple
Copy link
Contributor Author

so the report engine's state can be updated well

No, it was still missing the ResetReadHandlerTracker() call. Basically, it was just broken as long as Close or InteractionModelEngine::OnDone had any logic in them.

@bzbarsky-apple
Copy link
Contributor Author

this needs to be tested.

I did test it, fwiw, on esp32 where I ran into the issue. It compiles there. ;)

@github-actions
Copy link

github-actions bot commented Aug 8, 2023

PR #28569: Size comparison from 367a0c6 to c625139

Increases (2 builds for linux, telink)
platform target config section 367a0c6 c625139 change % change
linux lighting-app debug+rpc+ui (read only) 5239969 5240177 208 0.0
.text 4660947 4661155 208 0.0
telink shell tlsr9518adk80d text 478642 478644 2 0.0
Decreases (52 builds for bl602, bl702, bl702l, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 367a0c6 c625139 change % change
bl602 lighting-app bl602 (read/write) 1363378 1363346 -32 -0.0
.text 1056472 1056434 -38 -0.0
bl602+rpc (read/write) 1410846 1410806 -40 -0.0
.text 1088404 1088368 -36 -0.0
bl702 lighting-app bl702 (read/write) 1166235 1166195 -40 -0.0
.debug_info 41493418 4149331 -99 -0.0
.debug_line 5483125 5483082 -43 -0.0
.debug_loc 3564497 3564243 -254 -0.0
.text 953450 953410 -40 -0.0
bl702+rpc (read/write) 1265167 1265131 -36 -0.0
.debug_info 46387857 46387759 -98 -0.0
.debug_line 5895647 5895604 -43 -0.0
.debug_loc 3770653 3770399 -254 -0.0
.text 1028132 1028094 -38 -0.0
bl702l lighting-app bl702l (read/write) 1152164 1152124 -40 -0.0
.debug_info 41494527 41494428 -99 -0.0
.debug_line 5398819 5398776 -43 -0.0
.debug_loc 3500581 3500327 -254 -0.0
.text 942524 942484 -40 -0.0
cc32xx lock CC3235SF_LAUNCHXL (read only) 615602 615586 -16 -0.0
.debug_info 19408670 19408643 -27 -0.0
.debug_line 2813733 2813728 -5 -0.0
.debug_loclists 1596942 1596888 -54 -0.0
.text 507196 507180 -16 -0.0
cyw30739 ota-requestor cyw930739m2evb_01 (read/write) 573927 573919 -8 -0.0
.app_xip_area 466297 466289 -8 -0.0
efr32 lighting-app BRD4161A+rs9116 (read/write) 1011980 1011964 -16 -0.0
.text 824784 824768 -16 -0.0
BRD4187C (read/write) 1036540 1036524 -16 -0.0
.text 869164 869148 -16 -0.0
window-app BRD4187C (read/write) 1107992 1107976 -16 -0.0
.text 957692 957676 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 1149560 1149548 -12 -0.0
.flash.text 1149560 1149548 -12 -0.0
m5stack (read only) 1191383 1191371 -12 -0.0
.flash.text 1185999 1185987 -12 -0.0
k32w light k32w0+release (read only) 589084 589068 -16 -0.0
.text 588548 588532 -16 -0.0
lock k32w0+release (read only) 561652 561636 -16 -0.0
.text 561116 561100 -16 -0.0
linux all-clusters-app debug (read only) 5487073 5487041 -32 -0.0
.text 4776019 4775987 -32 -0.0
all-clusters-minimal-app debug (read only) 4900937 4900905 -32 -0.0
.text 4398883 4398851 -32 -0.0
bridge-app debug (read only) 2768753 2768721 -32 -0.0
.text 2376787 2376755 -32 -0.0
chip-tool debug (read only) 17695089 17695057 -32 -0.0
.text 14730659 14730627 -32 -0.0
chip-tool-ipv6only arm64 (read only) 16914660 16914644 -16 -0.0
.text 13854424 13854408 -16 -0.0
lock-app debug (read only) 4471185 4471153 -32 -0.0
.text 4014051 4014019 -32 -0.0
ota-provider-app debug (read only) 4127385 4127337 -48 -0.0
.text 3736099 3736051 -48 -0.0
ota-requestor-app debug (read only) 4221313 4221281 -32 -0.0
.text 3822275 3822243 -32 -0.0
shell debug (read only) 2930145 2930113 -32 -0.0
.text 2548578 2548546 -32 -0.0
thermostat-no-ble arm64 (read only) 4450292 4450276 -16 -0.0
.text 3950216 3950200 -16 -0.0
tv-app debug (read only) 5315281 5315249 -32 -0.0
.text 4799267 4799235 -32 -0.0
tv-casting-app debug (read only) 8294929 8294881 -48 -0.0
.text 7527123 7527075 -48 -0.0
mbed lock-app-release cy8cproto_062_4343w (read/write) 2522080 2522016 -64 -0.0
.text 1484764 1484700 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 843712 843708 -4 -0.0
nrf7002dk_nrf5340_cpuapp text 771120 771116 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 text 810148 810144 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1766740 1766724 -16 -0.0
.debug_info 30114179 30114151 -28 -0.0
.debug_line 4143066 4143047 -19 -0.0
.debug_loclists 2248256 2248209 -47 -0.0
.debug_rnglists 142347 142346 -1 -0.0
.text 1562708 1562692 -16 -0.0
all-clusters-minimal cy8ckit_062s2_43012 (read/write) 1674188 1674172 -16 -0.0
.debug_info 27211423 27211394 -29 -0.0
.debug_line 3961008 3960999 -9 -0.0
.debug_loclists 2149102 2149055 -47 -0.0
.debug_rnglists 135480 135479 -1 -0.0
.text 1472108 1472092 -16 -0.0
light cy8ckit_062s2_43012 (read/write) 1605684 1605668 -16 -0.0
.debug_info 22357909 22357883 -26 -0.0
.debug_line 3526313 3526304 -9 -0.0
.debug_loclists 1986217 1986170 -47 -0.0
.debug_rnglists 125250 125249 -1 -0.0
.text 1409868 1409852 -16 -0.0
lock cy8ckit_062s2_43012 (read/write) 1639188 1639172 -16 -0.0
.debug_info 22271337 22271310 -27 -0.0
.debug_line 3481764 3481755 -9 -0.0
.debug_loclists 1966626 1966579 -47 -0.0
.debug_rnglists 123426 123425 -1 -0.0
.text 1415852 1415836 -16 -0.0
qpg lighting-app qpg6105+debug (read/write) 1177788 1177780 -8 -0.0
.text 624632 624624 -8 -0.0
telink all-clusters-app tlsr9518adk80d (read/write) 1070188 1070180 -8 -0.0
text 728998 728986 -12 -0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 976664 976648 -16 -0.0
text 669638 669624 -14 -0.0
bridge-app tlsr9518adk80d (read/write) 944056 944048 -8 -0.0
text 646888 646876 -12 -0.0
contact-sensor-app tlsr9518adk80d (read/write) 876020 876012 -8 -0.0
text 590278 590266 -12 -0.0
light-switch-app tlsr9518adk80d (read/write) 907324 907308 -16 -0.0
text 618008 617996 -12 -0.0
lighting-app tlsr9518adk80d (read/write) 982312 982304 -8 -0.0
text 685642 685630 -12 -0.0
lighting-app-factory-data tlsr9518adk80d (read/write) 993676 993668 -8 -0.0
text 693160 693148 -12 -0.0
lighting-app-rpc tlsr9518adk80d (read/write) 1051844 1051828 -16 -0.0
text 730574 730564 -10 -0.0
lighting-app-shell tlsr9518adk80d (read/write) 1083164 1083156 -8 -0.0
text 750678 750668 -10 -0.0
lock-app tlsr9518adk80d (read/write) 933472 933456 -16 -0.0
text 620952 620938 -14 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 898600 898592 -8 -0.0
text 612120 612110 -10 -0.0
pump-app tlsr9518adk80d (read/write) 881412 881404 -8 -0.0
text 595876 595866 -10 -0.0
pump-controller-app tlsr9518adk80d (read/write) 868592 868584 -8 -0.0
text 586340 586330 -10 -0.0
smoke_co_alarm-app tlsr9518adk80d (read/write) 878504 878488 -16 -0.0
text 593750 593738 -12 -0.0
temperature-measurement-app tlsr9518adk80d (read/write) 864772 864764 -8 -0.0
text 581992 581978 -14 -0.0
thermostat tlsr9518adk80d (read/write) 910604 910596 -8 -0.0
text 621320 621308 -12 -0.0
window-covering tlsr9518adk80d (read/write) 906400 906384 -16 -0.0
text 616630 616618 -12 -0.0
Full report (60 builds for bl602, bl702, bl702l, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 367a0c6 c625139 change % change
bl602 lighting-app bl602 (read/write) 1363378 1363346 -32 -0.0
.bss 73622 73622 0 0.0
.data 9560 9560 0 0.0
.text 1056472 1056434 -38 -0.0
bl602+rpc (read/write) 1410846 1410806 -40 -0.0
.bss 81662 81662 0 0.0
.data 9952 9952 0 0.0
.text 1088404 1088368 -36 -0.0
bl702 lighting-app bl702 (read only) 3358 3358 0 0.0
(read/write) 1166235 1166195 -40 -0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 41285 41285 0 0.0
.bss_psram 43424 43424 0 0.0
.comment 48 48 0 0.0
.data 3544 3544 0 0.0
.debug_abbrev 1566850 1566850 0 0.0
.debug_aranges 140376 140376 0 0.0
.debug_frame 516544 516544 0 0.0
.debug_info 41493418 4149331 -99 -0.0
.debug_line 5483125 5483082 -43 -0.0
.debug_loc 3564497 3564243 -254 -0.0
.debug_ranges 384456 384456 0 0.0
.debug_str 4011830 4011830 0 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 106856 106856 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 589131 589131 0 0.0
.symtab 175568 175568 0 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
953450 953410 -40 -0.0
bl702+rpc (read only) 3358 3358 0 0.0
(read/write) 1265167 1265131 -36 -0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 49749 49749 0 0.0
.bss_psram 43424 43424 0 0.0
.comment 48 48 0 0.0
.data 4104 4104 0 0.0
.debug_abbrev 1743980 1743980 0 0.0
.debug_aranges 148920 148920 0 0.0
.debug_frame 545448 545448 0 0.0
.debug_info 46387857 46387759 -98 -0.0
.debug_line 5895647 5895604 -43 -0.0
.debug_loc 3770653 3770399 -254 -0.0
.debug_ranges 410208 410208 0 0.0
.debug_str 4431695 4431695 0 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 121508 121508 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 652094 652094 0 0.0
.symtab 194496 194496 0 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
1028132 1028094 -38 -0.0
bl702l lighting-app bl702l (read only) 278 278 0 0.0
(read/write) 1152164 1152124 -40 -0.0
.boot2 292 292 0 0.0
.bss 15988 15988 0 0.0
.bss_psram 77840 77840 0 0.0
.comment 48 48 0 0.0
.data 4528 4528 0 0.0
.debug_abbrev 1569069 1569069 0 0.0
.debug_aranges 134880 134880 0 0.0
.debug_frame 496232 496232 0 0.0
.debug_info 41494527 41494428 -99 -0.0
.debug_line 5398819 5398776 -43 -0.0
.debug_loc 3500581 3500327 -254 -0.0
.debug_ranges 389664 389664 0 0.0
.debug_str 4024299 4024299 0 0.0
.hbn 3244 3244 0 0.0
.hbn_noinit 308 308 0 0.0
.init 408 408 0 0.0
.init_array 144 144 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 100740 100740 0 0.0
.romdata 3224 3224 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 286 286 0 0.0
.stack 2048 2048 0 0.0
.strtab 589356 589356 0 0.0
.symtab 175136 175136 0 0.0
.tcm_data 692 692 0 0.0
.tcmcode 278 278 0 0.0
.text 0 0 0 0.0
942524 942484 -40 -0.0
cc32xx lock CC3235SF_LAUNCHXL (blank) 0 0 0 0.0
(read only) 615602 615586 -16 -0.0
(read/write) 207744 207744 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 201184 201184 0 0.0
.comment 206 206 0 0.0
.data 1440 1440 0 0.0
.debug_abbrev 961444 961444 0 0.0
.debug_aranges 109048 109048 0 0.0
.debug_frame 369820 369820 0 0.0
.debug_info 19408670 19408643 -27 -0.0
.debug_line 2813733 2813728 -5 -0.0
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1596942 1596888 -54 -0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 100570 100570 0 0.0
.debug_str 3426533 3426533 0 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 106282 106282 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 496231 496231 0 0.0
.symtab 293312 293312 0 0.0
.text 507196 507180 -16 -0.0
cyw30739 light cyw930739m2evb_01 (read/write) 550127 550127 0 0.0
.app_xip_area 441417 441417 0 0.0
.bss 63728 63728 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) 537215 537215 0 0.0
.app_xip_area 423457 423457 0 0.0
.bss 68752 68752 0 0.0
.data 692 692 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 573927 573919 -8 -0.0
.app_xip_area 466297 466289 -8 -0.0
.bss 62720 62720 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) 548863 548863 0 0.0
.app_xip_area 438225 438225 0 0.0
.bss 65632 65632 0 0.0
.data 688 688 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rs9116 (read/write) 1011980 1011964 -16 -0.0
.bss 184524 184524 0 0.0
.data 2652 2652 0 0.0
.text 824784 824768 -16 -0.0
BRD4187C (read/write) 1036540 1036524 -16 -0.0
.bss 164108 164108 0 0.0
.data 3248 3248 0 0.0
.text 869164 869148 -16 -0.0
lock-app BRD4161A+wf200 (read/write) 1088680 1088680 0 0.0
.bss 178580 178580 0 0.0
.data 2672 2672 0 0.0
.text 907408 907408 0 0.0
window-app BRD4187C (read/write) 1107992 1107976 -16 -0.0
.bss 147148 147148 0 0.0
.data 3132 3132 0 0.0
.text 957692 957676 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 1149560 1149548 -12 -0.0
(read/write) 1701964 1701964 0 0.0
.dram0.bss 79048 79048 0 0.0
.dram0.data 13076 13076 0 0.0
.flash.rodata 266088 266088 0 0.0
.flash.text 1149560 1149548 -12 -0.0
.iram0.text 75262 75262 0 0.0
m5stack (read only) 1191383 1191371 -12 -0.0
(read/write) 550174 550174 0 0.0
.dram0.bss 85416 85416 0 0.0
.dram0.data 34036 34036 0 0.0
.flash.rodata 297080 297080 0 0.0
.flash.text 1185999 1185987 -12 -0.0
.iram0.text 123311 123311 0 0.0
k32w contact k32w0+release (read only) 590460 590460 0 0.0
(read/write) 91272 91272 0 0.0
.bss 67316 67316 0 0.0
.data 2124 2124 0 0.0
.text 589924 589924 0 0.0
light k32w0+release (read only) 589084 589068 -16 -0.0
(read/write) 90912 90912 0 0.0
.bss 66972 66972 0 0.0
.data 2112 2112 0 0.0
.text 588548 588532 -16 -0.0
lock k32w0+release (read only) 561652 561636 -16 -0.0
(read/write) 88736 88736 0 0.0
.bss 64852 64852 0 0.0
.data 2056 2056 0 0.0
.text 561116 561100 -16 -0.0
linux all-clusters-app debug (read only) 5487073 5487041 -32 -0.0
(read/write) 417632 417632 0 0.0
.bss 130400 130400 0 0.0
.data 4016 4016 0 0.0
.data.rel.ro 275872 275872 0 0.0
.dynamic 624 624 0 0.0
.got 5384 5384 0 0.0
.init 27 27 0 0.0
.init_array 1304 1304 0 0.0
.rodata 334000 334000 0 0.0
.text 4776019 4775987 -32 -0.0
all-clusters-minimal-app debug (read only) 4900937 4900905 -32 -0.0
(read/write) 231384 231384 0 0.0
.bss 126016 126016 0 0.0
.data 3856 3856 0 0.0
.data.rel.ro 94376 94376 0 0.0
.dynamic 624 624 0 0.0
.got 5344 5344 0 0.0
.init 27 27 0 0.0
.init_array 1136 1136 0 0.0
.rodata 271878 271878 0 0.0
.text 4398883 4398851 -32 -0.0
bridge-app debug (read only) 2768753 2768721 -32 -0.0
(read/write) 132816 132816 0 0.0
.bss 51480 51480 0 0.0
.data 3824 3824 0 0.0
.data.rel.ro 71400 71400 0 0.0
.dynamic 624 624 0 0.0
.got 4640 4640 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 214440 214440 0 0.0
.text 2376787 2376755 -32 -0.0
chip-tool debug (read only) 17695089 17695057 -32 -0.0
(read/write) 1054272 1054272 0 0.0
.bss 93752 93752 0 0.0
.data 5090 5090 0 0.0
.data.rel.ro 948080 948080 0 0.0
.dynamic 624 624 0 0.0
.got 5880 5880 0 0.0
.init 27 27 0 0.0
.init_array 800 800 0 0.0
.rodata 911729 911729 0 0.0
.text 14730659 14730627 -32 -0.0
chip-tool-ipv6only arm64 (read only) 16914660 16914644 -16 -0.0
(read/write) 1121736 1121736 0 0.0
.bss 103064 103064 0 0.0
.data 4392 4392 0 0.0
.data.rel.ro 985432 985432 0 0.0
.dynamic 512 512 0 0.0
.got 23352 23352 0 0.0
.init 24 24 0 0.0
.init_array 248 248 0 0.0
.rodata 822768 822768 0 0.0
.text 13854424 13854408 -16 -0.0
lighting-app debug+rpc+ui (read only) 5239969 5240177 208 0.0
(read/write) 222056 222056 0 0.0
.bss 117712 117712 0 0.0
.data 4528 4528 0 0.0
.data.rel.ro 92240 92240 0 0.0
.dynamic 672 672 0 0.0
.got 5928 5928 0 0.0
.init 27 27 0 0.0
.init_array 944 944 0 0.0
.rodata 336948 336948 0 0.0
.text 4660947 4661155 208 0.0
lock-app debug (read only) 4471185 4471153 -32 -0.0
(read/write) 202808 202808 0 0.0
.bss 113328 113328 0 0.0
.data 3728 3728 0 0.0
.data.rel.ro 78960 78960 0 0.0
.dynamic 624 624 0 0.0
.got 5264 5264 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 247782 247782 0 0.0
.text 4014051 4014019 -32 -0.0
ota-provider-app debug (read only) 4127385 4127337 -48 -0.0
(read/write) 191872 191872 0 0.0
.bss 113504 113504 0 0.0
.data 4000 4000 0 0.0
.data.rel.ro 68448 68448 0 0.0
.dynamic 624 624 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 200966 200966 0 0.0
.text 3736099 3736051 -48 -0.0
ota-requestor-app debug (read only) 4221313 4221281 -32 -0.0
(read/write) 196184 196184 0 0.0
.bss 114560 114560 0 0.0
.data 4240 4240 0 0.0
.data.rel.ro 71448 71448 0 0.0
.dynamic 624 624 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 784 784 0 0.0
.rodata 204390 204390 0 0.0
.text 3822275 3822243 -32 -0.0
shell debug (read only) 2930145 2930113 -32 -0.0
(read/write) 150688 150688 0 0.0
.bss 60008 60008 0 0.0
.data 784 784 0 0.0
.data.rel.ro 84024 84024 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 1136 1136 0 0.0
.rodata 210674 210674 0 0.0
.text 2548578 2548546 -32 -0.0
thermostat-no-ble arm64 (read only) 4450292 4450276 -16 -0.0
(read/write) 243848 243848 0 0.0
.bss 122280 122280 0 0.0
.data 2880 2880 0 0.0
.data.rel.ro 102232 102232 0 0.0
.dynamic 512 512 0 0.0
.got 11984 11984 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 161996 161996 0 0.0
.text 3950216 3950200 -16 -0.0
tv-app debug (read only) 5315281 5315249 -32 -0.0
(read/write) 349856 349856 0 0.0
.bss 241280 241280 0 0.0
.data 5104 5104 0 0.0
.data.rel.ro 96048 96048 0 0.0
.dynamic 624 624 0 0.0
.got 5616 5616 0 0.0
.init 27 27 0 0.0
.init_array 1144 1144 0 0.0
.rodata 272374 272374 0 0.0
.text 4799267 4799235 -32 -0.0
tv-casting-app debug (read only) 8294929 8294881 -48 -0.0
(read/write) 210568 210568 0 0.0
.bss 54208 54208 0 0.0
.data 2544 2544 0 0.0
.data.rel.ro 147016 147016 0 0.0
.dynamic 624 624 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 1056 1056 0 0.0
.rodata 367644 367644 0 0.0
.text 7527123 7527075 -48 -0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2522080 2522016 -64 -0.0
.bss 219904 219904 0 0.0
.data 5128 5128 0 0.0
.text 1484764 1484700 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1218660 1218660 0 0.0
bss 154612 154612 0 0.0
rodata 141392 141392 0 0.0
text 843712 843708 -4 -0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1337356 1337356 0 0.0
bss 140070 140070 0 0.0
rodata 135484 135484 0 0.0
text 771120 771116 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1156700 1156700 0 0.0
bss 154791 154791 0 0.0
rodata 112776 112776 0 0.0
text 810148 810144 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 837696 837696 0 0.0
(read/write) 1766740 1766724 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 193116 193116 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2528 2528 0 0.0
.debug_abbrev 1378124 1378124 0 0.0
.debug_aranges 143896 143896 0 0.0
.debug_frame 479260 479260 0 0.0
.debug_info 30114179 30114151 -28 -0.0
.debug_line 4143066 4143047 -19 -0.0
.debug_line_str 957 957 0 0.0
.debug_loclists 2248256 2248209 -47 -0.0
.debug_rnglists 142347 142346 -1 -0.0
.debug_str 4119206 4119206 0 0.0
.heap 837696 837696 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 802606 802606 0 0.0
.symtab 500160 500160 0 0.0
.text 1562708 1562692 -16 -0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 839648 839648 0 0.0
(read/write) 1674188 1674172 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 191228 191228 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2464 2464 0 0.0
.debug_abbrev 1284561 1284561 0 0.0
.debug_aranges 137200 137200 0 0.0
.debug_frame 462360 462360 0 0.0
.debug_info 27211423 27211394 -29 -0.0
.debug_line 3961008 3960999 -9 -0.0
.debug_line_str 981 981 0 0.0
.debug_loclists 2149102 2149055 -47 -0.0
.debug_rnglists 135480 135479 -1 -0.0
.debug_str 3978755 3978755 0 0.0
.heap 839648 839648 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 713240 713240 0 0.0
.symtab 465808 465808 0 0.0
.text 1472108 1472092 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 845912 845912 0 0.0
(read/write) 1605684 1605668 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 185076 185076 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2352 2352 0 0.0
.debug_abbrev 1124889 1124889 0 0.0
.debug_aranges 127328 127328 0 0.0
.debug_frame 425504 425504 0 0.0
.debug_info 22357909 22357883 -26 -0.0
.debug_line 3526313 3526304 -9 -0.0
.debug_line_str 942 942 0 0.0
.debug_loclists 1986217 1986170 -47 -0.0
.debug_rnglists 125250 125249 -1 -0.0
.debug_str 3786827 3786827 0 0.0
.heap 845912 845912 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 634232 634232 0 0.0
.symtab 430448 430448 0 0.0
.text 1409868 1409852 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 818392 818392 0 0.0
(read/write) 1639188 1639172 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 212580 212580 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2368 2368 0 0.0
.debug_abbrev 1116327 1116327 0 0.0
.debug_aranges 126240 126240 0 0.0
.debug_frame 421532 421532 0 0.0
.debug_info 22271337 22271310 -27 -0.0
.debug_line 3481764 3481755 -9 -0.0
.debug_line_str 933 933 0 0.0
.debug_loclists 1966626 1966579 -47 -0.0
.debug_rnglists 123426 123425 -1 -0.0
.debug_str 3751365 3751365 0 0.0
.heap 818392 818392 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 608132 608132 0 0.0
.symtab 422576 422576 0 0.0
.text 1415852 1415836 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1177788 1177780 -8 -0.0
.bss 101176 101176 0 0.0
.data 744 744 0 0.0
.text 624632 624624 -8 -0.0
lock-app qpg6105+debug (read/write) 1134852 1134852 0 0.0
.bss 95896 95896 0 0.0
.data 748 748 0 0.0
.text 581692 581692 0 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1070188 1070180 -8 -0.0
bss 107308 107308 0 0.0
text 728998 728986 -12 -0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 976664 976648 -16 -0.0
bss 105284 105284 0 0.0
text 669638 669624 -14 -0.0
bridge-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 944056 944048 -8 -0.0
bss 109660 109660 0 0.0
text 646888 646876 -12 -0.0
contact-sensor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 876020 876012 -8 -0.0
bss 98840 98840 0 0.0
text 590278 590266 -12 -0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 907324 907308 -16 -0.0
bss 99464 99464 0 0.0
text 618008 617996 -12 -0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 982312 982304 -8 -0.0
bss 107516 107516 0 0.0
text 685642 685630 -12 -0.0
lighting-app-factory-data tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 993676 993668 -8 -0.0
bss 111764 111764 0 0.0
text 693160 693148 -12 -0.0
lighting-app-rpc tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1051844 1051828 -16 -0.0
bss 109088 109088 0 0.0
text 730574 730564 -10 -0.0
lighting-app-shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1083164 1083156 -8 -0.0
bss 120164 120164 0 0.0
text 750678 750668 -10 -0.0
lock-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 933472 933456 -16 -0.0
bss 99560 99560 0 0.0
text 620952 620938 -14 -0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 898600 898592 -8 -0.0
bss 100148 100148 0 0.0
text 612120 612110 -10 -0.0
pump-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 881412 881404 -8 -0.0
bss 98972 98972 0 0.0
text 595876 595866 -10 -0.0
pump-controller-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 868592 868584 -8 -0.0
bss 98772 98772 0 0.0
text 586340 586330 -10 -0.0
shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 744180 744180 0 0.0
bss 97208 97208 0 0.0
text 478642 478644 2 0.0
smoke_co_alarm-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 878504 878488 -16 -0.0
bss 98952 98952 0 0.0
text 593750 593738 -12 -0.0
temperature-measurement-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 864772 864764 -8 -0.0
bss 98680 98680 0 0.0
text 581992 581978 -14 -0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 910604 910596 -8 -0.0
bss 99224 99224 0 0.0
text 621320 621308 -12 -0.0
window-covering tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 906400 906384 -16 -0.0
bss 99560 99560 0 0.0
text 616630 616618 -12 -0.0

@mergify mergify bot merged commit 4f658f6 into project-chip:master Aug 8, 2023
@bzbarsky-apple bzbarsky-apple deleted the subscription-shutdown branch August 8, 2023 20:37
bzbarsky-apple added a commit to bzbarsky-apple/connectedhomeip that referenced this pull request Aug 8, 2023
)

* Fix cancellation of subscriptions to work correctly.

When a subscription came in with KeepSubscriptions set to false, we would just
directly delete the ReadHandlers for the subscriptions not being kept, instead
of calling Close().

That meant we skipped deleting subscription persistence data, and also failed to
correcly update the reporting engine's round-robin reporting state, which could
lead to subscriptions not being serviced fairly.

The fix is to just call Close() just like we do for out-of-resource eviction,
instead of manually deleting the object.

* Fix build issue.
andy31415 pushed a commit that referenced this pull request Aug 9, 2023
* Fix cancellation of subscriptions to work correctly.

When a subscription came in with KeepSubscriptions set to false, we would just
directly delete the ReadHandlers for the subscriptions not being kept, instead
of calling Close().

That meant we skipped deleting subscription persistence data, and also failed to
correcly update the reporting engine's round-robin reporting state, which could
lead to subscriptions not being serviced fairly.

The fix is to just call Close() just like we do for out-of-resource eviction,
instead of manually deleting the object.

* Fix build issue.
abpoth pushed a commit to abpoth/connectedhomeip that referenced this pull request Aug 15, 2023
)

* Fix cancellation of subscriptions to work correctly.

When a subscription came in with KeepSubscriptions set to false, we would just
directly delete the ReadHandlers for the subscriptions not being kept, instead
of calling Close().

That meant we skipped deleting subscription persistence data, and also failed to
correcly update the reporting engine's round-robin reporting state, which could
lead to subscriptions not being serviced fairly.

The fix is to just call Close() just like we do for out-of-resource eviction,
instead of manually deleting the object.

* Fix build issue.
maciejbaczmanski pushed a commit to maciejbaczmanski/connectedhomeip that referenced this pull request Jul 15, 2024
…roject-chip#28569)

* Fix cancellation of subscriptions to work correctly.

When a subscription came in with KeepSubscriptions set to false, we would just
directly delete the ReadHandlers for the subscriptions not being kept, instead
of calling Close().

That meant we skipped deleting subscription persistence data, and also failed to
correcly update the reporting engine's round-robin reporting state, which could
lead to subscriptions not being serviced fairly.

The fix is to just call Close() just like we do for out-of-resource eviction,
instead of manually deleting the object.

* Fix build issue.
maciejbaczmanski pushed a commit to maciejbaczmanski/connectedhomeip that referenced this pull request Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants