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

Shut down subscription clients when DeviceController shuts down. #22323

Conversation

bzbarsky-apple
Copy link
Contributor

Other clients get shut down due to their sessions going away, but subscription
clients can be in a state where they are not waiting on a response, and those
should get shut down too.

Also:

  1. Fixes ReadClient::Close to release its exchange, so shutting down a
    subscription while it's waiting for a response from the server actually shuts it
    down, instead of delivering OnDone and then getting a message on the exchange
    and possibly sending more notifications after OnDone.

  2. Fixes potential use-after-free in the ShutdownSubscriptions functions.

Fixes #22319

Problem

Crashes possible due to subscription clients outliving shutdown.

Change overview

Make sure we call OnDone on all relevant subscriptions when shutting down a DeviceController.

Testing

Verified that if I create a subscription in chip-tool or darwin-framework-tool and then shut down the relevant controller I see ~ReadClient getting called.

@bzbarsky-apple
Copy link
Contributor Author

And just to address #20085 (comment) :

If we're shutting down the DeviceController for a fabric, nixing all the sessions for that fabric, etc, not calling Close on the subscription clients is a bit odd. It also leads to races: clients waiting on the server will get closed (because their session goes away), but clients not thus waiting would just stick around...

@bzbarsky-apple
Copy link
Contributor Author

The Darwin CI failure here is real, though the problem pre-existing: we used to leak the ReadClient and the callback waiting on it. Now we're freeing the ReadClient, but not the callback (because we are using the ReadInteraction SubscribeAttribute API, which never calls OnDone on us, and hence we never know whether we can free the callback bits.

LSAN used to not detect the leak because we leaked objects that referred to each other, and LSAN does not detect that. But now we free one of them, not the other, and the leak gets noticed.

@bzbarsky-apple
Copy link
Contributor Author

Filed #22333 on the leak issue. Will just add a suppression for now, since it's not being made worse by this PR.

@github-actions
Copy link

github-actions bot commented Sep 1, 2022

PR #22323: Size comparison from bd32efa to afeb46c

Increases (42 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, nrfconnect, psoc6, qpg, telink)
platform target config section bd32efa afeb46c change % change
bl602 lighting-app bl602 (read/write) 1385950 1385990 40 0.0
.text 1052328 1052372 44 0.0
bl602+rpc (read/write) 1431598 1431638 40 0.0
.text 1084088 1084132 44 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675287 675295 8 0.0
.text 585744 585752 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 639991 639999 8 0.0
.text 561296 561304 8 0.0
lock-ftd LP_CC2652R7 (read only) 676331 676347 16 0.0
.text 598776 598792 16 0.0
lock-mtd LP_CC2652R7 (read only) 659307 659315 8 0.0
.text 556488 556496 8 0.0
pump-app LP_CC2652R7 (read only) 684991 684999 8 0.0
.text 594556 594564 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669491 669499 8 0.0
.text 583504 583512 8 0.0
shell LP_CC2652R7 (read only) 665930 665938 8 0.0
.text 579828 579836 8 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586794 586802 8 0.0
.app_xip_area 463452 463460 8 0.0
lock cyw930739m2evb_01 (read/write) 592546 592554 8 0.0
.app_xip_area 464420 464428 8 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599578 599586 8 0.0
.app_xip_area 476956 476964 8 0.0
efr32 lighting-app BRD4161A (read/write) 1108032 1108064 32 0.0
.text 969608 969640 32 0.0
BRD4161A+rs911x (read/write) 1001724 1001772 48 0.0
.text 830472 830520 48 0.0
lock-app BRD4161A+wf200 (read/write) 1150024 1150040 16 0.0
.text 995684 995700 16 0.0
window-app BRD4161A (read/write) 1099288 1099320 32 0.0
.text 959400 959432 32 0.0
esp32 all-clusters-app c3devkit (read only) 1033786 1033790 4 0.0
.flash.text 1033786 1033790 4 0.0
m5stack (read only) 1086103 1086107 4 0.0
.flash.text 1080719 1080723 4 0.0
k32w lock k32w0+release (read/write) 705128 705144 16 0.0
.text 629164 629180 16 0.0
linux all-clusters-app debug (read only) 3044009 3044233 224 0.0
.text 2589266 2589490 224 0.0
all-clusters-minimal-app debug (read only) 2879809 2880017 208 0.0
.text 2427682 2427890 208 0.0
bridge-app debug+rpc (read only) 2378089 2378105 16 0.0
.text 2011010 2011026 16 0.0
chip-tool debug (read only) 10909833 10910137 304 0.0
.text 8824772 8825076 304 0.0
chip-tool-ipv6only arm64 (read only) 10290436 10290660 224 0.0
.text 8143316 8143540 224 0.0
lighting-app debug+rpc (read only) 2603001 2603209 208 0.0
.text 2210802 2211010 208 0.0
lock-app debug (read only) 2585969 2586193 224 0.0
.text 2181026 2181250 224 0.0
ota-provider-app debug (read only) 2363225 2363433 208 0.0
.text 1989490 1989698 208 0.0
ota-requestor-app debug (read only) 2528473 2528681 208 0.0
.text 2138866 2139074 208 0.0
shell debug (read only) 2612313 2612521 208 0.0
.text 2218194 2218402 208 0.0
thermostat-no-ble arm64 (read only) 2361988 2362180 192 0.0
.text 1982672 1982864 192 0.0
tv-app debug (read only) 3190425 3190905 480 0.0
.text 2740418 2740898 480 0.0
tv-casting-app debug (read only) 5508865 5508897 32 0.0
.text 4892050 4892082 32 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 814884 814892 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160031 1160047 16 0.0
text 803276 803284 8 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1742252 1742300 48 0.0
.debug_aranges 111712 111720 8 0.0
.debug_frame 372900 372932 32 0.0
.debug_info 26708617 26709255 638 0.0
.debug_line 3655730 3655997 267 0.0
.debug_loc 3569749 3570346 597 0.0
.debug_ranges 337616 337816 200 0.1
.debug_str 3426920 3426993 73 0.0
.text 1542480 1542528 48 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read/write) 1685452 1685484 32 0.0
.debug_aranges 111184 111192 8 0.0
.debug_frame 375980 376012 32 0.0
.debug_info 26445241 26445878 637 0.0
.debug_line 3676246 3676513 267 0.0
.debug_loc 3557386 3557983 597 0.0
.debug_ranges 336232 336432 200 0.1
.debug_str 3415925 3415998 73 0.0
.text 1486416 1486448 32 0.0
light cy8ckit_062s2_43012 (read/write) 1602716 1602748 32 0.0
.debug_aranges 103360 103368 8 0.0
.debug_frame 346248 346280 32 0.0
.debug_info 21907523 21908160 637 0.0
.debug_line 3246711 3246978 267 0.0
.debug_loc 3255729 3256324 595 0.0
.debug_ranges 301704 301904 200 0.1
.debug_str 3221145 3221218 73 0.0
.text 1411912 1411944 32 0.0
lock cy8ckit_062s2_43012 (read/write) 1640412 1640444 32 0.0
.debug_aranges 104032 104040 8 0.0
.debug_frame 349076 349108 32 0.0
.debug_info 22287269 22287906 637 0.0
.debug_line 3255532 3255799 267 0.0
.debug_loc 3295582 3296178 596 0.0
.debug_ranges 305048 305248 200 0.1
.debug_str 3248566 3248639 73 0.0
.text 1444576 1444608 32 0.0
qpg lighting-app qpg6105+debug (read/write) 1129092 1129100 8 0.0
.text 576188 576196 8 0.0
lock-app qpg6105+debug (read/write) 1100096 1100104 8 0.0
.text 547196 547204 8 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808752 808760 8 0.0
text 571354 571364 10 0.0
lighting-app tlsr9518adk80d (read/write) 830668 830676 8 0.0
text 589478 589488 10 0.0
Decreases (6 builds for cc13x2_26x2)
platform target config section bd32efa afeb46c change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 176120 176112 -8 -0.0
lock-ftd LP_CC2652R7 (read/write) 165388 165372 -16 -0.0
lock-mtd LP_CC2652R7 (read/write) 178100 178092 -8 -0.0
pump-app LP_CC2652R7 (read/write) 157432 157424 -8 -0.0
pump-controller-app LP_CC2652R7 (read/write) 173044 173036 -8 -0.0
shell LP_CC2652R7 (read/write) 180996 180988 -8 -0.0
Full report (45 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section bd32efa afeb46c change % change
bl602 lighting-app bl602 (read/write) 1385950 1385990 40 0.0
.bss 120298 120298 0 0.0
.data 4488 4488 0 0.0
.text 1052328 1052372 44 0.0
bl602+rpc (read/write) 1431598 1431638 40 0.0
.bss 127730 127730 0 0.0
.data 4600 4600 0 0.0
.text 1084088 1084132 44 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675287 675295 8 0.0
(read/write) 176120 176112 -8 -0.0
.bss 74300 74300 0 0.0
.data 3380 3380 0 0.0
.rodata 89231 89231 0 0.0
.text 585744 585752 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 639991 639999 8 0.0
(read/write) 157868 157868 0 0.0
.bss 73572 73572 0 0.0
.data 3380 3380 0 0.0
.rodata 78375 78375 0 0.0
.text 561296 561304 8 0.0
lock-ftd LP_CC2652R7 (read only) 676331 676347 16 0.0
(read/write) 165388 165372 -16 -0.0
.bss 71500 71500 0 0.0
.data 3304 3304 0 0.0
.rodata 77075 77075 0 0.0
.text 598776 598792 16 0.0
lock-mtd LP_CC2652R7 (read only) 659307 659315 8 0.0
(read/write) 178100 178092 -8 -0.0
.bss 67188 67188 0 0.0
.data 3304 3304 0 0.0
.rodata 102339 102339 0 0.0
.text 556488 556496 8 0.0
pump-app LP_CC2652R7 (read only) 684991 684999 8 0.0
(read/write) 157432 157424 -8 -0.0
.bss 71436 71436 0 0.0
.data 3296 3296 0 0.0
.rodata 89951 89951 0 0.0
.text 594556 594564 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669491 669499 8 0.0
(read/write) 173044 173036 -8 -0.0
.bss 71548 71548 0 0.0
.data 3292 3292 0 0.0
.rodata 85507 85507 0 0.0
.text 583504 583512 8 0.0
shell LP_CC2652R7 (read only) 665930 665938 8 0.0
(read/write) 180996 180988 -8 -0.0
.bss 76620 76620 0 0.0
.data 3376 3376 0 0.0
.rodata 85786 85786 0 0.0
.text 579828 579836 8 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586794 586802 8 0.0
.app_xip_area 463452 463460 8 0.0
.bss 65776 65776 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592546 592554 8 0.0
.app_xip_area 464420 464428 8 0.0
.bss 70560 70560 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599578 599586 8 0.0
.app_xip_area 476956 476964 8 0.0
.bss 65088 65088 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1108032 1108064 32 0.0
.bss 136332 136332 0 0.0
.data 2072 2072 0 0.0
.text 969608 969640 32 0.0
BRD4161A+rpc (read/write) 971908 971908 0 0.0
.bss 150844 150844 0 0.0
.data 2252 2252 0 0.0
.text 818792 818792 0 0.0
BRD4161A+rs911x (read/write) 1001724 1001772 48 0.0
.bss 169168 169168 0 0.0
.data 2064 2064 0 0.0
.text 830472 830520 48 0.0
lock-app BRD4161A+wf200 (read/write) 1150024 1150040 16 0.0
.bss 152248 152248 0 0.0
.data 2072 2072 0 0.0
.text 995684 995700 16 0.0
window-app BRD4161A (read/write) 1099288 1099320 32 0.0
.bss 137772 137772 0 0.0
.data 2096 2096 0 0.0
.text 959400 959432 32 0.0
esp32 all-clusters-app c3devkit (read only) 1033786 1033790 4 0.0
(read/write) 1493518 1493518 0 0.0
.dram0.bss 71120 71120 0 0.0
.dram0.data 13696 13696 0 0.0
.flash.rodata 218032 218032 0 0.0
.flash.text 1033786 1033790 4 0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1086103 1086107 4 0.0
(read/write) 490804 490804 0 0.0
.dram0.bss 76640 76640 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 247344 247344 0 0.0
.flash.text 1080719 1080723 4 0.0
.iram0.text 123939 123939 0 0.0
k32w light k32w0+release (read/write) 648124 648124 0 0.0
.bss 70712 70712 0 0.0
.data 2068 2068 0 0.0
.text 572616 572616 0 0.0
lock k32w0+release (read/write) 705128 705144 16 0.0
.bss 71160 71160 0 0.0
.data 2076 2076 0 0.0
.text 629164 629180 16 0.0
linux all-clusters-app debug (read only) 3044009 3044233 224 0.0
(read/write) 156032 156032 0 0.0
.bss 61792 61792 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85768 85768 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1176 1176 0 0.0
.rodata 275307 275307 0 0.0
.text 2589266 2589490 224 0.0
all-clusters-minimal-app debug (read only) 2879809 2880017 208 0.0
(read/write) 147632 147632 0 0.0
.bss 61024 61024 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78264 78264 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 275467 275467 0 0.0
.text 2427682 2427890 208 0.0
bridge-app debug+rpc (read only) 2378089 2378105 16 0.0
(read/write) 127752 127752 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67640 67640 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 204168 204168 0 0.0
.text 2011010 2011026 16 0.0
chip-tool debug (read only) 10909833 10910137 304 0.0
(read/write) 657320 657320 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 622288 622288 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 564245 564245 0 0.0
.text 8824772 8825076 304 0.0
chip-tool-ipv6only arm64 (read only) 10290436 10290660 224 0.0
(read/write) 705169 705169 0 0.0
.bss 33297 33297 0 0.0
.data 3280 3280 0 0.0
.data.rel.ro 649784 649784 0 0.0
.dynamic 560 560 0 0.0
.got 13840 13840 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 494708 494708 0 0.0
.text 8143316 8143540 224 0.0
lighting-app debug+rpc (read only) 2603001 2603209 208 0.0
(read/write) 130536 130536 0 0.0
.bss 49792 49792 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72680 72680 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 221008 221008 0 0.0
.text 2210802 2211010 208 0.0
lock-app debug (read only) 2585969 2586193 224 0.0
(read/write) 125712 125712 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69688 69688 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 238000 238000 0 0.0
.text 2181026 2181250 224 0.0
ota-provider-app debug (read only) 2363225 2363433 208 0.0
(read/write) 119144 119144 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63512 63512 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 209976 209976 0 0.0
.text 1989490 1989698 208 0.0
ota-requestor-app debug (read only) 2528473 2528681 208 0.0
(read/write) 127552 127552 0 0.0
.bss 50368 50368 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68920 68920 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 216704 216704 0 0.0
.text 2138866 2139074 208 0.0
shell debug (read only) 2612313 2612521 208 0.0
(read/write) 142184 142184 0 0.0
.bss 57704 57704 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77376 77376 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 235410 235410 0 0.0
.text 2218194 2218402 208 0.0
thermostat-no-ble arm64 (read only) 2361988 2362180 192 0.0
(read/write) 141857 141857 0 0.0
.bss 55233 55233 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 76112 76112 0 0.0
.dynamic 560 560 0 0.0
.got 5056 5056 0 0.0
.init 24 24 0 0.0
.init_array 416 416 0 0.0
.rodata 141276 141276 0 0.0
.text 1982672 1982864 192 0.0
tv-app debug (read only) 3190425 3190905 480 0.0
(read/write) 258040 258040 0 0.0
.bss 167352 167352 0 0.0
.data 4752 4752 0 0.0
.data.rel.ro 79368 79368 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1080 1080 0 0.0
.rodata 259976 259976 0 0.0
.text 2740418 2740898 480 0.0
tv-casting-app debug (read only) 5508865 5508897 32 0.0
(read/write) 160536 160536 0 0.0
.bss 51352 51352 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 100304 100304 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 344913 344913 0 0.0
.text 4892050 4892082 32 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454936 2454936 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1417580 1417580 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180851 1180851 0 0.0
bss 143641 143641 0 0.0
rodata 143380 143380 0 0.0
text 814884 814892 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160031 1160047 16 0.0
bss 142868 142868 0 0.0
rodata 134968 134968 0 0.0
text 803276 803284 8 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841960 841960 0 0.0
(read/write) 1742252 1742300 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188720 188720 0 0.0
.comment 204 204 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 2664 2664 0 0.0
.debug_abbrev 1221450 1221450 0 0.0
.debug_aranges 111712 111720 8 0.0
.debug_frame 372900 372932 32 0.0
.debug_info 26708617 26709255 638 0.0
.debug_line 3655730 3655997 267 0.0
.debug_loc 3569749 3570346 597 0.0
.debug_ranges 337616 337816 200 0.1
.debug_str 3426920 3426993 73 0.0
.heap 841960 841960 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 570576 570576 0 0.0
.symtab 421488 421488 0 0.0
.text 1542480 1542528 48 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842696 842696 0 0.0
(read/write) 1685452 1685484 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187984 187984 0 0.0
.comment 204 204 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 2664 2664 0 0.0
.debug_abbrev 1213289 1213289 0 0.0
.debug_aranges 111184 111192 8 0.0
.debug_frame 375980 376012 32 0.0
.debug_info 26445241 26445878 637 0.0
.debug_line 3676246 3676513 267 0.0
.debug_loc 3557386 3557983 597 0.0
.debug_ranges 336232 336432 200 0.1
.debug_str 3415925 3415998 73 0.0
.heap 842696 842696 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 535050 535050 0 0.0
.symtab 408080 408080 0 0.0
.text 1486416 1486448 32 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850928 850928 0 0.0
(read/write) 1602716 1602748 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179960 179960 0 0.0
.comment 204 204 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 2456 2456 0 0.0
.debug_abbrev 1048108 1048108 0 0.0
.debug_aranges 103360 103368 8 0.0
.debug_frame 346248 346280 32 0.0
.debug_info 21907523 21908160 637 0.0
.debug_line 3246711 3246978 267 0.0
.debug_loc 3255729 3256324 595 0.0
.debug_ranges 301704 301904 200 0.1
.debug_str 3221145 3221218 73 0.0
.heap 850928 850928 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 468349 468349 0 0.0
.symtab 375168 375168 0 0.0
.text 1411912 1411944 32 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845896 845896 0 0.0
(read/write) 1640412 1640444 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184976 184976 0 0.0
.comment 204 204 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 2472 2472 0 0.0
.debug_abbrev 1055543 1055543 0 0.0
.debug_aranges 104032 104040 8 0.0
.debug_frame 349076 349108 32 0.0
.debug_info 22287269 22287906 637 0.0
.debug_line 3255532 3255799 267 0.0
.debug_loc 3295582 3296178 596 0.0
.debug_ranges 305048 305248 200 0.1
.debug_str 3248566 3248639 73 0.0
.heap 845896 845896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 474564 474564 0 0.0
.symtab 378352 378352 0 0.0
.text 1444576 1444608 32 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1129092 1129100 8 0.0
.bss 106112 106112 0 0.0
.data 1028 1028 0 0.0
.text 576188 576196 8 0.0
lock-app qpg6105+debug (read/write) 1100096 1100104 8 0.0
.bss 102344 102344 0 0.0
.data 1032 1032 0 0.0
.text 547196 547204 8 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808752 808760 8 0.0
bss 71344 71344 0 0.0
noinit 43488 43488 0 0.0
text 571354 571364 10 0.0
lighting-app tlsr9518adk80d (read/write) 830668 830676 8 0.0
bss 72200 72200 0 0.0
noinit 43488 43488 0 0.0
text 589478 589488 10 0.0

@andy31415
Copy link
Contributor

V1 accepted: fixes potential crash.

@github-actions
Copy link

github-actions bot commented Sep 1, 2022

PR #22323: Size comparison from bd32efa to e39968d

Increases (17 builds for bl602, cc13x2_26x2, k32w, linux, nrfconnect, qpg, telink)
platform target config section bd32efa e39968d change % change
bl602 lighting-app bl602 (read/write) 1385950 1385998 48 0.0
.text 1052328 1052376 48 0.0
bl602+rpc (read/write) 1431598 1431638 40 0.0
.text 1084088 1084132 44 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675287 675295 8 0.0
.text 585744 585752 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 639991 639999 8 0.0
.text 561296 561304 8 0.0
lock-ftd LP_CC2652R7 (read only) 676331 676347 16 0.0
.text 598776 598792 16 0.0
lock-mtd LP_CC2652R7 (read only) 659307 659315 8 0.0
.text 556488 556496 8 0.0
pump-app LP_CC2652R7 (read only) 684991 684999 8 0.0
.text 594556 594564 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669491 669499 8 0.0
.text 583504 583512 8 0.0
shell LP_CC2652R7 (read only) 665930 665938 8 0.0
.text 579828 579836 8 0.0
k32w lock k32w0+release (read/write) 705128 705144 16 0.0
.text 629164 629180 16 0.0
linux chip-tool-ipv6only arm64 (read only) 10290436 10290660 224 0.0
.text 8143316 8143540 224 0.0
thermostat-no-ble arm64 (read only) 2361988 2362180 192 0.0
.text 1982672 1982864 192 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 814884 814892 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160031 1160047 16 0.0
text 803276 803284 8 0.0
qpg lighting-app qpg6105+debug (read/write) 1129092 1129100 8 0.0
.text 576188 576196 8 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808752 808760 8 0.0
text 571354 571364 10 0.0
lighting-app tlsr9518adk80d (read/write) 830668 830676 8 0.0
text 589478 589488 10 0.0
Decreases (6 builds for cc13x2_26x2)
platform target config section bd32efa e39968d change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 176120 176112 -8 -0.0
lock-ftd LP_CC2652R7 (read/write) 165388 165372 -16 -0.0
lock-mtd LP_CC2652R7 (read/write) 178100 178092 -8 -0.0
pump-app LP_CC2652R7 (read/write) 157432 157424 -8 -0.0
pump-controller-app LP_CC2652R7 (read/write) 173044 173036 -8 -0.0
shell LP_CC2652R7 (read/write) 180996 180988 -8 -0.0
Full report (20 builds for bl602, cc13x2_26x2, k32w, linux, mbed, nrfconnect, qpg, telink)
platform target config section bd32efa e39968d change % change
bl602 lighting-app bl602 (read/write) 1385950 1385998 48 0.0
.bss 120298 120298 0 0.0
.data 4488 4488 0 0.0
.text 1052328 1052376 48 0.0
bl602+rpc (read/write) 1431598 1431638 40 0.0
.bss 127730 127730 0 0.0
.data 4600 4600 0 0.0
.text 1084088 1084132 44 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675287 675295 8 0.0
(read/write) 176120 176112 -8 -0.0
.bss 74300 74300 0 0.0
.data 3380 3380 0 0.0
.rodata 89231 89231 0 0.0
.text 585744 585752 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 639991 639999 8 0.0
(read/write) 157868 157868 0 0.0
.bss 73572 73572 0 0.0
.data 3380 3380 0 0.0
.rodata 78375 78375 0 0.0
.text 561296 561304 8 0.0
lock-ftd LP_CC2652R7 (read only) 676331 676347 16 0.0
(read/write) 165388 165372 -16 -0.0
.bss 71500 71500 0 0.0
.data 3304 3304 0 0.0
.rodata 77075 77075 0 0.0
.text 598776 598792 16 0.0
lock-mtd LP_CC2652R7 (read only) 659307 659315 8 0.0
(read/write) 178100 178092 -8 -0.0
.bss 67188 67188 0 0.0
.data 3304 3304 0 0.0
.rodata 102339 102339 0 0.0
.text 556488 556496 8 0.0
pump-app LP_CC2652R7 (read only) 684991 684999 8 0.0
(read/write) 157432 157424 -8 -0.0
.bss 71436 71436 0 0.0
.data 3296 3296 0 0.0
.rodata 89951 89951 0 0.0
.text 594556 594564 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669491 669499 8 0.0
(read/write) 173044 173036 -8 -0.0
.bss 71548 71548 0 0.0
.data 3292 3292 0 0.0
.rodata 85507 85507 0 0.0
.text 583504 583512 8 0.0
shell LP_CC2652R7 (read only) 665930 665938 8 0.0
(read/write) 180996 180988 -8 -0.0
.bss 76620 76620 0 0.0
.data 3376 3376 0 0.0
.rodata 85786 85786 0 0.0
.text 579828 579836 8 0.0
k32w light k32w0+release (read/write) 648124 648124 0 0.0
.bss 70712 70712 0 0.0
.data 2068 2068 0 0.0
.text 572616 572616 0 0.0
lock k32w0+release (read/write) 705128 705144 16 0.0
.bss 71160 71160 0 0.0
.data 2076 2076 0 0.0
.text 629164 629180 16 0.0
linux chip-tool-ipv6only arm64 (read only) 10290436 10290660 224 0.0
(read/write) 705169 705169 0 0.0
.bss 33297 33297 0 0.0
.data 3280 3280 0 0.0
.data.rel.ro 649784 649784 0 0.0
.dynamic 560 560 0 0.0
.got 13840 13840 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 494708 494708 0 0.0
.text 8143316 8143540 224 0.0
thermostat-no-ble arm64 (read only) 2361988 2362180 192 0.0
(read/write) 141857 141857 0 0.0
.bss 55233 55233 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 76112 76112 0 0.0
.dynamic 560 560 0 0.0
.got 5056 5056 0 0.0
.init 24 24 0 0.0
.init_array 416 416 0 0.0
.rodata 141276 141276 0 0.0
.text 1982672 1982864 192 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454936 2454936 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1417580 1417580 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180851 1180851 0 0.0
bss 143641 143641 0 0.0
rodata 143380 143380 0 0.0
text 814884 814892 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160031 1160047 16 0.0
bss 142868 142868 0 0.0
rodata 134968 134968 0 0.0
text 803276 803284 8 0.0
qpg lighting-app qpg6105+debug (read/write) 1129092 1129100 8 0.0
.bss 106112 106112 0 0.0
.data 1028 1028 0 0.0
.text 576188 576196 8 0.0
lock-app qpg6105+debug (read/write) 1100096 1100096 0 0.0
.bss 102344 102344 0 0.0
.data 1032 1032 0 0.0
.text 547196 547196 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808752 808760 8 0.0
bss 71344 71344 0 0.0
noinit 43488 43488 0 0.0
text 571354 571364 10 0.0
lighting-app tlsr9518adk80d (read/write) 830668 830676 8 0.0
bss 72200 72200 0 0.0
noinit 43488 43488 0 0.0
text 589478 589488 10 0.0

@github-actions
Copy link

github-actions bot commented Sep 1, 2022

PR #22323: Size comparison from bd32efa to cb7ac0c

Increases (42 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, nrfconnect, psoc6, qpg, telink)
platform target config section bd32efa cb7ac0c change % change
bl602 lighting-app bl602 (read/write) 1385950 1385990 40 0.0
.text 1052328 1052372 44 0.0
bl602+rpc (read/write) 1431598 1431638 40 0.0
.text 1084088 1084132 44 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675287 675295 8 0.0
.text 585744 585752 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 639991 639999 8 0.0
.text 561296 561304 8 0.0
lock-ftd LP_CC2652R7 (read only) 676331 676347 16 0.0
.text 598776 598792 16 0.0
lock-mtd LP_CC2652R7 (read only) 659307 659315 8 0.0
.text 556488 556496 8 0.0
pump-app LP_CC2652R7 (read only) 684991 684999 8 0.0
.text 594556 594564 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669491 669499 8 0.0
.text 583504 583512 8 0.0
shell LP_CC2652R7 (read only) 665930 665938 8 0.0
.text 579828 579836 8 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586794 586802 8 0.0
.app_xip_area 463452 463460 8 0.0
lock cyw930739m2evb_01 (read/write) 592546 592554 8 0.0
.app_xip_area 464420 464428 8 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599578 599586 8 0.0
.app_xip_area 476956 476964 8 0.0
efr32 lighting-app BRD4161A (read/write) 1108032 1108064 32 0.0
.text 969608 969640 32 0.0
BRD4161A+rs911x (read/write) 1001724 1001772 48 0.0
.text 830472 830520 48 0.0
lock-app BRD4161A+wf200 (read/write) 1150024 1150040 16 0.0
.text 995684 995700 16 0.0
window-app BRD4161A (read/write) 1099288 1099320 32 0.0
.text 959400 959432 32 0.0
esp32 all-clusters-app c3devkit (read only) 1033786 1033794 8 0.0
.flash.text 1033786 1033794 8 0.0
m5stack (read only) 1086103 1086119 16 0.0
.flash.text 1080719 1080735 16 0.0
k32w lock k32w0+release (read/write) 705128 705144 16 0.0
.text 629164 629180 16 0.0
linux all-clusters-app debug (read only) 3044009 3044521 512 0.0
.text 2589266 2589778 512 0.0
all-clusters-minimal-app debug (read only) 2879809 2880321 512 0.0
.text 2427682 2428194 512 0.0
bridge-app debug+rpc (read only) 2378089 2378105 16 0.0
.text 2011010 2011026 16 0.0
chip-tool debug (read only) 10909833 10910521 688 0.0
.text 8824772 8825460 688 0.0
chip-tool-ipv6only arm64 (read only) 10290436 10291060 624 0.0
.text 8143316 8143940 624 0.0
lighting-app debug+rpc (read only) 2603001 2603545 544 0.0
.text 2210802 2211346 544 0.0
lock-app debug (read only) 2585969 2586529 560 0.0
.text 2181026 2181586 560 0.0
ota-provider-app debug (read only) 2363225 2363769 544 0.0
.text 1989490 1990034 544 0.0
ota-requestor-app debug (read only) 2528473 2529017 544 0.0
.text 2138866 2139410 544 0.0
shell debug (read only) 2612313 2612825 512 0.0
.text 2218194 2218706 512 0.0
thermostat-no-ble arm64 (read only) 2361988 2362484 496 0.0
.text 1982672 1983168 496 0.0
tv-app debug (read only) 3190425 3191097 672 0.0
.text 2740418 2741090 672 0.0
tv-casting-app debug (read only) 5508865 5509233 368 0.0
.text 4892050 4892418 368 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 814884 814892 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160031 1160047 16 0.0
text 803276 803284 8 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1742252 1742300 48 0.0
.debug_aranges 111712 111728 16 0.0
.debug_frame 372900 372968 68 0.0
.debug_info 26708617 26712515 3898 0.0
.debug_line 3655730 3656285 555 0.0
.debug_loc 3569749 3571142 1393 0.0
.debug_ranges 337616 337912 296 0.1
.debug_str 3426920 3427356 436 0.0
.text 1542480 1542528 48 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read/write) 1685452 1685484 32 0.0
.debug_aranges 111184 111200 16 0.0
.debug_frame 375980 376048 68 0.0
.debug_info 26445241 26449138 3897 0.0
.debug_line 3676246 3676801 555 0.0
.debug_loc 3557386 3558779 1393 0.0
.debug_ranges 336232 336528 296 0.1
.debug_str 3415925 3416361 436 0.0
.text 1486416 1486448 32 0.0
light cy8ckit_062s2_43012 (read/write) 1602716 1602748 32 0.0
.debug_aranges 103360 103376 16 0.0
.debug_frame 346248 346316 68 0.0
.debug_info 21907523 21911420 3897 0.0
.debug_line 3246711 3247266 555 0.0
.debug_loc 3255729 3257122 1393 0.0
.debug_ranges 301704 302000 296 0.1
.debug_str 3221145 3221627 482 0.0
.text 1411912 1411944 32 0.0
lock cy8ckit_062s2_43012 (read/write) 1640412 1640444 32 0.0
.debug_aranges 104032 104048 16 0.0
.debug_frame 349076 349144 68 0.0
.debug_info 22287269 22291166 3897 0.0
.debug_line 3255532 3256087 555 0.0
.debug_loc 3295582 3296975 1393 0.0
.debug_ranges 305048 305344 296 0.1
.debug_str 3248566 3249048 482 0.0
.text 1444576 1444608 32 0.0
qpg lighting-app qpg6105+debug (read/write) 1129092 1129100 8 0.0
.text 576188 576196 8 0.0
lock-app qpg6105+debug (read/write) 1100096 1100104 8 0.0
.text 547196 547204 8 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808752 808760 8 0.0
text 571354 571364 10 0.0
lighting-app tlsr9518adk80d (read/write) 830668 830676 8 0.0
text 589478 589490 12 0.0
Decreases (6 builds for cc13x2_26x2)
platform target config section bd32efa cb7ac0c change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 176120 176112 -8 -0.0
lock-ftd LP_CC2652R7 (read/write) 165388 165372 -16 -0.0
lock-mtd LP_CC2652R7 (read/write) 178100 178092 -8 -0.0
pump-app LP_CC2652R7 (read/write) 157432 157424 -8 -0.0
pump-controller-app LP_CC2652R7 (read/write) 173044 173036 -8 -0.0
shell LP_CC2652R7 (read/write) 180996 180988 -8 -0.0
Full report (45 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section bd32efa cb7ac0c change % change
bl602 lighting-app bl602 (read/write) 1385950 1385990 40 0.0
.bss 120298 120298 0 0.0
.data 4488 4488 0 0.0
.text 1052328 1052372 44 0.0
bl602+rpc (read/write) 1431598 1431638 40 0.0
.bss 127730 127730 0 0.0
.data 4600 4600 0 0.0
.text 1084088 1084132 44 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675287 675295 8 0.0
(read/write) 176120 176112 -8 -0.0
.bss 74300 74300 0 0.0
.data 3380 3380 0 0.0
.rodata 89231 89231 0 0.0
.text 585744 585752 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 639991 639999 8 0.0
(read/write) 157868 157868 0 0.0
.bss 73572 73572 0 0.0
.data 3380 3380 0 0.0
.rodata 78375 78375 0 0.0
.text 561296 561304 8 0.0
lock-ftd LP_CC2652R7 (read only) 676331 676347 16 0.0
(read/write) 165388 165372 -16 -0.0
.bss 71500 71500 0 0.0
.data 3304 3304 0 0.0
.rodata 77075 77075 0 0.0
.text 598776 598792 16 0.0
lock-mtd LP_CC2652R7 (read only) 659307 659315 8 0.0
(read/write) 178100 178092 -8 -0.0
.bss 67188 67188 0 0.0
.data 3304 3304 0 0.0
.rodata 102339 102339 0 0.0
.text 556488 556496 8 0.0
pump-app LP_CC2652R7 (read only) 684991 684999 8 0.0
(read/write) 157432 157424 -8 -0.0
.bss 71436 71436 0 0.0
.data 3296 3296 0 0.0
.rodata 89951 89951 0 0.0
.text 594556 594564 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669491 669499 8 0.0
(read/write) 173044 173036 -8 -0.0
.bss 71548 71548 0 0.0
.data 3292 3292 0 0.0
.rodata 85507 85507 0 0.0
.text 583504 583512 8 0.0
shell LP_CC2652R7 (read only) 665930 665938 8 0.0
(read/write) 180996 180988 -8 -0.0
.bss 76620 76620 0 0.0
.data 3376 3376 0 0.0
.rodata 85786 85786 0 0.0
.text 579828 579836 8 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586794 586802 8 0.0
.app_xip_area 463452 463460 8 0.0
.bss 65776 65776 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592546 592554 8 0.0
.app_xip_area 464420 464428 8 0.0
.bss 70560 70560 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599578 599586 8 0.0
.app_xip_area 476956 476964 8 0.0
.bss 65088 65088 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1108032 1108064 32 0.0
.bss 136332 136332 0 0.0
.data 2072 2072 0 0.0
.text 969608 969640 32 0.0
BRD4161A+rpc (read/write) 971908 971908 0 0.0
.bss 150844 150844 0 0.0
.data 2252 2252 0 0.0
.text 818792 818792 0 0.0
BRD4161A+rs911x (read/write) 1001724 1001772 48 0.0
.bss 169168 169168 0 0.0
.data 2064 2064 0 0.0
.text 830472 830520 48 0.0
lock-app BRD4161A+wf200 (read/write) 1150024 1150040 16 0.0
.bss 152248 152248 0 0.0
.data 2072 2072 0 0.0
.text 995684 995700 16 0.0
window-app BRD4161A (read/write) 1099288 1099320 32 0.0
.bss 137772 137772 0 0.0
.data 2096 2096 0 0.0
.text 959400 959432 32 0.0
esp32 all-clusters-app c3devkit (read only) 1033786 1033794 8 0.0
(read/write) 1493518 1493518 0 0.0
.dram0.bss 71120 71120 0 0.0
.dram0.data 13696 13696 0 0.0
.flash.rodata 218032 218032 0 0.0
.flash.text 1033786 1033794 8 0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1086103 1086119 16 0.0
(read/write) 490804 490804 0 0.0
.dram0.bss 76640 76640 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 247344 247344 0 0.0
.flash.text 1080719 1080735 16 0.0
.iram0.text 123939 123939 0 0.0
k32w light k32w0+release (read/write) 648124 648124 0 0.0
.bss 70712 70712 0 0.0
.data 2068 2068 0 0.0
.text 572616 572616 0 0.0
lock k32w0+release (read/write) 705128 705144 16 0.0
.bss 71160 71160 0 0.0
.data 2076 2076 0 0.0
.text 629164 629180 16 0.0
linux all-clusters-app debug (read only) 3044009 3044521 512 0.0
(read/write) 156032 156032 0 0.0
.bss 61792 61792 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85768 85768 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1176 1176 0 0.0
.rodata 275307 275307 0 0.0
.text 2589266 2589778 512 0.0
all-clusters-minimal-app debug (read only) 2879809 2880321 512 0.0
(read/write) 147632 147632 0 0.0
.bss 61024 61024 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78264 78264 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 275467 275467 0 0.0
.text 2427682 2428194 512 0.0
bridge-app debug+rpc (read only) 2378089 2378105 16 0.0
(read/write) 127752 127752 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67640 67640 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 204168 204168 0 0.0
.text 2011010 2011026 16 0.0
chip-tool debug (read only) 10909833 10910521 688 0.0
(read/write) 657320 657320 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 622288 622288 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 564245 564245 0 0.0
.text 8824772 8825460 688 0.0
chip-tool-ipv6only arm64 (read only) 10290436 10291060 624 0.0
(read/write) 705169 705169 0 0.0
.bss 33297 33297 0 0.0
.data 3280 3280 0 0.0
.data.rel.ro 649784 649784 0 0.0
.dynamic 560 560 0 0.0
.got 13840 13840 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 494708 494708 0 0.0
.text 8143316 8143940 624 0.0
lighting-app debug+rpc (read only) 2603001 2603545 544 0.0
(read/write) 130536 130536 0 0.0
.bss 49792 49792 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72680 72680 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 221008 221008 0 0.0
.text 2210802 2211346 544 0.0
lock-app debug (read only) 2585969 2586529 560 0.0
(read/write) 125712 125712 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69688 69688 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 238000 238000 0 0.0
.text 2181026 2181586 560 0.0
ota-provider-app debug (read only) 2363225 2363769 544 0.0
(read/write) 119144 119144 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63512 63512 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 209976 209976 0 0.0
.text 1989490 1990034 544 0.0
ota-requestor-app debug (read only) 2528473 2529017 544 0.0
(read/write) 127552 127552 0 0.0
.bss 50368 50368 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68920 68920 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 216704 216704 0 0.0
.text 2138866 2139410 544 0.0
shell debug (read only) 2612313 2612825 512 0.0
(read/write) 142184 142184 0 0.0
.bss 57704 57704 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77376 77376 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 235410 235410 0 0.0
.text 2218194 2218706 512 0.0
thermostat-no-ble arm64 (read only) 2361988 2362484 496 0.0
(read/write) 141857 141857 0 0.0
.bss 55233 55233 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 76112 76112 0 0.0
.dynamic 560 560 0 0.0
.got 5056 5056 0 0.0
.init 24 24 0 0.0
.init_array 416 416 0 0.0
.rodata 141276 141276 0 0.0
.text 1982672 1983168 496 0.0
tv-app debug (read only) 3190425 3191097 672 0.0
(read/write) 258040 258040 0 0.0
.bss 167352 167352 0 0.0
.data 4752 4752 0 0.0
.data.rel.ro 79368 79368 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1080 1080 0 0.0
.rodata 259976 259976 0 0.0
.text 2740418 2741090 672 0.0
tv-casting-app debug (read only) 5508865 5509233 368 0.0
(read/write) 160536 160536 0 0.0
.bss 51352 51352 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 100304 100304 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 344913 344913 0 0.0
.text 4892050 4892418 368 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454936 2454936 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1417580 1417580 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180851 1180851 0 0.0
bss 143641 143641 0 0.0
rodata 143380 143380 0 0.0
text 814884 814892 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160031 1160047 16 0.0
bss 142868 142868 0 0.0
rodata 134968 134968 0 0.0
text 803276 803284 8 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841960 841960 0 0.0
(read/write) 1742252 1742300 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188720 188720 0 0.0
.comment 204 204 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 2664 2664 0 0.0
.debug_abbrev 1221450 1221450 0 0.0
.debug_aranges 111712 111728 16 0.0
.debug_frame 372900 372968 68 0.0
.debug_info 26708617 26712515 3898 0.0
.debug_line 3655730 3656285 555 0.0
.debug_loc 3569749 3571142 1393 0.0
.debug_ranges 337616 337912 296 0.1
.debug_str 3426920 3427356 436 0.0
.heap 841960 841960 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 570576 570576 0 0.0
.symtab 421488 421488 0 0.0
.text 1542480 1542528 48 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842696 842696 0 0.0
(read/write) 1685452 1685484 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187984 187984 0 0.0
.comment 204 204 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 2664 2664 0 0.0
.debug_abbrev 1213289 1213289 0 0.0
.debug_aranges 111184 111200 16 0.0
.debug_frame 375980 376048 68 0.0
.debug_info 26445241 26449138 3897 0.0
.debug_line 3676246 3676801 555 0.0
.debug_loc 3557386 3558779 1393 0.0
.debug_ranges 336232 336528 296 0.1
.debug_str 3415925 3416361 436 0.0
.heap 842696 842696 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 535050 535050 0 0.0
.symtab 408080 408080 0 0.0
.text 1486416 1486448 32 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850928 850928 0 0.0
(read/write) 1602716 1602748 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179960 179960 0 0.0
.comment 204 204 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 2456 2456 0 0.0
.debug_abbrev 1048108 1048108 0 0.0
.debug_aranges 103360 103376 16 0.0
.debug_frame 346248 346316 68 0.0
.debug_info 21907523 21911420 3897 0.0
.debug_line 3246711 3247266 555 0.0
.debug_loc 3255729 3257122 1393 0.0
.debug_ranges 301704 302000 296 0.1
.debug_str 3221145 3221627 482 0.0
.heap 850928 850928 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 468349 468349 0 0.0
.symtab 375168 375168 0 0.0
.text 1411912 1411944 32 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845896 845896 0 0.0
(read/write) 1640412 1640444 32 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184976 184976 0 0.0
.comment 204 204 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 2472 2472 0 0.0
.debug_abbrev 1055543 1055543 0 0.0
.debug_aranges 104032 104048 16 0.0
.debug_frame 349076 349144 68 0.0
.debug_info 22287269 22291166 3897 0.0
.debug_line 3255532 3256087 555 0.0
.debug_loc 3295582 3296975 1393 0.0
.debug_ranges 305048 305344 296 0.1
.debug_str 3248566 3249048 482 0.0
.heap 845896 845896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 474564 474564 0 0.0
.symtab 378352 378352 0 0.0
.text 1444576 1444608 32 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1129092 1129100 8 0.0
.bss 106112 106112 0 0.0
.data 1028 1028 0 0.0
.text 576188 576196 8 0.0
lock-app qpg6105+debug (read/write) 1100096 1100104 8 0.0
.bss 102344 102344 0 0.0
.data 1032 1032 0 0.0
.text 547196 547204 8 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808752 808760 8 0.0
bss 71344 71344 0 0.0
noinit 43488 43488 0 0.0
text 571354 571364 10 0.0
lighting-app tlsr9518adk80d (read/write) 830668 830676 8 0.0
bss 72200 72200 0 0.0
noinit 43488 43488 0 0.0
text 589478 589490 12 0.0

Other clients get shut down due to their sessions going away, but subscription
clients can be in a state where they are not waiting on a response, and those
should get shut down too.

Also:

1) Fixes ReadClient::Close to release its exchange, so shutting down a
subscription while it's waiting for a response from the server actually shuts it
down, instead of delivering OnDone and then getting a message on the exchange
and possibly sending more notifications after OnDone.

2) Fixes potential use-after-free in the ShutdownSubscriptions functions.

Fixes project-chip#22319
@github-actions
Copy link

github-actions bot commented Sep 1, 2022

PR #22323: Size comparison from 0f0e1e9 to 10fb972

Increases (42 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, nrfconnect, psoc6, qpg, telink)
platform target config section 0f0e1e9 10fb972 change % change
bl602 lighting-app bl602 (read/write) 1386150 1386190 40 0.0
.text 1052544 1052588 44 0.0
bl602+rpc (read/write) 1431806 1431846 40 0.0
.text 1084304 1084344 40 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675351 675359 8 0.0
.text 585824 585832 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 640063 640071 8 0.0
.text 561376 561384 8 0.0
lock-ftd LP_CC2652R7 (read only) 676411 676419 8 0.0
.text 598864 598872 8 0.0
lock-mtd LP_CC2652R7 (read only) 659371 659379 8 0.0
.text 556568 556576 8 0.0
pump-app LP_CC2652R7 (read only) 685239 685247 8 0.0
.text 594676 594684 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669723 669739 16 0.0
.text 583616 583632 16 0.0
shell LP_CC2652R7 (read only) 666002 666010 8 0.0
.text 579916 579924 8 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586874 586882 8 0.0
.app_xip_area 463532 463540 8 0.0
lock cyw930739m2evb_01 (read/write) 592626 592634 8 0.0
.app_xip_area 464500 464508 8 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599810 599818 8 0.0
.app_xip_area 477188 477196 8 0.0
efr32 lighting-app BRD4161A (read/write) 1108480 1108528 48 0.0
.text 970056 970104 48 0.0
BRD4161A+rpc (read/write) 972172 972188 16 0.0
.text 819056 819072 16 0.0
BRD4161A+rs911x (read/write) 1002196 1002244 48 0.0
.text 830944 830992 48 0.0
window-app BRD4161A (read/write) 1099720 1099768 48 0.0
.text 959832 959880 48 0.0
esp32 all-clusters-app c3devkit (read only) 1033904 1033912 8 0.0
.flash.text 1033904 1033912 8 0.0
m5stack (read only) 1086503 1086515 12 0.0
.flash.text 1081119 1081131 12 0.0
k32w lock k32w0+release (read/write) 705200 705216 16 0.0
.text 629236 629252 16 0.0
linux all-clusters-app debug (read only) 3044537 3045049 512 0.0
.text 2589666 2590178 512 0.0
all-clusters-minimal-app debug (read only) 2880337 2880849 512 0.0
.text 2428082 2428594 512 0.0
bridge-app debug+rpc (read only) 2378617 2378633 16 0.0
.text 2011410 2011426 16 0.0
chip-tool debug (read only) 10943801 10944489 688 0.0
.text 8853940 8854628 688 0.0
chip-tool-ipv6only arm64 (read only) 10318724 10319348 624 0.0
.text 8167012 8167636 624 0.0
lighting-app debug+rpc (read only) 2603497 2604041 544 0.0
.text 2211202 2211746 544 0.0
lock-app debug (read only) 2586497 2587057 560 0.0
.text 2181426 2181986 560 0.0
ota-provider-app debug (read only) 2363737 2364297 560 0.0
.text 1989874 1990434 560 0.0
ota-requestor-app debug (read only) 2529001 2529545 544 0.0
.text 2139266 2139810 544 0.0
shell debug (read only) 2612841 2613353 512 0.0
.text 2218594 2219106 512 0.0
thermostat-no-ble arm64 (read only) 2362532 2363012 480 0.0
.text 1983088 1983568 480 0.0
tv-app debug (read only) 3190953 3191625 672 0.0
.text 2740818 2741490 672 0.0
tv-casting-app debug (read only) 5509601 5509969 368 0.0
.text 4892626 4892994 368 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 815000 815008 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160267 1160283 16 0.0
text 803388 803396 8 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1742700 1742748 48 0.0
.debug_aranges 111712 111728 16 0.0
.debug_frame 372900 372968 68 0.0
.debug_info 26711524 26715419 3895 0.0
.debug_line 3656847 3657402 555 0.0
.debug_loc 3571715 3573108 1393 0.0
.debug_ranges 338128 338424 296 0.1
.debug_str 3426973 3427409 436 0.0
.text 1542928 1542976 48 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read/write) 1685900 1685948 48 0.0
.debug_aranges 111184 111200 16 0.0
.debug_frame 375980 376048 68 0.0
.debug_info 26448147 26452042 3895 0.0
.debug_line 3677363 3677918 555 0.0
.debug_loc 3559352 3560745 1393 0.0
.debug_ranges 336744 337040 296 0.1
.debug_str 3415978 3416414 436 0.0
.text 1486864 1486912 48 0.0
light cy8ckit_062s2_43012 (read/write) 1603148 1603196 48 0.0
.debug_aranges 103360 103376 16 0.0
.debug_frame 346248 346316 68 0.0
.debug_info 21910428 21914323 3895 0.0
.debug_line 3247828 3248383 555 0.0
.debug_loc 3257695 3259088 1393 0.0
.debug_ranges 302216 302512 296 0.1
.debug_str 3221198 3221680 482 0.0
.text 1412344 1412392 48 0.0
lock cy8ckit_062s2_43012 (read/write) 1640844 1640892 48 0.0
.debug_aranges 104032 104048 16 0.0
.debug_frame 349076 349144 68 0.0
.debug_info 22290176 22294072 3896 0.0
.debug_line 3256649 3257204 555 0.0
.debug_loc 3297548 3298941 1393 0.0
.debug_ranges 305560 305856 296 0.1
.debug_str 3248619 3249101 482 0.0
.text 1445008 1445056 48 0.0
qpg lighting-app qpg6105+debug (read/write) 1129164 1129172 8 0.0
.text 576260 576268 8 0.0
lock-app qpg6105+debug (read/write) 1100176 1100184 8 0.0
.text 547276 547284 8 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808996 809004 8 0.0
text 571472 571482 10 0.0
lighting-app tlsr9518adk80d (read/write) 830904 830912 8 0.0
text 589596 589604 8 0.0
Decreases (7 builds for cc13x2_26x2, esp32)
platform target config section 0f0e1e9 10fb972 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 176056 176048 -8 -0.0
lock-ftd LP_CC2652R7 (read/write) 165308 165300 -8 -0.0
lock-mtd LP_CC2652R7 (read/write) 178036 178028 -8 -0.0
pump-app LP_CC2652R7 (read/write) 157184 157176 -8 -0.0
pump-controller-app LP_CC2652R7 (read/write) 172812 172796 -16 -0.0
shell LP_CC2652R7 (read/write) 180924 180916 -8 -0.0
esp32 all-clusters-app m5stack (read/write) 490924 490916 -8 -0.0
.flash.rodata 247464 247456 -8 -0.0
Full report (45 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 0f0e1e9 10fb972 change % change
bl602 lighting-app bl602 (read/write) 1386150 1386190 40 0.0
.bss 120298 120298 0 0.0
.data 4488 4488 0 0.0
.text 1052544 1052588 44 0.0
bl602+rpc (read/write) 1431806 1431846 40 0.0
.bss 127730 127730 0 0.0
.data 4600 4600 0 0.0
.text 1084304 1084344 40 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675351 675359 8 0.0
(read/write) 176056 176048 -8 -0.0
.bss 74300 74300 0 0.0
.data 3380 3380 0 0.0
.rodata 89215 89215 0 0.0
.text 585824 585832 8 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 640063 640071 8 0.0
(read/write) 157868 157868 0 0.0
.bss 73572 73572 0 0.0
.data 3380 3380 0 0.0
.rodata 78367 78367 0 0.0
.text 561376 561384 8 0.0
lock-ftd LP_CC2652R7 (read only) 676411 676419 8 0.0
(read/write) 165308 165300 -8 -0.0
.bss 71500 71500 0 0.0
.data 3304 3304 0 0.0
.rodata 77067 77067 0 0.0
.text 598864 598872 8 0.0
lock-mtd LP_CC2652R7 (read only) 659371 659379 8 0.0
(read/write) 178036 178028 -8 -0.0
.bss 67188 67188 0 0.0
.data 3304 3304 0 0.0
.rodata 102323 102323 0 0.0
.text 556568 556576 8 0.0
pump-app LP_CC2652R7 (read only) 685239 685247 8 0.0
(read/write) 157184 157176 -8 -0.0
.bss 71436 71436 0 0.0
.data 3296 3296 0 0.0
.rodata 90079 90079 0 0.0
.text 594676 594684 8 0.0
pump-controller-app LP_CC2652R7 (read only) 669723 669739 16 0.0
(read/write) 172812 172796 -16 -0.0
.bss 71548 71548 0 0.0
.data 3292 3292 0 0.0
.rodata 85627 85627 0 0.0
.text 583616 583632 16 0.0
shell LP_CC2652R7 (read only) 666002 666010 8 0.0
(read/write) 180924 180916 -8 -0.0
.bss 76620 76620 0 0.0
.data 3376 3376 0 0.0
.rodata 85770 85770 0 0.0
.text 579916 579924 8 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586874 586882 8 0.0
.app_xip_area 463532 463540 8 0.0
.bss 65776 65776 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592626 592634 8 0.0
.app_xip_area 464500 464508 8 0.0
.bss 70560 70560 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599810 599818 8 0.0
.app_xip_area 477188 477196 8 0.0
.bss 65088 65088 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1108480 1108528 48 0.0
.bss 136332 136332 0 0.0
.data 2072 2072 0 0.0
.text 970056 970104 48 0.0
BRD4161A+rpc (read/write) 972172 972188 16 0.0
.bss 150844 150844 0 0.0
.data 2252 2252 0 0.0
.text 819056 819072 16 0.0
BRD4161A+rs911x (read/write) 1002196 1002244 48 0.0
.bss 169168 169168 0 0.0
.data 2064 2064 0 0.0
.text 830944 830992 48 0.0
lock-app BRD4161A+wf200 (read/write) 1150304 1150304 0 0.0
.bss 152248 152248 0 0.0
.data 2072 2072 0 0.0
.text 995964 995964 0 0.0
window-app BRD4161A (read/write) 1099720 1099768 48 0.0
.bss 137772 137772 0 0.0
.data 2096 2096 0 0.0
.text 959832 959880 48 0.0
esp32 all-clusters-app c3devkit (read only) 1033904 1033912 8 0.0
(read/write) 1493646 1493646 0 0.0
.dram0.bss 71120 71120 0 0.0
.dram0.data 13696 13696 0 0.0
.flash.rodata 218160 218160 0 0.0
.flash.text 1033904 1033912 8 0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1086503 1086515 12 0.0
(read/write) 490924 490916 -8 -0.0
.dram0.bss 76640 76640 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 247464 247456 -8 -0.0
.flash.text 1081119 1081131 12 0.0
.iram0.text 123939 123939 0 0.0
k32w light k32w0+release (read/write) 648204 648204 0 0.0
.bss 70712 70712 0 0.0
.data 2068 2068 0 0.0
.text 572696 572696 0 0.0
lock k32w0+release (read/write) 705200 705216 16 0.0
.bss 71160 71160 0 0.0
.data 2076 2076 0 0.0
.text 629236 629252 16 0.0
linux all-clusters-app debug (read only) 3044537 3045049 512 0.0
(read/write) 156032 156032 0 0.0
.bss 61792 61792 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85768 85768 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1176 1176 0 0.0
.rodata 275435 275435 0 0.0
.text 2589666 2590178 512 0.0
all-clusters-minimal-app debug (read only) 2880337 2880849 512 0.0
(read/write) 147632 147632 0 0.0
.bss 61024 61024 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78264 78264 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 275595 275595 0 0.0
.text 2428082 2428594 512 0.0
bridge-app debug+rpc (read only) 2378617 2378633 16 0.0
(read/write) 127752 127752 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67640 67640 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 204296 204296 0 0.0
.text 2011410 2011426 16 0.0
chip-tool debug (read only) 10943801 10944489 688 0.0
(read/write) 657320 657320 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 622288 622288 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 569045 569045 0 0.0
.text 8853940 8854628 688 0.0
chip-tool-ipv6only arm64 (read only) 10318724 10319348 624 0.0
(read/write) 705169 705169 0 0.0
.bss 33297 33297 0 0.0
.data 3280 3280 0 0.0
.data.rel.ro 649784 649784 0 0.0
.dynamic 560 560 0 0.0
.got 13840 13840 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 499300 499300 0 0.0
.text 8167012 8167636 624 0.0
lighting-app debug+rpc (read only) 2603497 2604041 544 0.0
(read/write) 130536 130536 0 0.0
.bss 49792 49792 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72680 72680 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 221104 221104 0 0.0
.text 2211202 2211746 544 0.0
lock-app debug (read only) 2586497 2587057 560 0.0
(read/write) 125712 125712 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69688 69688 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 238128 238128 0 0.0
.text 2181426 2181986 560 0.0
ota-provider-app debug (read only) 2363737 2364297 560 0.0
(read/write) 119144 119144 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63512 63512 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 210104 210104 0 0.0
.text 1989874 1990434 560 0.0
ota-requestor-app debug (read only) 2529001 2529545 544 0.0
(read/write) 127552 127552 0 0.0
.bss 50368 50368 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68920 68920 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 216832 216832 0 0.0
.text 2139266 2139810 544 0.0
shell debug (read only) 2612841 2613353 512 0.0
(read/write) 142184 142184 0 0.0
.bss 57704 57704 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77376 77376 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 235538 235538 0 0.0
.text 2218594 2219106 512 0.0
thermostat-no-ble arm64 (read only) 2362532 2363012 480 0.0
(read/write) 141857 141857 0 0.0
.bss 55233 55233 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 76112 76112 0 0.0
.dynamic 560 560 0 0.0
.got 5056 5056 0 0.0
.init 24 24 0 0.0
.init_array 416 416 0 0.0
.rodata 141404 141404 0 0.0
.text 1983088 1983568 480 0.0
tv-app debug (read only) 3190953 3191625 672 0.0
(read/write) 258040 258040 0 0.0
.bss 167352 167352 0 0.0
.data 4752 4752 0 0.0
.data.rel.ro 79368 79368 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1080 1080 0 0.0
.rodata 260104 260104 0 0.0
.text 2740818 2741490 672 0.0
tv-casting-app debug (read only) 5509601 5509969 368 0.0
(read/write) 160536 160536 0 0.0
.bss 51352 51352 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 100304 100304 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 345073 345073 0 0.0
.text 4892626 4892994 368 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2455184 2455184 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1417828 1417828 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1181087 1181087 0 0.0
bss 143641 143641 0 0.0
rodata 143504 143504 0 0.0
text 815000 815008 8 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160267 1160283 16 0.0
bss 142868 142868 0 0.0
rodata 135092 135092 0 0.0
text 803388 803396 8 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841960 841960 0 0.0
(read/write) 1742700 1742748 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188720 188720 0 0.0
.comment 204 204 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 2664 2664 0 0.0
.debug_abbrev 1221450 1221450 0 0.0
.debug_aranges 111712 111728 16 0.0
.debug_frame 372900 372968 68 0.0
.debug_info 26711524 26715419 3895 0.0
.debug_line 3656847 3657402 555 0.0
.debug_loc 3571715 3573108 1393 0.0
.debug_ranges 338128 338424 296 0.1
.debug_str 3426973 3427409 436 0.0
.heap 841960 841960 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 570588 570588 0 0.0
.symtab 421488 421488 0 0.0
.text 1542928 1542976 48 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842696 842696 0 0.0
(read/write) 1685900 1685948 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187984 187984 0 0.0
.comment 204 204 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 2664 2664 0 0.0
.debug_abbrev 1213289 1213289 0 0.0
.debug_aranges 111184 111200 16 0.0
.debug_frame 375980 376048 68 0.0
.debug_info 26448147 26452042 3895 0.0
.debug_line 3677363 3677918 555 0.0
.debug_loc 3559352 3560745 1393 0.0
.debug_ranges 336744 337040 296 0.1
.debug_str 3415978 3416414 436 0.0
.heap 842696 842696 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 535062 535062 0 0.0
.symtab 408080 408080 0 0.0
.text 1486864 1486912 48 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850928 850928 0 0.0
(read/write) 1603148 1603196 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179960 179960 0 0.0
.comment 204 204 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 2456 2456 0 0.0
.debug_abbrev 1048108 1048108 0 0.0
.debug_aranges 103360 103376 16 0.0
.debug_frame 346248 346316 68 0.0
.debug_info 21910428 21914323 3895 0.0
.debug_line 3247828 3248383 555 0.0
.debug_loc 3257695 3259088 1393 0.0
.debug_ranges 302216 302512 296 0.1
.debug_str 3221198 3221680 482 0.0
.heap 850928 850928 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 468361 468361 0 0.0
.symtab 375168 375168 0 0.0
.text 1412344 1412392 48 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845896 845896 0 0.0
(read/write) 1640844 1640892 48 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184976 184976 0 0.0
.comment 204 204 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 2472 2472 0 0.0
.debug_abbrev 1055543 1055543 0 0.0
.debug_aranges 104032 104048 16 0.0
.debug_frame 349076 349144 68 0.0
.debug_info 22290176 22294072 3896 0.0
.debug_line 3256649 3257204 555 0.0
.debug_loc 3297548 3298941 1393 0.0
.debug_ranges 305560 305856 296 0.1
.debug_str 3248619 3249101 482 0.0
.heap 845896 845896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 474564 474564 0 0.0
.symtab 378352 378352 0 0.0
.text 1445008 1445056 48 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1129164 1129172 8 0.0
.bss 106112 106112 0 0.0
.data 1028 1028 0 0.0
.text 576260 576268 8 0.0
lock-app qpg6105+debug (read/write) 1100176 1100184 8 0.0
.bss 102344 102344 0 0.0
.data 1032 1032 0 0.0
.text 547276 547284 8 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808996 809004 8 0.0
bss 71344 71344 0 0.0
noinit 43488 43488 0 0.0
text 571472 571482 10 0.0
lighting-app tlsr9518adk80d (read/write) 830904 830912 8 0.0
bss 72200 72200 0 0.0
noinit 43488 43488 0 0.0
text 589596 589604 8 0.0

@bzbarsky-apple bzbarsky-apple merged commit e56afce into project-chip:master Sep 2, 2022
@bzbarsky-apple bzbarsky-apple deleted the cancel-subscriptions-on-shutdown branch September 2, 2022 00:07
bzbarsky-apple added a commit to bzbarsky-apple/connectedhomeip that referenced this pull request Sep 2, 2022
andy31415 pushed a commit that referenced this pull request Sep 2, 2022
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 2022
…ject-chip#22323)

* Shut down subscription clients when DeviceController shuts down.

Other clients get shut down due to their sessions going away, but subscription
clients can be in a state where they are not waiting on a response, and those
should get shut down too.

Also:

1) Fixes ReadClient::Close to release its exchange, so shutting down a
subscription while it's waiting for a response from the server actually shuts it
down, instead of delivering OnDone and then getting a message on the exchange
and possibly sending more notifications after OnDone.

2) Fixes potential use-after-free in the ShutdownSubscriptions functions.

Fixes project-chip#22319

* Suppress now-visible LSan leak and have IM engine shut down any remaining subscriptions.

* Fix lifetime management in subscribeAttributeWithEndpointId.

* Address review comment: reduce duplication in read client iteration methods.
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 2022
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.

DeviceController shutdown should ShutdownSubscription on still-registered subscriptions.
6 participants