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

Improve logic for deciding whether to re-establish CASE in ReadClient. #23627

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

We could end up in a situation where we had a defunct session but did not have the "try to re-establish CASE" flag set. In that case we would keep trying resubscribe attempts, which would keep failing because we could not actually create an exchange on our session, and we would never recover from that.

The fix is that we try to re-establish CASE (assuming the IM engine has a CASE Session manager) if we don't have an active session.

Also fixes an incorrect error ("no memory") being reported if we in fact try to subscribe when our session is not active.

We could end up in a situation where we had a defunct session but did not have the "try to re-establish CASE" flag set.  In that case we would keep trying resubscribe attempts, which would keep failing because we could not actually create an exchange on our session, and we would never recover from that.

The fix is that we try to re-establish CASE (assuming the IM engine
has a CASE Session manager) if we don't have an active session.

Also fixes an incorrect error ("no memory") being reported if we in
fact try to subscribe when our session is not active.
@github-actions
Copy link

github-actions bot commented Nov 16, 2022

PR #23627: Size comparison from 700ee0e to ee28e16

Increases (51 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 700ee0e ee28e16 change % change
bl602 lighting-app bl602 (read/write) 1375258 1375362 104 0.0
.text 1059186 1059256 70 0.0
bl602+rpc (read/write) 1421074 1421186 112 0.0
.text 1090680 1090752 72 0.0
bl702 lighting-app bl702 (read/write) 1195127 1195255 128 0.0
.debug_abbrev 1523919 1523938 19 0.0
.debug_info 39161305 39161505 200 0.0
.debug_line 5271709 5271961 252 0.0
.debug_loc 3367110 3367295 185 0.0
.debug_ranges 360272 360296 24 0.0
.debug_str 3462160 3462187 27 0.0
.rodata 116488 116536 48 0.0
.text 955514 955586 72 0.0
bl702+rpc (read/write) 1283267 1283379 112 0.0
.debug_abbrev 1667931 1667950 19 0.0
.debug_info 43430527 43430728 201 0.0
.debug_line 5667078 5667330 252 0.0
.debug_loc 3561346 3561531 185 0.0
.debug_ranges 383296 383320 24 0.0
.debug_str 3859469 3859496 27 0.0
.rodata 130120 130152 32 0.0
.text 1029212 1029286 74 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 678163 678227 64 0.0
.text 588000 588064 64 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 642459 642523 64 0.0
.text 563152 563216 64 0.0
lock-ftd LP_CC2652R7 (read only) 676295 676367 72 0.0
.text 598544 598616 72 0.0
lock-mtd LP_CC2652R7 (read only) 660819 660939 120 0.0
.rodata 103307 103347 40 0.0
.text 557032 557112 80 0.0
pump-app LP_CC2652R7 (read only) 688743 688855 112 0.0
.rodata 90759 90791 32 0.0
.text 597500 597580 80 0.0
pump-controller-app LP_CC2652R7 (read only) 673027 673139 112 0.0
.rodata 86307 86339 32 0.0
.text 586240 586320 80 0.0
shell LP_CC2652R7 (read only) 669382 669446 64 0.0
.text 582468 582532 64 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 587230 587294 64 0.0
.app_xip_area 463440 463504 64 0.0
lock cyw930739m2evb_01 (read/write) 591338 591402 64 0.0
.app_xip_area 462252 462316 64 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 543714 543778 64 0.0
.app_xip_area 425444 425508 64 0.0
efr32 lighting-app BRD4161A+rpc (read/write) 974172 974284 112 0.0
.text 819724 819836 112 0.0
BRD4161A+rs911x (read/write) 1034744 1034864 120 0.0
.text 845972 846092 120 0.0
BRD4187C (read/write) 1146576 1146680 104 0.0
.text 980808 980912 104 0.0
lock-app BRD4161A+wf200 (read/write) 1160144 1160256 112 0.0
.text 999836 999948 112 0.0
window-app BRD4187C (read/write) 1139812 1139916 104 0.0
.text 972604 972708 104 0.0
esp32 all-clusters-app c3devkit (read only) 1224288 1224354 66 0.0
(read/write) 1788614 1788654 40 0.0
.flash.rodata 258184 258224 40 0.0
.flash.text 1224288 1224354 66 0.0
m5stack (read only) 1234187 1234199 12 0.0
(read/write) 564412 564452 40 0.0
.flash.rodata 315128 315168 40 0.0
.flash.text 1228803 1228815 12 0.0
k32w contact k32w0+release (read/write) 661796 661860 64 0.0
.text 563468 563532 64 0.0
light k32w0+release (read/write) 671800 671912 112 0.0
.text 592100 592212 112 0.0
lock k32w0+release (read/write) 633356 633420 64 0.0
.text 552876 552940 64 0.0
linux all-clusters-app debug (read only) 3085417 3085609 192 0.0
.rodata 280939 280971 32 0.0
.text 2620274 2620434 160 0.0
all-clusters-minimal-app debug (read only) 2911113 2911305 192 0.0
.rodata 280427 280459 32 0.0
.text 2449522 2449682 160 0.0
bridge-app debug+rpc (read only) 2410065 2410273 208 0.0
.rodata 210688 210720 32 0.0
.text 2032306 2032482 176 0.0
chip-tool debug (read only) 11079241 1107946 224 0.0
.rodata 591837 591901 64 0.0
.text 8963988 8964148 160 0.0
chip-tool-ipv6only arm64 (read only) 10433596 10433692 96 0.0
.rodata 518220 518268 48 0.0
.text 8260020 8260068 48 0.0
lighting-app debug+rpc (read only) 2641089 2641281 192 0.0
.rodata 227552 227584 32 0.0
.text 2237122 2237282 160 0.0
lock-app debug (read only) 2600329 2600521 192 0.0
.rodata 243848 243880 32 0.0
.text 2185058 2185218 160 0.0
ota-provider-app debug (read only) 2396497 2396689 192 0.0
.rodata 216328 216360 32 0.0
.text 2011906 2012066 160 0.0
ota-requestor-app debug (read only) 2561809 2562017 208 0.0
.rodata 223408 223440 32 0.0
.text 2161042 2161218 176 0.0
shell debug (read only) 2621521 2621745 224 0.0
.rodata 239250 239314 64 0.0
.text 2223042 2223202 160 0.0
thermostat-no-ble arm64 (read only) 2392812 2392908 96 0.0
.rodata 144788 144820 32 0.0
.text 2004560 2004624 64 0.0
tv-app debug (read only) 3254881 3255073 192 0.0
.rodata 268216 268248 32 0.0
.text 2792962 2793122 160 0.0
tv-casting-app debug (read only) 5580961 5581153 192 0.0
.rodata 355001 355033 32 0.0
.text 4950578 4950738 160 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2452336 2452344 8 0.0
.text 1414980 1414988 8 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1187855 1187975 120 0.0
rodata 144516 144556 40 0.0
text 816982 817062 80 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1167283 1167387 104 0.0
rodata 136304 136344 40 0.0
text 805532 805608 76 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1746244 1746348 104 0.0
.debug_abbrev 1235716 1235735 19 0.0
.debug_info 27023893 27024243 350 0.0
.debug_line 3685941 3686161 220 0.0
.debug_loc 3603774 3604064 290 0.0
.debug_ranges 339544 339648 104 0.0
.debug_str 3431051 3431078 27 0.0
.text 1546480 1546584 104 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read/write) 1688780 1688900 120 0.0
.debug_abbrev 1227559 1227578 19 0.0
.debug_info 26760522 26760872 350 0.0
.debug_line 3706925 3707145 220 0.0
.debug_loc 3591380 3591670 290 0.0
.debug_ranges 338160 338264 104 0.0
.debug_str 3420071 3420098 27 0.0
.text 1489752 1489872 120 0.0
light cy8ckit_062s2_43012 (read/write) 1606956 1607060 104 0.0
.debug_abbrev 1062020 1062039 19 0.0
.debug_info 22225722 22226071 349 0.0
.debug_line 3276050 3276270 220 0.0
.debug_loc 3288865 3289155 290 0.0
.debug_ranges 303440 303544 104 0.0
.debug_str 3225606 3225633 27 0.0
.text 1416112 1416216 104 0.0
lock cy8ckit_062s2_43012 (read/write) 1640964 1641068 104 0.0
.debug_abbrev 1063995 1064014 19 0.0
.debug_info 22459347 22459698 351 0.0
.debug_line 3273170 3273390 220 0.0
.debug_loc 3316718 3317008 290 0.0
.debug_ranges 305400 305504 104 0.0
.debug_str 3244977 3245004 27 0.0
.text 1445128 1445232 104 0.0
qpg lighting-app qpg6105+debug (read/write) 1149312 1149424 112 0.0
.text 596412 596524 112 0.0
lock-app qpg6105+debug (read/write) 1115060 1115172 112 0.0
.text 562156 562268 112 0.0
telink all-clusters-app tlsr9518adk80d (read/write) 937352 937448 96 0.0
text 648702 648762 60 0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 875344 875448 104 0.0
text 612688 612750 62 0.0
light-switch-app tlsr9518adk80d (read/write) 790692 790796 104 0.0
text 554148 554210 62 0.0
lighting-app tlsr9518adk80d (read/write) 874924 875020 96 0.0
text 624114 624172 58 0.0
ota-requestor-app tlsr9518adk80d (read/write) 805192 805288 96 0.0
text 565530 565590 60 0.0
Decreases (6 builds for cc13x2_26x2)
platform target config section 700ee0e ee28e16 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 173372 173308 -64 -0.0
lock-ftd LP_CC2652R7 (read/write) 172808 172736 -72 -0.0
lock-mtd LP_CC2652R7 (read/write) 183540 183420 -120 -0.1
pump-app LP_CC2652R7 (read/write) 161096 160984 -112 -0.1
pump-controller-app LP_CC2652R7 (read/write) 176908 176796 -112 -0.1
shell LP_CC2652R7 (read/write) 184472 184408 -64 -0.0
Full report (51 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 700ee0e ee28e16 change % change
bl602 lighting-app bl602 (read/write) 1375258 1375362 104 0.0
.bss 90041 90041 0 0.0
.data 9984 9984 0 0.0
.text 1059186 1059256 70 0.0
bl602+rpc (read/write) 1421074 1421186 112 0.0
.bss 98081 98081 0 0.0
.data 10376 10376 0 0.0
.text 1090680 1090752 72 0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1195127 1195255 128 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67166 67166 0 0.0
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4048 0 0.0
.debug_abbrev 1523919 1523938 19 0.0
.debug_aranges 132304 132304 0 0.0
.debug_frame 485212 485212 0 0.0
.debug_info 39161305 39161505 200 0.0
.debug_line 5271709 5271961 252 0.0
.debug_loc 3367110 3367295 185 0.0
.debug_ranges 360272 360296 24 0.0
.debug_str 3462160 3462187 27 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 116488 116536 48 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 566531 566531 0 0.0
.symtab 171808 171808 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
955514 955586 72 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1283267 1283379 112 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75214 75214 0 0.0
.bss_psram 30320 30320 0 0.0
.comment 48 48 0 0.0
.data 4576 4576 0 0.0
.debug_abbrev 1667931 1667950 19 0.0
.debug_aranges 140368 140368 0 0.0
.debug_frame 512416 512416 0 0.0
.debug_info 43430527 43430728 201 0.0
.debug_line 5667078 5667330 252 0.0
.debug_loc 3561346 3561531 185 0.0
.debug_ranges 383296 383320 24 0.0
.debug_str 3859469 3859496 27 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 130120 130152 32 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 626746 626746 0 0.0
.symtab 189920 189920 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1029212 1029286 74 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 678163 678227 64 0.0
(read/write) 173372 173308 -64 -0.0
.bss 81228 81228 0 0.0
.data 3380 3380 0 0.0
.rodata 89851 89851 0 0.0
.text 588000 588064 64 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 642459 642523 64 0.0
(read/write) 157996 157996 0 0.0
.bss 80500 80500 0 0.0
.data 3380 3380 0 0.0
.rodata 78987 78987 0 0.0
.text 563152 563216 64 0.0
lock-ftd LP_CC2652R7 (read only) 676295 676367 72 0.0
(read/write) 172808 172736 -72 -0.0
.bss 78884 78884 0 0.0
.data 3304 3304 0 0.0
.rodata 77271 77271 0 0.0
.text 598544 598616 72 0.0
lock-mtd LP_CC2652R7 (read only) 660819 660939 120 0.0
(read/write) 183540 183420 -120 -0.1
.bss 74140 74140 0 0.0
.data 3304 3304 0 0.0
.rodata 103307 103347 40 0.0
.text 557032 557112 80 0.0
pump-app LP_CC2652R7 (read only) 688743 688855 112 0.0
(read/write) 161096 160984 -112 -0.1
.bss 78852 78852 0 0.0
.data 3296 3296 0 0.0
.rodata 90759 90791 32 0.0
.text 597500 597580 80 0.0
pump-controller-app LP_CC2652R7 (read only) 673027 673139 112 0.0
(read/write) 176908 176796 -112 -0.1
.bss 78948 78948 0 0.0
.data 3292 3292 0 0.0
.rodata 86307 86339 32 0.0
.text 586240 586320 80 0.0
shell LP_CC2652R7 (read only) 669382 669446 64 0.0
(read/write) 184472 184408 -64 -0.0
.bss 83548 83548 0 0.0
.data 3376 3376 0 0.0
.rodata 86598 86598 0 0.0
.text 582468 582532 64 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 587230 587294 64 0.0
.app_xip_area 463440 463504 64 0.0
.bss 66208 66208 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) 591338 591402 64 0.0
.app_xip_area 462252 462316 64 0.0
.bss 71496 71496 0 0.0
.data 736 736 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 543714 543778 64 0.0
.app_xip_area 425444 425508 64 0.0
.bss 60736 60736 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rpc (read/write) 974172 974284 112 0.0
.bss 152260 152260 0 0.0
.data 2168 2168 0 0.0
.text 819724 819836 112 0.0
BRD4161A+rs911x (read/write) 1034744 1034864 120 0.0
.bss 186736 186736 0 0.0
.data 2012 2012 0 0.0
.text 845972 846092 120 0.0
BRD4187C (read/write) 1146576 1146680 104 0.0
.bss 138656 138656 0 0.0
.data 2516 2516 0 0.0
.text 980808 980912 104 0.0
lock-app BRD4161A+wf200 (read/write) 1160144 1160256 112 0.0
.bss 158264 158264 0 0.0
.data 2020 2020 0 0.0
.text 999836 999948 112 0.0
window-app BRD4187C (read/write) 1139812 1139916 104 0.0
.bss 140072 140072 0 0.0
.data 2540 2540 0 0.0
.text 972604 972708 104 0.0
esp32 all-clusters-app c3devkit (read only) 1224288 1224354 66 0.0
(read/write) 1788614 1788654 40 0.0
.dram0.bss 76944 76944 0 0.0
.dram0.data 13840 13840 0 0.0
.flash.rodata 258184 258224 40 0.0
.flash.text 1224288 1224354 66 0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1234187 1234199 12 0.0
(read/write) 564412 564452 40 0.0
.dram0.bss 82320 82320 0 0.0
.dram0.data 34296 34296 0 0.0
.flash.rodata 315128 315168 40 0.0
.flash.text 1228803 1228815 12 0.0
.iram0.text 123939 123939 0 0.0
k32w contact k32w0+release (read/write) 661796 661860 64 0.0
.bss 77112 77112 0 0.0
.data 2104 2104 0 0.0
.text 563468 563532 64 0.0
light k32w0+release (read/write) 671800 671912 112 0.0
.bss 74912 74912 0 0.0
.data 2060 2060 0 0.0
.text 592100 592212 112 0.0
lock k32w0+release (read/write) 633356 633420 64 0.0
.bss 75672 75672 0 0.0
.data 2080 2080 0 0.0
.text 552876 552940 64 0.0
linux all-clusters-app debug (read only) 3085417 3085609 192 0.0
(read/write) 158312 158312 0 0.0
.bss 62464 62464 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 86984 86984 0 0.0
.dynamic 608 608 0 0.0
.got 4768 4768 0 0.0
.init 27 27 0 0.0
.init_array 1184 1184 0 0.0
.rodata 280939 280971 32 0.0
.text 2620274 2620434 160 0.0
all-clusters-minimal-app debug (read only) 2911113 2911305 192 0.0
(read/write) 149712 149712 0 0.0
.bss 61664 61664 0 0.0
.data 2240 2240 0 0.0
.data.rel.ro 79352 79352 0 0.0
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 280427 280459 32 0.0
.text 2449522 2449682 160 0.0
bridge-app debug+rpc (read only) 2410065 2410273 208 0.0
(read/write) 129448 129448 0 0.0
.bss 51008 51008 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 68616 68616 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 210688 210720 32 0.0
.text 2032306 2032482 176 0.0
chip-tool debug (read only) 11079241 1107946 224 0.0
(read/write) 658304 658304 0 0.0
.bss 25912 25912 0 0.0
.data 2754 2754 0 0.0
.data.rel.ro 623040 623040 0 0.0
.dynamic 608 608 0 0.0
.got 5184 5184 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 591837 591901 64 0.0
.text 8963988 8964148 160 0.0
chip-tool-ipv6only arm64 (read only) 10433596 10433692 96 0.0
(read/write) 706353 706353 0 0.0
.bss 33905 33905 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 650672 650672 0 0.0
.dynamic 560 560 0 0.0
.got 13912 13912 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 518220 518268 48 0.0
.text 8260020 8260068 48 0.0
lighting-app debug+rpc (read only) 2641089 2641281 192 0.0
(read/write) 132296 132296 0 0.0
.bss 49984 49984 0 0.0
.data 2288 2288 0 0.0
.data.rel.ro 73832 73832 0 0.0
.dynamic 608 608 0 0.0
.got 4632 4632 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 227552 227584 32 0.0
.text 2237122 2237282 160 0.0
lock-app debug (read only) 2600329 2600521 192 0.0
(read/write) 127216 127216 0 0.0
.bss 48416 48416 0 0.0
.data 1904 1904 0 0.0
.data.rel.ro 70680 70680 0 0.0
.dynamic 608 608 0 0.0
.got 4664 4664 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 243848 243880 32 0.0
.text 2185058 2185218 160 0.0
ota-provider-app debug (read only) 2396497 2396689 192 0.0
(read/write) 120744 120744 0 0.0
.bss 47936 47936 0 0.0
.data 2128 2128 0 0.0
.data.rel.ro 64600 64600 0 0.0
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 216328 216360 32 0.0
.text 2011906 2012066 160 0.0
ota-requestor-app debug (read only) 2561809 2562017 208 0.0
(read/write) 129088 129088 0 0.0
.bss 50464 50464 0 0.0
.data 2496 2496 0 0.0
.data.rel.ro 69960 69960 0 0.0
.dynamic 608 608 0 0.0
.got 4672 4672 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 223408 223440 32 0.0
.text 2161042 2161218 176 0.0
shell debug (read only) 2621521 2621745 224 0.0
(read/write) 142808 142808 0 0.0
.bss 57864 57864 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77880 77880 0 0.0
.dynamic 608 608 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 239250 239314 64 0.0
.text 2223042 2223202 160 0.0
thermostat-no-ble arm64 (read only) 2392812 2392908 96 0.0
(read/write) 143489 143489 0 0.0
.bss 55329 55329 0 0.0
.data 1816 1816 0 0.0
.data.rel.ro 77096 77096 0 0.0
.dynamic 560 560 0 0.0
.got 5176 5176 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 144788 144820 32 0.0
.text 2004560 2004624 64 0.0
tv-app debug (read only) 3254881 3255073 192 0.0
(read/write) 261832 261832 0 0.0
.bss 170648 170648 0 0.0
.data 4256 4256 0 0.0
.data.rel.ro 80224 80224 0 0.0
.dynamic 608 608 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 1064 1064 0 0.0
.rodata 268216 268248 32 0.0
.text 2792962 2793122 160 0.0
tv-casting-app debug (read only) 5580961 5581153 192 0.0
(read/write) 161720 161720 0 0.0
.bss 52120 52120 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 101056 101056 0 0.0
.dynamic 608 608 0 0.0
.got 4912 4912 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 355001 355033 32 0.0
.text 4950578 4950738 160 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2452336 2452344 8 0.0
.bss 215012 215012 0 0.0
.data 5872 5872 0 0.0
.text 1414980 1414988 8 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1187855 1187975 120 0.0
bss 145285 145285 0 0.0
rodata 144516 144556 40 0.0
text 816982 817062 80 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1167283 1167387 104 0.0
bss 144512 144512 0 0.0
rodata 136304 136344 40 0.0
text 805532 805608 76 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841968 841968 0 0.0
(read/write) 1746244 1746348 104 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188712 188712 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 1235716 1235735 19 0.0
.debug_aranges 110704 110704 0 0.0
.debug_frame 371284 371284 0 0.0
.debug_info 27023893 27024243 350 0.0
.debug_line 3685941 3686161 220 0.0
.debug_loc 3603774 3604064 290 0.0
.debug_ranges 339544 339648 104 0.0
.debug_str 3431051 3431078 27 0.0
.heap 841968 841968 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 570257 570257 0 0.0
.symtab 421440 421440 0 0.0
.text 1546480 1546584 104 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842704 842704 0 0.0
(read/write) 1688780 1688900 120 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 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 1227559 1227578 19 0.0
.debug_aranges 110176 110176 0 0.0
.debug_frame 374364 374364 0 0.0
.debug_info 26760522 26760872 350 0.0
.debug_line 3706925 3707145 220 0.0
.debug_loc 3591380 3591670 290 0.0
.debug_ranges 338160 338264 104 0.0
.debug_str 3420071 3420098 27 0.0
.heap 842704 842704 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 534346 534346 0 0.0
.symtab 407872 407872 0 0.0
.text 1489752 1489872 120 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850888 850888 0 0.0
(read/write) 1606956 1607060 104 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 180000 180000 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 1062020 1062039 19 0.0
.debug_aranges 102376 102376 0 0.0
.debug_frame 344676 344676 0 0.0
.debug_info 22225722 22226071 349 0.0
.debug_line 3276050 3276270 220 0.0
.debug_loc 3288865 3289155 290 0.0
.debug_ranges 303440 303544 104 0.0
.debug_str 3225606 3225633 27 0.0
.heap 850888 850888 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 470671 470671 0 0.0
.symtab 376240 376240 0 0.0
.text 1416112 1416216 104 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) 1640964 1641068 104 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 1063995 1064014 19 0.0
.debug_aranges 102776 102776 0 0.0
.debug_frame 346552 346552 0 0.0
.debug_info 22459347 22459698 351 0.0
.debug_line 3273170 3273390 220 0.0
.debug_loc 3316718 3317008 290 0.0
.debug_ranges 305400 305504 104 0.0
.debug_str 3244977 3245004 27 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 473074 473074 0 0.0
.symtab 377936 377936 0 0.0
.text 1445128 1445232 104 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1149312 1149424 112 0.0
.bss 109860 109860 0 0.0
.data 848 848 0 0.0
.text 596412 596524 112 0.0
lock-app qpg6105+debug (read/write) 1115060 1115172 112 0.0
.bss 106332 106332 0 0.0
.data 836 836 0 0.0
.text 562156 562268 112 0.0
telink all-clusters-app tlsr9518adk80d (read/write) 937352 937448 96 0.0
bss 81620 81620 0 0.0
noinit 43440 43440 0 0.0
text 648702 648762 60 0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 875344 875448 104 0.0
bss 80844 80844 0 0.0
noinit 43440 43440 0 0.0
text 612688 612750 62 0.0
light-switch-app tlsr9518adk80d (read/write) 790692 790796 104 0.0
bss 72468 72468 0 0.0
noinit 43520 43520 0 0.0
text 554148 554210 62 0.0
lighting-app tlsr9518adk80d (read/write) 874924 875020 96 0.0
bss 82232 82232 0 0.0
noinit 43520 43520 0 0.0
text 624114 624172 58 0.0
ota-requestor-app tlsr9518adk80d (read/write) 805192 805288 96 0.0
bss 74040 74040 0 0.0
noinit 43520 43520 0 0.0
text 565530 565590 60 0.0

src/app/ReadClient.cpp Outdated Show resolved Hide resolved
@pullapprove pullapprove bot requested review from mlepage-google and removed request for kghost November 16, 2022 15:57
@msandstedt msandstedt self-requested a review November 17, 2022 01:10
@bzbarsky-apple bzbarsky-apple merged commit 80f7dcd into project-chip:master Nov 17, 2022
@bzbarsky-apple bzbarsky-apple deleted the better-case-in-readclient branch November 17, 2022 14:21
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
project-chip#23627)

* Improve logic for deciding whether to re-establish CASE in ReadClient.

We could end up in a situation where we had a defunct session but did not have the "try to re-establish CASE" flag set.  In that case we would keep trying resubscribe attempts, which would keep failing because we could not actually create an exchange on our session, and we would never recover from that.

The fix is that we try to re-establish CASE (assuming the IM engine
has a CASE Session manager) if we don't have an active session.

Also fixes an incorrect error ("no memory") being reported if we in
fact try to subscribe when our session is not active.

* Address review comments.
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
project-chip#23627)

* Improve logic for deciding whether to re-establish CASE in ReadClient.

We could end up in a situation where we had a defunct session but did not have the "try to re-establish CASE" flag set.  In that case we would keep trying resubscribe attempts, which would keep failing because we could not actually create an exchange on our session, and we would never recover from that.

The fix is that we try to re-establish CASE (assuming the IM engine
has a CASE Session manager) if we don't have an active session.

Also fixes an incorrect error ("no memory") being reported if we in
fact try to subscribe when our session is not active.

* Address review comments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants