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 crashes when closing all exchanges for fabric. #19780

Merged
merged 6 commits into from
Jun 22, 2022

Conversation

bzbarsky-apple
Copy link
Contributor

Our "close all exchanges except this special one for this fabric" API
messes up exchange refcounting, leading to use-after-free.

The fix is to reuse, as much as possible, the normal "session is going
away" flow to notify exchanges, and other session consumers, that the
sessions are in fact going away.

Fixes #19747

Problem

See #19747.

Change overview

See above: we make this special operation look as much as possible like all the relevant sessions being marked for removal in the normal way.

Testing

Tests added that test various scenarios. Without this PR (using the old exchange manager API) those tests fail with all sorts of use-after-free issues.

@github-actions
Copy link

github-actions bot commented Jun 20, 2022

PR #19780: Size comparison from 48606c6 to b37d526

Increases (35 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux, nrfconnect, p6, telink)
platform target config section 48606c6 b37d526 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 659567 659591 24 0.0
.text 572168 572192 24 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648063 648079 16 0.0
.text 557336 557352 16 0.0
lock-ftd LP_CC2652R7 (read only) 690531 690547 16 0.0
.text 590884 590900 16 0.0
lock-mtd LP_CC2652R7 (read only) 639931 639955 24 0.0
.text 540396 540420 24 0.0
pump-app LP_CC2652R7 (read only) 671467 671499 32 0.0
.text 583724 583756 32 0.0
pump-controller-app LP_CC2652R7 (read only) 657359 657383 24 0.0
.text 573776 573800 24 0.0
shell LP_CC2652R7 (read only) 688994 689018 24 0.0
.text 579024 579048 24 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 612766 612790 24 0.0
.app_xip_area 469432 469456 24 0.0
lock cyw930739m2evb_01 (read/write) 610122 610146 24 0.0
.app_xip_area 466612 466636 24 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 616130 616154 24 0.0
.app_xip_area 473684 473708 24 0.0
esp32 all-clusters-app c3devkit (read only) 1012958 1012986 28 0.0
.flash.text 1012958 1012986 28 0.0
m5stack (read only) 1067459 1067483 24 0.0
.flash.text 1062075 1062099 24 0.0
k32w light k32w061+release (read/write) 658940 658956 16 0.0
.text 582392 582408 16 0.0
lock k32w061+release (read/write) 720916 720948 32 0.0
.text 643920 643952 32 0.0
linux all-clusters-app debug (read only) 2931385 2931449 64 0.0
.text 2494914 2495010 96 0.0
all-clusters-minimal-app debug (read only) 2785097 2785161 64 0.0
.text 2349266 2349362 96 0.0
bridge-app debug+rpc (read only) 2287665 2287697 32 0.0
.text 1931730 1931826 96 0.0
chip-tool debug (read only) 10141773 10141853 80 0.0
.text 8226741 8226853 112 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9882612 9882660 48 0.0
.text 7873860 7873908 48 0.0
lighting-app debug+rpc (read only) 2520433 2520497 64 0.0
.text 2140098 2140194 96 0.0
lock-app debug (read only) 2459113 2459145 32 0.0
.text 2070482 2070578 96 0.0
ota-provider-app debug (read only) 2296993 2297057 64 0.0
.text 1934338 1934434 96 0.0
ota-requestor-app debug (read only) 2412705 2412753 48 0.0
.text 2038130 2038242 112 0.0
shell debug (read only) 2604865 2604929 64 0.0
.text 2214818 2214914 96 0.0
thermostat-no-ble arm64 (read only) 2571580 2571628 48 0.0
.text 2169120 2169168 48 0.0
tv-app debug (read only) 3068849 3068913 64 0.0
.text 2635810 2635906 96 0.0
tv-casting-app debug (read only) 5534513 5534593 80 0.0
.text 4918146 4918258 112 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1198747 1198763 16 0.0
text 822552 822576 24 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1146703 1146735 32 0.0
text 794772 794796 24 0.0
p6 all-clusters-app default (read/write) 2553928 2553992 64 0.0
.text 1512192 1512256 64 0.0
all-clusters-minimal-app default (read/write) 2499776 2499840 64 0.0
.text 1458040 1458104 64 0.0
light-app default (read/write) 2430520 2430600 80 0.0
.text 1388784 1388864 80 0.0
lock-app default (read/write) 2451216 2451296 80 0.0
.text 1409480 1409560 80 0.0
telink light-switch-app tlsr9518adk80d (read/write) 789088 789112 24 0.0
text 559678 559700 22 0.0
lighting-app tlsr9518adk80d (read/write) 808800 808816 16 0.0
text 576138 576160 22 0.0
Decreases (16 builds for cc13x2_26x2, linux)
platform target config section 48606c6 b37d526 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 191296 191272 -24 -0.0
lock-ftd LP_CC2652R7 (read/write) 150444 150428 -16 -0.0
pump-app LP_CC2652R7 (read/write) 170396 170364 -32 -0.0
pump-controller-app LP_CC2652R7 (read/write) 184616 184592 -24 -0.0
shell LP_CC2652R7 (read/write) 157364 157340 -24 -0.0
linux all-clusters-app debug .rodata 260029 259997 -32 -0.0
all-clusters-minimal-app debug .rodata 261565 261533 -32 -0.0
bridge-app debug+rpc .rodata 194848 194784 -64 -0.0
chip-tool debug .rodata 509301 509269 -32 -0.0
lighting-app debug+rpc .rodata 210632 210600 -32 -0.0
lock-app debug .rodata 224328 224264 -64 -0.0
ota-provider-app debug .rodata 200504 200472 -32 -0.0
ota-requestor-app debug .rodata 204192 204128 -64 -0.0
shell debug .rodata 230290 230258 -32 -0.0
tv-app debug .rodata 246176 246144 -32 -0.0
tv-casting-app debug .rodata 340137 340105 -32 -0.0
Full report (36 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 48606c6 b37d526 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 659567 659591 24 0.0
(read/write) 191296 191272 -24 -0.0
.bss 73756 73756 0 0.0
.data 3356 3356 0 0.0
.rodata 87087 87087 0 0.0
.text 572168 572192 24 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648063 648079 16 0.0
(read/write) 157316 157316 0 0.0
.bss 73044 73044 0 0.0
.data 3356 3356 0 0.0
.rodata 90407 90407 0 0.0
.text 557336 557352 16 0.0
lock-ftd LP_CC2652R7 (read only) 690531 690547 16 0.0
(read/write) 150444 150428 -16 -0.0
.bss 70756 70756 0 0.0
.data 3280 3280 0 0.0
.rodata 99163 99163 0 0.0
.text 590884 590900 16 0.0
lock-mtd LP_CC2652R7 (read only) 639931 639955 24 0.0
(read/write) 143888 143888 0 0.0
.bss 66492 66492 0 0.0
.data 3280 3280 0 0.0
.rodata 99043 99043 0 0.0
.text 540396 540420 24 0.0
pump-app LP_CC2652R7 (read only) 671467 671499 32 0.0
(read/write) 170396 170364 -32 -0.0
.bss 70876 70876 0 0.0
.data 3280 3280 0 0.0
.rodata 87259 87259 0 0.0
.text 583724 583756 32 0.0
pump-controller-app LP_CC2652R7 (read only) 657359 657383 24 0.0
(read/write) 184616 184592 -24 -0.0
.bss 70988 70988 0 0.0
.data 3276 3276 0 0.0
.rodata 83103 83103 0 0.0
.text 573776 573800 24 0.0
shell LP_CC2652R7 (read only) 688994 689018 24 0.0
(read/write) 157364 157340 -24 -0.0
.bss 76052 76052 0 0.0
.data 3360 3360 0 0.0
.rodata 109658 109658 0 0.0
.text 579024 579048 24 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 612766 612790 24 0.0
.app_xip_area 469432 469456 24 0.0
.bss 86288 86288 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 610122 610146 24 0.0
.app_xip_area 466612 466636 24 0.0
.bss 86464 86464 0 0.0
.data 732 732 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 616130 616154 24 0.0
.app_xip_area 473684 473708 24 0.0
.bss 85456 85456 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
esp32 all-clusters-app c3devkit (read only) 1012958 1012986 28 0.0
(read/write) 1482898 1482898 0 0.0
.dram0.bss 69392 69392 0 0.0
.dram0.data 14632 14632 0 0.0
.flash.rodata 213440 213440 0 0.0
.flash.text 1012958 1012986 28 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1067459 1067483 24 0.0
(read/write) 485016 485016 0 0.0
.dram0.bss 74912 74912 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 243964 243964 0 0.0
.flash.text 1062075 1062099 24 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 658940 658956 16 0.0
.bss 68756 68756 0 0.0
.data 1992 1992 0 0.0
.text 582392 582408 16 0.0
lock k32w061+release (read/write) 720916 720948 32 0.0
.bss 69196 69196 0 0.0
.data 2000 2000 0 0.0
.text 643920 643952 32 0.0
linux all-clusters-app debug (read only) 2931385 2931449 64 0.0
(read/write) 188656 188656 0 0.0
.bss 95744 95744 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 84664 84664 0 0.0
.dynamic 608 608 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 260029 259997 -32 -0.0
.text 2494914 2495010 96 0.0
all-clusters-minimal-app debug (read only) 2785097 2785161 64 0.0
(read/write) 180560 180560 0 0.0
.bss 95072 95072 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 77304 77304 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 261565 261533 -32 -0.0
.text 2349266 2349362 96 0.0
bridge-app debug+rpc (read only) 2287665 2287697 32 0.0
(read/write) 159424 159424 0 0.0
.bss 83136 83136 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 66728 66728 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 194848 194784 -64 -0.0
.text 1931730 1931826 96 0.0
chip-tool debug (read only) 10141773 10141853 80 0.0
(read/write) 609544 609544 0 0.0
.bss 24352 24352 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 577808 577808 0 0.0
.dynamic 624 624 0 0.0
.got 5008 5008 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 509301 509269 -32 -0.0
.text 8226741 8226853 112 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9882612 9882660 48 0.0
(read/write) 674225 674225 0 0.0
.bss 42641 42641 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 613208 613208 0 0.0
.dynamic 528 528 0 0.0
.got 13416 13416 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 472324 472324 0 0.0
.text 7873860 7873908 48 0.0
lighting-app debug+rpc (read only) 2520433 2520497 64 0.0
(read/write) 163448 163448 0 0.0
.bss 83616 83616 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 71896 71896 0 0.0
.dynamic 608 608 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 210632 210600 -32 -0.0
.text 2140098 2140194 96 0.0
lock-app debug (read only) 2459113 2459145 32 0.0
(read/write) 158096 158096 0 0.0
.bss 82016 82016 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 68568 68568 0 0.0
.dynamic 608 608 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 224328 224264 -64 -0.0
.text 2070482 2070578 96 0.0
ota-provider-app debug (read only) 2296993 2297057 64 0.0
(read/write) 152232 152232 0 0.0
.bss 81696 81696 0 0.0
.data 1912 1912 0 0.0
.data.rel.ro 62840 62840 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 200504 200472 -32 -0.0
.text 1934338 1934434 96 0.0
ota-requestor-app debug (read only) 2412705 2412753 48 0.0
(read/write) 158976 158976 0 0.0
.bss 84000 84000 0 0.0
.data 2200 2200 0 0.0
.data.rel.ro 66936 66936 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 204192 204128 -64 -0.0
.text 2038130 2038242 112 0.0
shell debug (read only) 2604865 2604929 64 0.0
(read/write) 219288 219288 0 0.0
.bss 134504 134504 0 0.0
.data 1232 1232 0 0.0
.data.rel.ro 77808 77808 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 230290 230258 -32 -0.0
.text 2214818 2214914 96 0.0
thermostat-no-ble arm64 (read only) 2571580 2571628 48 0.0
(read/write) 192193 192193 0 0.0
.bss 99489 99489 0 0.0
.data 1688 1688 0 0.0
.data.rel.ro 82928 82928 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 163340 163340 0 0.0
.text 2169120 2169168 48 0.0
tv-app debug (read only) 3068849 3068913 64 0.0
(read/write) 289352 289352 0 0.0
.bss 199240 199240 0 0.0
.data 4656 4656 0 0.0
.data.rel.ro 79016 79016 0 0.0
.dynamic 608 608 0 0.0
.got 4840 4840 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 246176 246144 -32 -0.0
.text 2635810 2635906 96 0.0
tv-casting-app debug (read only) 5534513 5534593 80 0.0
(read/write) 195664 195664 0 0.0
.bss 84424 84424 0 0.0
.data 2448 2448 0 0.0
.data.rel.ro 102576 102576 0 0.0
.dynamic 608 608 0 0.0
.got 4712 4712 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 340137 340105 -32 -0.0
.text 4918146 4918258 112 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2438104 2438104 0 0.0
.bss 208204 208204 0 0.0
.data 5864 5864 0 0.0
.text 1400748 1400748 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1198747 1198763 16 0.0
bss 141598 141598 0 0.0
rodata 155676 155676 0 0.0
text 822552 822576 24 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1146703 1146735 32 0.0
bss 140850 140850 0 0.0
rodata 132200 132200 0 0.0
text 794772 794796 24 0.0
p6 all-clusters-app default (read/write) 2553928 2553992 64 0.0
.bss 143384 143384 0 0.0
.data 2776 2776 0 0.0
.text 1512192 1512256 64 0.0
all-clusters-minimal-app default (read/write) 2499776 2499840 64 0.0
.bss 142664 142664 0 0.0
.data 2776 2776 0 0.0
.text 1458040 1458104 64 0.0
light-app default (read/write) 2430520 2430600 80 0.0
.bss 134744 134744 0 0.0
.data 2592 2592 0 0.0
.text 1388784 1388864 80 0.0
lock-app default (read/write) 2451216 2451296 80 0.0
.bss 134568 134568 0 0.0
.data 2600 2600 0 0.0
.text 1409480 1409560 80 0.0
telink light-switch-app tlsr9518adk80d (read/write) 789088 789112 24 0.0
bss 69892 69892 0 0.0
noinit 40416 40416 0 0.0
text 559678 559700 22 0.0
lighting-app tlsr9518adk80d (read/write) 808800 808816 16 0.0
bss 70140 70140 0 0.0
noinit 40416 40416 0 0.0
text 576138 576160 22 0.0

@github-actions
Copy link

github-actions bot commented Jun 21, 2022

PR #19780: Size comparison from 2ac3ee7 to a6e33eb

Increases (33 builds for cc13x2_26x2, cyw30739, k32w, linux, nrfconnect, p6, telink)
platform target config section 2ac3ee7 a6e33eb change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 659567 659591 24 0.0
.text 572168 572192 24 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648055 648087 32 0.0
.text 557328 557360 32 0.0
lock-ftd LP_CC2652R7 (read only) 690531 690547 16 0.0
.text 590884 590900 16 0.0
lock-mtd LP_CC2652R7 (read only) 639931 639955 24 0.0
.text 540396 540420 24 0.0
pump-app LP_CC2652R7 (read only) 671467 671499 32 0.0
.text 583724 583756 32 0.0
pump-controller-app LP_CC2652R7 (read only) 657359 657383 24 0.0
.text 573776 573800 24 0.0
shell LP_CC2652R7 (read only) 688994 689018 24 0.0
.text 579024 579048 24 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 612766 612790 24 0.0
.app_xip_area 469432 469456 24 0.0
lock cyw930739m2evb_01 (read/write) 610122 610146 24 0.0
.app_xip_area 466612 466636 24 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 616130 616154 24 0.0
.app_xip_area 473684 473708 24 0.0
k32w light k32w061+release (read/write) 658940 658956 16 0.0
.text 582392 582408 16 0.0
lock k32w061+release (read/write) 720916 720948 32 0.0
.text 643920 643952 32 0.0
linux all-clusters-app debug (read only) 2931385 2931449 64 0.0
.text 2494914 2495010 96 0.0
all-clusters-minimal-app debug (read only) 2785097 2785161 64 0.0
.text 2349266 2349362 96 0.0
bridge-app debug+rpc (read only) 2287665 2287697 32 0.0
.text 1931730 1931826 96 0.0
chip-tool debug (read only) 10141773 10141853 80 0.0
.text 8226741 8226853 112 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9882612 9882660 48 0.0
.text 7873860 7873908 48 0.0
lighting-app debug+rpc (read only) 2520433 2520497 64 0.0
.text 2140098 2140194 96 0.0
lock-app debug (read only) 2459113 2459145 32 0.0
.text 2070482 2070578 96 0.0
ota-provider-app debug (read only) 2296993 2297057 64 0.0
.text 1934338 1934434 96 0.0
ota-requestor-app debug (read only) 2412705 2412753 48 0.0
.text 2038130 2038242 112 0.0
shell debug (read only) 2604865 2604929 64 0.0
.text 2214818 2214914 96 0.0
thermostat-no-ble arm64 (read only) 2571580 2571628 48 0.0
.text 2169120 2169168 48 0.0
tv-app debug (read only) 3068849 3068913 64 0.0
.text 2635810 2635906 96 0.0
tv-casting-app debug (read only) 5534513 5534593 80 0.0
.text 4918146 4918258 112 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1198747 1198763 16 0.0
text 822552 822572 20 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1146703 1146735 32 0.0
text 794772 794796 24 0.0
p6 all-clusters-app default (read/write) 2553928 2553992 64 0.0
.text 1512192 1512256 64 0.0
all-clusters-minimal-app default (read/write) 2499776 2499840 64 0.0
.text 1458040 1458104 64 0.0
light-app default (read/write) 2430520 2430600 80 0.0
.text 1388784 1388864 80 0.0
lock-app default (read/write) 2451216 2451296 80 0.0
.text 1409480 1409560 80 0.0
telink light-switch-app tlsr9518adk80d (read/write) 789088 789112 24 0.0
text 559674 559700 26 0.0
lighting-app tlsr9518adk80d (read/write) 808792 808816 24 0.0
text 576134 576160 26 0.0
Decreases (16 builds for cc13x2_26x2, linux)
platform target config section 2ac3ee7 a6e33eb change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 191296 191272 -24 -0.0
lock-ftd LP_CC2652R7 (read/write) 150444 150428 -16 -0.0
pump-app LP_CC2652R7 (read/write) 170396 170364 -32 -0.0
pump-controller-app LP_CC2652R7 (read/write) 184616 184592 -24 -0.0
shell LP_CC2652R7 (read/write) 157364 157340 -24 -0.0
linux all-clusters-app debug .rodata 260029 259997 -32 -0.0
all-clusters-minimal-app debug .rodata 261565 261533 -32 -0.0
bridge-app debug+rpc .rodata 194848 194784 -64 -0.0
chip-tool debug .rodata 509301 509269 -32 -0.0
lighting-app debug+rpc .rodata 210632 210600 -32 -0.0
lock-app debug .rodata 224328 224264 -64 -0.0
ota-provider-app debug .rodata 200504 200472 -32 -0.0
ota-requestor-app debug .rodata 204192 204128 -64 -0.0
shell debug .rodata 230290 230258 -32 -0.0
tv-app debug .rodata 246176 246144 -32 -0.0
tv-casting-app debug .rodata 340137 340105 -32 -0.0
Full report (34 builds for cc13x2_26x2, cyw30739, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 2ac3ee7 a6e33eb change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 659567 659591 24 0.0
(read/write) 191296 191272 -24 -0.0
.bss 73756 73756 0 0.0
.data 3356 3356 0 0.0
.rodata 87087 87087 0 0.0
.text 572168 572192 24 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648055 648087 32 0.0
(read/write) 157316 157316 0 0.0
.bss 73044 73044 0 0.0
.data 3356 3356 0 0.0
.rodata 90407 90407 0 0.0
.text 557328 557360 32 0.0
lock-ftd LP_CC2652R7 (read only) 690531 690547 16 0.0
(read/write) 150444 150428 -16 -0.0
.bss 70756 70756 0 0.0
.data 3280 3280 0 0.0
.rodata 99163 99163 0 0.0
.text 590884 590900 16 0.0
lock-mtd LP_CC2652R7 (read only) 639931 639955 24 0.0
(read/write) 143888 143888 0 0.0
.bss 66492 66492 0 0.0
.data 3280 3280 0 0.0
.rodata 99043 99043 0 0.0
.text 540396 540420 24 0.0
pump-app LP_CC2652R7 (read only) 671467 671499 32 0.0
(read/write) 170396 170364 -32 -0.0
.bss 70876 70876 0 0.0
.data 3280 3280 0 0.0
.rodata 87259 87259 0 0.0
.text 583724 583756 32 0.0
pump-controller-app LP_CC2652R7 (read only) 657359 657383 24 0.0
(read/write) 184616 184592 -24 -0.0
.bss 70988 70988 0 0.0
.data 3276 3276 0 0.0
.rodata 83103 83103 0 0.0
.text 573776 573800 24 0.0
shell LP_CC2652R7 (read only) 688994 689018 24 0.0
(read/write) 157364 157340 -24 -0.0
.bss 76052 76052 0 0.0
.data 3360 3360 0 0.0
.rodata 109658 109658 0 0.0
.text 579024 579048 24 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 612766 612790 24 0.0
.app_xip_area 469432 469456 24 0.0
.bss 86288 86288 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 610122 610146 24 0.0
.app_xip_area 466612 466636 24 0.0
.bss 86464 86464 0 0.0
.data 732 732 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 616130 616154 24 0.0
.app_xip_area 473684 473708 24 0.0
.bss 85456 85456 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
k32w light k32w061+release (read/write) 658940 658956 16 0.0
.bss 68756 68756 0 0.0
.data 1992 1992 0 0.0
.text 582392 582408 16 0.0
lock k32w061+release (read/write) 720916 720948 32 0.0
.bss 69196 69196 0 0.0
.data 2000 2000 0 0.0
.text 643920 643952 32 0.0
linux all-clusters-app debug (read only) 2931385 2931449 64 0.0
(read/write) 188656 188656 0 0.0
.bss 95744 95744 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 84664 84664 0 0.0
.dynamic 608 608 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 260029 259997 -32 -0.0
.text 2494914 2495010 96 0.0
all-clusters-minimal-app debug (read only) 2785097 2785161 64 0.0
(read/write) 180560 180560 0 0.0
.bss 95072 95072 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 77304 77304 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 261565 261533 -32 -0.0
.text 2349266 2349362 96 0.0
bridge-app debug+rpc (read only) 2287665 2287697 32 0.0
(read/write) 159424 159424 0 0.0
.bss 83136 83136 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 66728 66728 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 194848 194784 -64 -0.0
.text 1931730 1931826 96 0.0
chip-tool debug (read only) 10141773 10141853 80 0.0
(read/write) 609544 609544 0 0.0
.bss 24352 24352 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 577808 577808 0 0.0
.dynamic 624 624 0 0.0
.got 5008 5008 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 509301 509269 -32 -0.0
.text 8226741 8226853 112 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9882612 9882660 48 0.0
(read/write) 674225 674225 0 0.0
.bss 42641 42641 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 613208 613208 0 0.0
.dynamic 528 528 0 0.0
.got 13416 13416 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 472324 472324 0 0.0
.text 7873860 7873908 48 0.0
lighting-app debug+rpc (read only) 2520433 2520497 64 0.0
(read/write) 163448 163448 0 0.0
.bss 83616 83616 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 71896 71896 0 0.0
.dynamic 608 608 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 210632 210600 -32 -0.0
.text 2140098 2140194 96 0.0
lock-app debug (read only) 2459113 2459145 32 0.0
(read/write) 158096 158096 0 0.0
.bss 82016 82016 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 68568 68568 0 0.0
.dynamic 608 608 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 224328 224264 -64 -0.0
.text 2070482 2070578 96 0.0
ota-provider-app debug (read only) 2296993 2297057 64 0.0
(read/write) 152232 152232 0 0.0
.bss 81696 81696 0 0.0
.data 1912 1912 0 0.0
.data.rel.ro 62840 62840 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 200504 200472 -32 -0.0
.text 1934338 1934434 96 0.0
ota-requestor-app debug (read only) 2412705 2412753 48 0.0
(read/write) 158976 158976 0 0.0
.bss 84000 84000 0 0.0
.data 2200 2200 0 0.0
.data.rel.ro 66936 66936 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 204192 204128 -64 -0.0
.text 2038130 2038242 112 0.0
shell debug (read only) 2604865 2604929 64 0.0
(read/write) 219288 219288 0 0.0
.bss 134504 134504 0 0.0
.data 1232 1232 0 0.0
.data.rel.ro 77808 77808 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 230290 230258 -32 -0.0
.text 2214818 2214914 96 0.0
thermostat-no-ble arm64 (read only) 2571580 2571628 48 0.0
(read/write) 192193 192193 0 0.0
.bss 99489 99489 0 0.0
.data 1688 1688 0 0.0
.data.rel.ro 82928 82928 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 163340 163340 0 0.0
.text 2169120 2169168 48 0.0
tv-app debug (read only) 3068849 3068913 64 0.0
(read/write) 289352 289352 0 0.0
.bss 199240 199240 0 0.0
.data 4656 4656 0 0.0
.data.rel.ro 79016 79016 0 0.0
.dynamic 608 608 0 0.0
.got 4840 4840 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 246176 246144 -32 -0.0
.text 2635810 2635906 96 0.0
tv-casting-app debug (read only) 5534513 5534593 80 0.0
(read/write) 195664 195664 0 0.0
.bss 84424 84424 0 0.0
.data 2448 2448 0 0.0
.data.rel.ro 102576 102576 0 0.0
.dynamic 608 608 0 0.0
.got 4712 4712 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 340137 340105 -32 -0.0
.text 4918146 4918258 112 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2438104 2438104 0 0.0
.bss 208204 208204 0 0.0
.data 5864 5864 0 0.0
.text 1400748 1400748 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1198747 1198763 16 0.0
bss 141598 141598 0 0.0
rodata 155676 155676 0 0.0
text 822552 822572 20 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1146703 1146735 32 0.0
bss 140850 140850 0 0.0
rodata 132200 132200 0 0.0
text 794772 794796 24 0.0
p6 all-clusters-app default (read/write) 2553928 2553992 64 0.0
.bss 143384 143384 0 0.0
.data 2776 2776 0 0.0
.text 1512192 1512256 64 0.0
all-clusters-minimal-app default (read/write) 2499776 2499840 64 0.0
.bss 142664 142664 0 0.0
.data 2776 2776 0 0.0
.text 1458040 1458104 64 0.0
light-app default (read/write) 2430520 2430600 80 0.0
.bss 134744 134744 0 0.0
.data 2592 2592 0 0.0
.text 1388784 1388864 80 0.0
lock-app default (read/write) 2451216 2451296 80 0.0
.bss 134568 134568 0 0.0
.data 2600 2600 0 0.0
.text 1409480 1409560 80 0.0
telink light-switch-app tlsr9518adk80d (read/write) 789088 789112 24 0.0
bss 69892 69892 0 0.0
noinit 40416 40416 0 0.0
text 559674 559700 26 0.0
lighting-app tlsr9518adk80d (read/write) 808792 808816 24 0.0
bss 70140 70140 0 0.0
noinit 40416 40416 0 0.0
text 576134 576160 26 0.0

src/messaging/ExchangeContext.cpp Outdated Show resolved Hide resolved
src/messaging/ExchangeContext.cpp Outdated Show resolved Hide resolved
Our "close all exchanges except this special one for this fabric" API
messes up exchange refcounting, leading to use-after-free.

The fix is to reuse, as much as possible, the normal "session is going
away" flow to notify exchanges, and other session consumers, that the
sessions are in fact going away.

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

github-actions bot commented Jun 21, 2022

PR #19780: Size comparison from c6724a0 to 89c4bac

Increases (28 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, p6, telink)
platform target config section c6724a0 89c4bac change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 660135 660159 24 0.0
.text 572584 572608 24 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648947 648971 24 0.0
.text 557856 557880 24 0.0
lock-ftd LP_CC2652R7 (read only) 691511 691535 24 0.0
.text 591500 591524 24 0.0
lock-mtd LP_CC2652R7 (read only) 640927 640951 24 0.0
.text 541028 541052 24 0.0
pump-app LP_CC2652R7 (read only) 672799 672823 24 0.0
.text 584412 584436 24 0.0
pump-controller-app LP_CC2652R7 (read only) 658675 658707 32 0.0
.text 574448 574480 32 0.0
shell LP_CC2652R7 (read only) 689870 689894 24 0.0
.text 579536 579560 24 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 613246 613270 24 0.0
.app_xip_area 469896 469920 24 0.0
lock cyw930739m2evb_01 (read/write) 610602 610626 24 0.0
.app_xip_area 467076 467100 24 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 617134 617166 32 0.0
.app_xip_area 474672 474704 32 0.0
efr32 lighting-app BRD4161A (read only) 925456 925520 64 0.0
.text 925448 925512 64 0.0
BRD4161A+rpc (read only) 961160 961224 64 0.0
.text 961152 961216 64 0.0
BRD4161A+rs911x (read only) 800804 800868 64 0.0
.text 800796 800860 64 0.0
lock-app BRD4161A+wf200 (read only) 967120 967136 16 0.0
.text 967112 967128 16 0.0
window-app BRD4161A (read only) 910600 910664 64 0.0
.text 910592 910656 64 0.0
esp32 all-clusters-app c3devkit (read only) 1013700 1013728 28 0.0
.flash.text 1013700 1013728 28 0.0
m5stack (read only) 1068163 1068179 16 0.0
.flash.text 1062779 1062795 16 0.0
k32w light k32w061+release (read/write) 659604 659620 16 0.0
.text 583048 583064 16 0.0
lock k32w061+release (read/write) 722132 722164 32 0.0
.text 645128 645160 32 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9886844 9886892 48 0.0
.text 7877284 7877332 48 0.0
thermostat-no-ble arm64 (read only) 2575988 2576036 48 0.0
.text 2172720 2172768 48 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2439048 2439112 64 0.0
.text 1401692 1401756 64 0.0
p6 all-clusters-app default (read/write) 2555392 2555456 64 0.0
.text 1513656 1513720 64 0.0
all-clusters-minimal-app default (read/write) 2501240 2501304 64 0.0
.text 1459504 1459568 64 0.0
light-app default (read/write) 2432000 2432064 64 0.0
.text 1390264 1390328 64 0.0
lock-app default (read/write) 2452688 2452752 64 0.0
.text 1410952 1411016 64 0.0
telink light-switch-app tlsr9518adk80d (read/write) 790472 790496 24 0.0
text 560392 560414 22 0.0
lighting-app tlsr9518adk80d (read/write) 810184 810208 24 0.0
text 576852 576876 24 0.0
Decreases (5 builds for cc13x2_26x2)
platform target config section c6724a0 89c4bac change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 190736 190712 -24 -0.0
lock-ftd LP_CC2652R7 (read/write) 149472 149448 -24 -0.0
pump-app LP_CC2652R7 (read/write) 169072 169048 -24 -0.0
pump-controller-app LP_CC2652R7 (read/write) 183308 183276 -32 -0.0
shell LP_CC2652R7 (read/write) 156496 156472 -24 -0.0
Full report (28 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, p6, telink)
platform target config section c6724a0 89c4bac change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 660135 660159 24 0.0
(read/write) 190736 190712 -24 -0.0
.bss 73764 73764 0 0.0
.data 3356 3356 0 0.0
.rodata 87239 87239 0 0.0
.text 572584 572608 24 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648947 648971 24 0.0
(read/write) 157324 157324 0 0.0
.bss 73052 73052 0 0.0
.data 3356 3356 0 0.0
.rodata 90771 90771 0 0.0
.text 557856 557880 24 0.0
lock-ftd LP_CC2652R7 (read only) 691511 691535 24 0.0
(read/write) 149472 149448 -24 -0.0
.bss 70764 70764 0 0.0
.data 3280 3280 0 0.0
.rodata 99527 99527 0 0.0
.text 591500 591524 24 0.0
lock-mtd LP_CC2652R7 (read only) 640927 640951 24 0.0
(read/write) 143896 143896 0 0.0
.bss 66500 66500 0 0.0
.data 3280 3280 0 0.0
.rodata 99407 99407 0 0.0
.text 541028 541052 24 0.0
pump-app LP_CC2652R7 (read only) 672799 672823 24 0.0
(read/write) 169072 169048 -24 -0.0
.bss 70884 70884 0 0.0
.data 3280 3280 0 0.0
.rodata 87903 87903 0 0.0
.text 584412 584436 24 0.0
pump-controller-app LP_CC2652R7 (read only) 658675 658707 32 0.0
(read/write) 183308 183276 -32 -0.0
.bss 70996 70996 0 0.0
.data 3276 3276 0 0.0
.rodata 83747 83747 0 0.0
.text 574448 574480 32 0.0
shell LP_CC2652R7 (read only) 689870 689894 24 0.0
(read/write) 156496 156472 -24 -0.0
.bss 76060 76060 0 0.0
.data 3360 3360 0 0.0
.rodata 110022 110022 0 0.0
.text 579536 579560 24 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 613246 613270 24 0.0
.app_xip_area 469896 469920 24 0.0
.bss 86304 86304 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 610602 610626 24 0.0
.app_xip_area 467076 467100 24 0.0
.bss 86480 86480 0 0.0
.data 732 732 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 617134 617166 32 0.0
.app_xip_area 474672 474704 32 0.0
.bss 85472 85472 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 925456 925520 64 0.0
(read/write) 132424 132424 0 0.0
.bss 130344 130344 0 0.0
.data 2080 2080 0 0.0
.text 925448 925512 64 0.0
BRD4161A+rpc (read only) 961160 961224 64 0.0
(read/write) 149304 149304 0 0.0
.bss 147016 147016 0 0.0
.data 2284 2284 0 0.0
.text 961152 961216 64 0.0
BRD4161A+rs911x (read only) 800804 800868 64 0.0
(read/write) 128700 128700 0 0.0
.bss 126612 126612 0 0.0
.data 2088 2088 0 0.0
.text 800796 800860 64 0.0
lock-app BRD4161A+wf200 (read only) 967120 967136 16 0.0
(read/write) 129076 129076 0 0.0
.bss 126988 126988 0 0.0
.data 2088 2088 0 0.0
.text 967112 967128 16 0.0
window-app BRD4161A (read only) 910600 910664 64 0.0
(read/write) 132528 132528 0 0.0
.bss 130416 130416 0 0.0
.data 2108 2108 0 0.0
.text 910592 910656 64 0.0
esp32 all-clusters-app c3devkit (read only) 1013700 1013728 28 0.0
(read/write) 1483554 1483554 0 0.0
.dram0.bss 69400 69400 0 0.0
.dram0.data 14632 14632 0 0.0
.flash.rodata 214080 214080 0 0.0
.flash.text 1013700 1013728 28 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1068163 1068179 16 0.0
(read/write) 485640 485640 0 0.0
.dram0.bss 74920 74920 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 244580 244580 0 0.0
.flash.text 1062779 1062795 16 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 659604 659620 16 0.0
.bss 68764 68764 0 0.0
.data 1992 1992 0 0.0
.text 583048 583064 16 0.0
lock k32w061+release (read/write) 722132 722164 32 0.0
.bss 69204 69204 0 0.0
.data 2000 2000 0 0.0
.text 645128 645160 32 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9886844 9886892 48 0.0
(read/write) 674209 674209 0 0.0
.bss 42641 42641 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 613208 613208 0 0.0
.dynamic 528 528 0 0.0
.got 13400 13400 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 473180 473180 0 0.0
.text 7877284 7877332 48 0.0
thermostat-no-ble arm64 (read only) 2575988 2576036 48 0.0
(read/write) 180577 180577 0 0.0
.bss 87889 87889 0 0.0
.data 1688 1688 0 0.0
.data.rel.ro 82928 82928 0 0.0
.dynamic 528 528 0 0.0
.got 5056 5056 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 164196 164196 0 0.0
.text 2172720 2172768 48 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2439048 2439112 64 0.0
.bss 208212 208212 0 0.0
.data 5864 5864 0 0.0
.text 1401692 1401756 64 0.0
p6 all-clusters-app default (read/write) 2555392 2555456 64 0.0
.bss 143392 143392 0 0.0
.data 2776 2776 0 0.0
.text 1513656 1513720 64 0.0
all-clusters-minimal-app default (read/write) 2501240 2501304 64 0.0
.bss 142672 142672 0 0.0
.data 2776 2776 0 0.0
.text 1459504 1459568 64 0.0
light-app default (read/write) 2432000 2432064 64 0.0
.bss 134752 134752 0 0.0
.data 2592 2592 0 0.0
.text 1390264 1390328 64 0.0
lock-app default (read/write) 2452688 2452752 64 0.0
.bss 134576 134576 0 0.0
.data 2600 2600 0 0.0
.text 1410952 1411016 64 0.0
telink light-switch-app tlsr9518adk80d (read/write) 790472 790496 24 0.0
bss 69900 69900 0 0.0
noinit 40416 40416 0 0.0
text 560392 560414 22 0.0
lighting-app tlsr9518adk80d (read/write) 810184 810208 24 0.0
bss 70148 70148 0 0.0
noinit 40416 40416 0 0.0
text 576852 576876 24 0.0

We need to allow messages on inactive sessions to reach the exchange manager,
because such sessions need to be able to deliver an MRP ack to an exchange
waiting for one.

We also don't want to crash on an attempt to transition from Inactive to Defunct
state; the transition should just be ignored.  This way if we start trying to
transitionin to Defunct on MRP delivery failures we will not start crashing if
such a failure happens on an Inactive session.
@github-actions
Copy link

github-actions bot commented Jun 21, 2022

PR #19780: Size comparison from 39073b3 to 4eb7793

Increases (36 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 39073b3 4eb7793 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 660127 660191 64 0.0
.rodata 87239 87255 16 0.0
.text 572576 572624 48 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648947 649091 144 0.0
.rodata 90771 90859 88 0.1
.text 557856 557912 56 0.0
lock-ftd LP_CC2652R7 (read only) 691511 691655 144 0.0
.rodata 99527 99615 88 0.1
.text 591500 591556 56 0.0
lock-mtd LP_CC2652R7 (read only) 640919 641071 152 0.0
.rodata 99407 99503 96 0.1
.text 541020 541076 56 0.0
pump-app LP_CC2652R7 (read only) 672799 672943 144 0.0
.rodata 87903 87999 96 0.1
.text 584412 584460 48 0.0
pump-controller-app LP_CC2652R7 (read only) 658675 658827 152 0.0
.rodata 83747 83843 96 0.1
.text 574448 574504 56 0.0
shell LP_CC2652R7 (read only) 689870 690006 136 0.0
.rodata 110022 110110 88 0.1
.text 579536 579584 48 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 613246 613278 32 0.0
.app_xip_area 469896 469928 32 0.0
lock cyw930739m2evb_01 (read/write) 610602 610634 32 0.0
.app_xip_area 467076 467108 32 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 617134 617182 48 0.0
.app_xip_area 474672 474720 48 0.0
esp32 all-clusters-app c3devkit (read only) 1013698 1013770 72 0.0
(read/write) 1483554 1483650 96 0.0
.flash.rodata 214080 214176 96 0.0
.flash.text 1013698 1013770 72 0.0
m5stack (read only) 1068163 1068211 48 0.0
(read/write) 485640 485720 80 0.0
.flash.rodata 244580 244660 80 0.0
.flash.text 1062779 1062827 48 0.0
k32w light k32w061+release (read/write) 659604 659660 56 0.0
.text 583048 583104 56 0.0
lock k32w061+release (read/write) 722132 722292 160 0.0
.text 645128 645288 160 0.0
linux all-clusters-app debug (read only) 2936105 2936505 400 0.0
.rodata 261149 261309 160 0.1
.text 2498514 2498754 240 0.0
all-clusters-minimal-app debug (read only) 2789817 2790217 400 0.0
.rodata 262685 262845 160 0.1
.text 2352866 2353106 240 0.0
bridge-app debug+rpc (read only) 2292513 2292897 384 0.0
.rodata 195936 196096 160 0.1
.text 1935394 1935618 224 0.0
chip-tool debug (read only) 10147117 10147549 432 0.0
.rodata 510389 510581 192 0.0
.text 8230997 8231237 240 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9886988 9887244 256 0.0
.rodata 473180 473276 96 0.0
.text 7877380 7877540 160 0.0
lighting-app debug+rpc (read only) 2525209 2525641 432 0.0
.rodata 211688 211880 192 0.1
.text 2143730 2143970 240 0.0
lock-app debug (read only) 2463905 2464305 400 0.0
.rodata 225384 225544 160 0.1
.text 2074130 2074370 240 0.0
ota-provider-app debug (read only) 2301857 2302257 400 0.0
.rodata 201624 201784 160 0.1
.text 1937986 1938226 240 0.0
ota-requestor-app debug (read only) 2417665 2418049 384 0.0
.rodata 205280 205440 160 0.1
.text 2041906 2042130 224 0.0
shell debug (read only) 2609921 2610321 400 0.0
.rodata 231378 231538 160 0.1
.text 2218786 2219026 240 0.0
thermostat-no-ble arm64 (read only) 2575988 2576244 256 0.0
.rodata 164196 164276 80 0.0
.text 2172720 2172896 176 0.0
tv-app debug (read only) 3073777 3074177 400 0.0
.rodata 247296 247456 160 0.1
.text 2639618 2639858 240 0.0
tv-casting-app debug (read only) 5539297 5539697 400 0.0
.rodata 341257 341417 160 0.0
.text 4921810 4922050 240 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2439048 2439200 152 0.0
.text 1401692 1401844 152 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1199927 1200067 140 0.0
rodata 156312 156404 92 0.1
text 823096 823144 48 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1147887 1148027 140 0.0
rodata 132840 132932 92 0.1
text 795316 795364 48 0.0
p6 all-clusters-app default (read/write) 2555392 2555600 208 0.0
.text 1513656 1513864 208 0.0
all-clusters-minimal-app default (read/write) 2501240 2501448 208 0.0
.text 1459504 1459712 208 0.0
light-app default (read/write) 2432000 2432208 208 0.0
.text 1390264 1390472 208 0.0
lock-app default (read/write) 2452688 2452896 208 0.0
.text 1410952 1411160 208 0.0
telink light-switch-app tlsr9518adk80d (read/write) 790472 790624 152 0.0
text 560392 560444 52 0.0
lighting-app tlsr9518adk80d (read/write) 810184 810328 144 0.0
text 576852 576904 52 0.0
Decreases (5 builds for cc13x2_26x2)
platform target config section 39073b3 4eb7793 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 190744 190680 -64 -0.0
lock-ftd LP_CC2652R7 (read/write) 149472 149328 -144 -0.1
pump-app LP_CC2652R7 (read/write) 169072 168928 -144 -0.1
pump-controller-app LP_CC2652R7 (read/write) 183308 183156 -152 -0.1
shell LP_CC2652R7 (read/write) 156496 156360 -136 -0.1
Full report (36 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 39073b3 4eb7793 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 660127 660191 64 0.0
(read/write) 190744 190680 -64 -0.0
.bss 73764 73764 0 0.0
.data 3356 3356 0 0.0
.rodata 87239 87255 16 0.0
.text 572576 572624 48 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 648947 649091 144 0.0
(read/write) 157324 157324 0 0.0
.bss 73052 73052 0 0.0
.data 3356 3356 0 0.0
.rodata 90771 90859 88 0.1
.text 557856 557912 56 0.0
lock-ftd LP_CC2652R7 (read only) 691511 691655 144 0.0
(read/write) 149472 149328 -144 -0.1
.bss 70764 70764 0 0.0
.data 3280 3280 0 0.0
.rodata 99527 99615 88 0.1
.text 591500 591556 56 0.0
lock-mtd LP_CC2652R7 (read only) 640919 641071 152 0.0
(read/write) 143896 143896 0 0.0
.bss 66500 66500 0 0.0
.data 3280 3280 0 0.0
.rodata 99407 99503 96 0.1
.text 541020 541076 56 0.0
pump-app LP_CC2652R7 (read only) 672799 672943 144 0.0
(read/write) 169072 168928 -144 -0.1
.bss 70884 70884 0 0.0
.data 3280 3280 0 0.0
.rodata 87903 87999 96 0.1
.text 584412 584460 48 0.0
pump-controller-app LP_CC2652R7 (read only) 658675 658827 152 0.0
(read/write) 183308 183156 -152 -0.1
.bss 70996 70996 0 0.0
.data 3276 3276 0 0.0
.rodata 83747 83843 96 0.1
.text 574448 574504 56 0.0
shell LP_CC2652R7 (read only) 689870 690006 136 0.0
(read/write) 156496 156360 -136 -0.1
.bss 76060 76060 0 0.0
.data 3360 3360 0 0.0
.rodata 110022 110110 88 0.1
.text 579536 579584 48 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 613246 613278 32 0.0
.app_xip_area 469896 469928 32 0.0
.bss 86304 86304 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 610602 610634 32 0.0
.app_xip_area 467076 467108 32 0.0
.bss 86480 86480 0 0.0
.data 732 732 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 617134 617182 48 0.0
.app_xip_area 474672 474720 48 0.0
.bss 85472 85472 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
esp32 all-clusters-app c3devkit (read only) 1013698 1013770 72 0.0
(read/write) 1483554 1483650 96 0.0
.dram0.bss 69400 69400 0 0.0
.dram0.data 14632 14632 0 0.0
.flash.rodata 214080 214176 96 0.0
.flash.text 1013698 1013770 72 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1068163 1068211 48 0.0
(read/write) 485640 485720 80 0.0
.dram0.bss 74920 74920 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 244580 244660 80 0.0
.flash.text 1062779 1062827 48 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 659604 659660 56 0.0
.bss 68764 68764 0 0.0
.data 1992 1992 0 0.0
.text 583048 583104 56 0.0
lock k32w061+release (read/write) 722132 722292 160 0.0
.bss 69204 69204 0 0.0
.data 2000 2000 0 0.0
.text 645128 645288 160 0.0
linux all-clusters-app debug (read only) 2936105 2936505 400 0.0
(read/write) 177072 177072 0 0.0
.bss 84160 84160 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 84664 84664 0 0.0
.dynamic 608 608 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 261149 261309 160 0.1
.text 2498514 2498754 240 0.0
all-clusters-minimal-app debug (read only) 2789817 2790217 400 0.0
(read/write) 168976 168976 0 0.0
.bss 83488 83488 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 77304 77304 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 262685 262845 160 0.1
.text 2352866 2353106 240 0.0
bridge-app debug+rpc (read only) 2292513 2292897 384 0.0
(read/write) 147840 147840 0 0.0
.bss 71552 71552 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 66728 66728 0 0.0
.dynamic 608 608 0 0.0
.got 4400 4400 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 195936 196096 160 0.1
.text 1935394 1935618 224 0.0
chip-tool debug (read only) 10147117 10147549 432 0.0
(read/write) 609544 609544 0 0.0
.bss 24352 24352 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 577808 577808 0 0.0
.dynamic 624 624 0 0.0
.got 5008 5008 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 510389 510581 192 0.0
.text 8230997 8231237 240 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9886988 9887244 256 0.0
(read/write) 674225 674225 0 0.0
.bss 42641 42641 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 613208 613208 0 0.0
.dynamic 528 528 0 0.0
.got 13416 13416 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 473180 473276 96 0.0
.text 7877380 7877540 160 0.0
lighting-app debug+rpc (read only) 2525209 2525641 432 0.0
(read/write) 151896 151896 0 0.0
.bss 72032 72032 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 71896 71896 0 0.0
.dynamic 608 608 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 211688 211880 192 0.1
.text 2143730 2143970 240 0.0
lock-app debug (read only) 2463905 2464305 400 0.0
(read/write) 146544 146544 0 0.0
.bss 70432 70432 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 68568 68568 0 0.0
.dynamic 608 608 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 225384 225544 160 0.1
.text 2074130 2074370 240 0.0
ota-provider-app debug (read only) 2301857 2302257 400 0.0
(read/write) 140680 140680 0 0.0
.bss 70112 70112 0 0.0
.data 1912 1912 0 0.0
.data.rel.ro 62840 62840 0 0.0
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 201624 201784 160 0.1
.text 1937986 1938226 240 0.0
ota-requestor-app debug (read only) 2417665 2418049 384 0.0
(read/write) 147392 147392 0 0.0
.bss 72416 72416 0 0.0
.data 2200 2200 0 0.0
.data.rel.ro 66936 66936 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 205280 205440 160 0.1
.text 2041906 2042130 224 0.0
shell debug (read only) 2609921 2610321 400 0.0
(read/write) 196088 196088 0 0.0
.bss 111304 111304 0 0.0
.data 1232 1232 0 0.0
.data.rel.ro 77808 77808 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 231378 231538 160 0.1
.text 2218786 2219026 240 0.0
thermostat-no-ble arm64 (read only) 2575988 2576244 256 0.0
(read/write) 180577 180577 0 0.0
.bss 87889 87889 0 0.0
.data 1688 1688 0 0.0
.data.rel.ro 82928 82928 0 0.0
.dynamic 528 528 0 0.0
.got 5056 5056 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 164196 164276 80 0.0
.text 2172720 2172896 176 0.0
tv-app debug (read only) 3073777 3074177 400 0.0
(read/write) 277768 277768 0 0.0
.bss 187656 187656 0 0.0
.data 4656 4656 0 0.0
.data.rel.ro 79016 79016 0 0.0
.dynamic 608 608 0 0.0
.got 4840 4840 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 247296 247456 160 0.1
.text 2639618 2639858 240 0.0
tv-casting-app debug (read only) 5539297 5539697 400 0.0
(read/write) 184080 184080 0 0.0
.bss 72840 72840 0 0.0
.data 2448 2448 0 0.0
.data.rel.ro 102576 102576 0 0.0
.dynamic 608 608 0 0.0
.got 4712 4712 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 341257 341417 160 0.0
.text 4921810 4922050 240 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2439048 2439200 152 0.0
.bss 208212 208212 0 0.0
.data 5864 5864 0 0.0
.text 1401692 1401844 152 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1199927 1200067 140 0.0
bss 141606 141606 0 0.0
rodata 156312 156404 92 0.1
text 823096 823144 48 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1147887 1148027 140 0.0
bss 140858 140858 0 0.0
rodata 132840 132932 92 0.1
text 795316 795364 48 0.0
p6 all-clusters-app default (read/write) 2555392 2555600 208 0.0
.bss 143392 143392 0 0.0
.data 2776 2776 0 0.0
.text 1513656 1513864 208 0.0
all-clusters-minimal-app default (read/write) 2501240 2501448 208 0.0
.bss 142672 142672 0 0.0
.data 2776 2776 0 0.0
.text 1459504 1459712 208 0.0
light-app default (read/write) 2432000 2432208 208 0.0
.bss 134752 134752 0 0.0
.data 2592 2592 0 0.0
.text 1390264 1390472 208 0.0
lock-app default (read/write) 2452688 2452896 208 0.0
.bss 134576 134576 0 0.0
.data 2600 2600 0 0.0
.text 1410952 1411160 208 0.0
telink light-switch-app tlsr9518adk80d (read/write) 790472 790624 152 0.0
bss 69900 69900 0 0.0
noinit 40416 40416 0 0.0
text 560392 560444 52 0.0
lighting-app tlsr9518adk80d (read/write) 810184 810328 144 0.0
bss 70148 70148 0 0.0
noinit 40416 40416 0 0.0
text 576852 576904 52 0.0

src/messaging/ExchangeContext.cpp Show resolved Hide resolved
src/transport/SecureSession.cpp Outdated Show resolved Hide resolved
src/transport/SessionManager.cpp Outdated Show resolved Hide resolved
@mrjerryjohns
Copy link
Contributor

As per our discussions, will wait till the PR gets updated to the pinning approach outlined here, with revisions.

@woody-apple woody-apple merged commit 03de700 into project-chip:master Jun 22, 2022
@bzbarsky-apple bzbarsky-apple deleted the fix-crash-aborting branch June 22, 2022 23:34
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.

Use-after-free when aborting already-closed exchange
5 participants