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

[ota-requestor] Reset to Idle on failed NotifyUpdateApplied #22131

Merged
merged 1 commit into from
Aug 25, 2022

Conversation

Damian-Nordic
Copy link
Contributor

Problem

When OTA requestor tries to send NotifyUpdateApplied command and fails to establish the connection with the OTA provider, it stays in Applying state instead of switching back to Idle. As a result, it no longer queries for a new software update.

Change overview

Reset to Idle state on connection failure when trying to send NotifyUpdateApplied command.
Fixes #22129.

Testing

Moved OTA requestor initialization before Thread stack initialization and tested that when the connection to the OTA provider fails, the requestor switches back to Idle and kicks off the periodic query timer.

Reset to Idle state on connection failure when trying to
send NotifyUpdateApplied command.

Signed-off-by: Damian Krolik <[email protected]>
@github-actions
Copy link

github-actions bot commented Aug 24, 2022

PR #22131: Size comparison from 9a13892 to cf99a18

Increases (1 build for cyw30739)
platform target config section 9a13892 cf99a18 change % change
cyw30739 lock cyw930739m2evb_01 (read/write) 592338 592346 8 0.0
.app_xip_area 464212 464220 8 0.0
Decreases (11 builds for bl602, efr32, linux, psoc6, telink)
platform target config section 9a13892 cf99a18 change % change
bl602 lighting-app bl602 (read/write) 1383650 1383610 -40 -0.0
.text 1050816 1050780 -36 -0.0
bl602+rpc (read/write) 1429298 1429266 -32 -0.0
.text 1082572 1082540 -32 -0.0
efr32 lighting-app BRD4161A (read/write) 1107316 1107284 -32 -0.0
.text 968892 968860 -32 -0.0
BRD4161A+rs911x (read/write) 999928 999896 -32 -0.0
.text 828764 828732 -32 -0.0
window-app BRD4161A (read/write) 1098580 1098548 -32 -0.0
.text 958692 958660 -32 -0.0
linux ota-requestor-app debug (read only) 2523001 2522921 -80 -0.0
.text 2134258 2134178 -80 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 2664473 26644674 -62 -0.0
.debug_line 3646957 3646931 -26 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26381432 26381369 -63 -0.0
.debug_line 3667361 3667335 -26 -0.0
light cy8ckit_062s2_43012 .debug_info 21845988 21845927 -61 -0.0
.debug_line 3238540 3238514 -26 -0.0
lock cy8ckit_062s2_43012 .debug_info 22199262 22199199 -63 -0.0
.debug_line 3247103 3247077 -26 -0.0
telink lighting-app tlsr9518adk80d (read/write) 830392 830384 -8 -0.0
text 589150 589148 -2 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, telink)
platform target config section 9a13892 cf99a18 change % change
bl602 lighting-app bl602 (read/write) 1383650 1383610 -40 -0.0
.bss 120266 120266 0 0.0
.data 4480 4480 0 0.0
.text 1050816 1050780 -36 -0.0
bl602+rpc (read/write) 1429298 1429266 -32 -0.0
.bss 127706 127706 0 0.0
.data 4600 4600 0 0.0
.text 1082572 1082540 -32 -0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672835 672835 0 0.0
(read/write) 178660 178660 0 0.0
.bss 74388 74388 0 0.0
.data 3372 3372 0 0.0
.rodata 88835 88835 0 0.0
.text 583684 583684 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 637555 637555 0 0.0
(read/write) 157948 157948 0 0.0
.bss 73660 73660 0 0.0
.data 3372 3372 0 0.0
.rodata 77979 77979 0 0.0
.text 559252 559252 0 0.0
lock-ftd LP_CC2652R7 (read only) 673919 673919 0 0.0
(read/write) 167784 167784 0 0.0
.bss 71484 71484 0 0.0
.data 3296 3296 0 0.0
.rodata 76671 76671 0 0.0
.text 596768 596768 0 0.0
lock-mtd LP_CC2652R7 (read only) 656687 656687 0 0.0
(read/write) 180704 180704 0 0.0
.bss 67172 67172 0 0.0
.data 3296 3296 0 0.0
.rodata 101767 101767 0 0.0
.text 554440 554440 0 0.0
pump-app LP_CC2652R7 (read only) 684551 684551 0 0.0
(read/write) 157960 157960 0 0.0
.bss 71524 71524 0 0.0
.data 3296 3296 0 0.0
.rodata 89927 89927 0 0.0
.text 594140 594140 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669059 669059 0 0.0
(read/write) 173572 173572 0 0.0
.bss 71644 71644 0 0.0
.data 3292 3292 0 0.0
.rodata 85483 85483 0 0.0
.text 583096 583096 0 0.0
shell LP_CC2652R7 (read only) 665526 665526 0 0.0
(read/write) 181488 181488 0 0.0
.bss 76708 76708 0 0.0
.data 3376 3376 0 0.0
.rodata 85782 85782 0 0.0
.text 579428 579428 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586586 586586 0 0.0
.app_xip_area 463244 463244 0 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) 592338 592346 8 0.0
.app_xip_area 464212 464220 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) 599442 599442 0 0.0
.app_xip_area 476820 476820 0 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) 1107316 1107284 -32 -0.0
.bss 136332 136332 0 0.0
.data 2072 2072 0 0.0
.text 968892 968860 -32 -0.0
BRD4161A+rpc (read/write) 971396 971396 0 0.0
.bss 150844 150844 0 0.0
.data 2252 2252 0 0.0
.text 818276 818276 0 0.0
BRD4161A+rs911x (read/write) 999928 999896 -32 -0.0
.bss 169088 169088 0 0.0
.data 2056 2056 0 0.0
.text 828764 828732 -32 -0.0
lock-app BRD4161A+wf200 (read/write) 1149196 1149196 0 0.0
.bss 152168 152168 0 0.0
.data 2064 2064 0 0.0
.text 994944 994944 0 0.0
window-app BRD4161A (read/write) 1098580 1098548 -32 -0.0
.bss 137772 137772 0 0.0
.data 2096 2096 0 0.0
.text 958692 958660 -32 -0.0
esp32 all-clusters-app c3devkit (read only) 1031040 1031040 0 0.0
(read/write) 1489610 1489610 0 0.0
.dram0.bss 71144 71144 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 218424 218424 0 0.0
.flash.text 1031040 1031040 0 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1084175 1084175 0 0.0
(read/write) 491528 491528 0 0.0
.dram0.bss 76648 76648 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 248740 248740 0 0.0
.flash.text 1078791 1078791 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 646516 646516 0 0.0
.bss 70400 70400 0 0.0
.data 2068 2068 0 0.0
.text 571320 571320 0 0.0
lock k32w0+release (read/write) 704012 704012 0 0.0
.bss 70864 70864 0 0.0
.data 2076 2076 0 0.0
.text 628344 628344 0 0.0
linux all-clusters-app debug (read only) 3037929 3037929 0 0.0
(read/write) 156024 156024 0 0.0
.bss 61920 61920 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85624 85624 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1168 1168 0 0.0
.rodata 274635 274635 0 0.0
.text 2584146 2584146 0 0.0
all-clusters-minimal-app debug (read only) 2873793 2873793 0 0.0
(read/write) 147624 147624 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78120 78120 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1152 1152 0 0.0
.rodata 274827 274827 0 0.0
.text 2422594 2422594 0 0.0
bridge-app debug+rpc (read only) 2372313 2372313 0 0.0
(read/write) 127584 127584 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67464 67464 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 203464 203464 0 0.0
.text 2006226 2006226 0 0.0
chip-tool debug (read only) 10877025 10877025 0 0.0
(read/write) 651328 651328 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 616312 616312 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 562741 562741 0 0.0
.text 8807556 8807556 0 0.0
chip-tool-ipv6only arm64 (read only) 10259508 10259508 0 0.0
(read/write) 699169 699169 0 0.0
.bss 33297 33297 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 643848 643848 0 0.0
.dynamic 560 560 0 0.0
.got 13784 13784 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493364 493364 0 0.0
.text 8127988 8127988 0 0.0
lighting-app debug+rpc (read only) 2597257 2597257 0 0.0
(read/write) 130304 130304 0 0.0
.bss 49760 49760 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72488 72488 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 220368 220368 0 0.0
.text 2205986 2205986 0 0.0
lock-app debug (read only) 2580241 2580241 0 0.0
(read/write) 125512 125512 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69512 69512 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 237328 237328 0 0.0
.text 2176258 2176258 0 0.0
ota-provider-app debug (read only) 2357401 2357401 0 0.0
(read/write) 118976 118976 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63336 63336 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 760 760 0 0.0
.rodata 209304 209304 0 0.0
.text 1984626 1984626 0 0.0
ota-requestor-app debug (read only) 2523001 2522921 -80 -0.0
(read/write) 127384 127384 0 0.0
.bss 50368 50368 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68744 68744 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 848 848 0 0.0
.rodata 216128 216128 0 0.0
.text 2134258 2134178 -80 -0.0
shell debug (read only) 2606233 2606233 0 0.0
(read/write) 142144 142144 0 0.0
.bss 57832 57832 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77224 77224 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 234738 234738 0 0.0
.text 2213074 2213074 0 0.0
thermostat-no-ble arm64 (read only) 2356644 2356644 0 0.0
(read/write) 141825 141825 0 0.0
.bss 55345 55345 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75984 75984 0 0.0
.dynamic 560 560 0 0.0
.got 5048 5048 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 140588 140588 0 0.0
.text 1978336 1978336 0 0.0
tv-app debug (read only) 3182729 3182729 0 0.0
(read/write) 257968 257968 0 0.0
.bss 167480 167480 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79184 79184 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 259080 259080 0 0.0
.text 2733906 2733906 0 0.0
tv-casting-app debug (read only) 5503505 5503505 0 0.0
(read/write) 160464 160464 0 0.0
.bss 51480 51480 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 100120 100120 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 344273 344273 0 0.0
.text 4887618 4887618 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454312 2454312 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1416956 1416956 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180591 1180591 0 0.0
bss 143745 143745 0 0.0
rodata 143328 143328 0 0.0
text 814560 814560 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159675 1159675 0 0.0
bss 142972 142972 0 0.0
rodata 134916 134916 0 0.0
text 802968 802968 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 881000 881000 0 0.0
(read/write) 1700692 1700692 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 149688 149688 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 2656 2656 0 0.0
.debug_abbrev 1217526 1217526 0 0.0
.debug_aranges 111544 111544 0 0.0
.debug_frame 372400 372400 0 0.0
.debug_info 2664473 26644674 -62 -0.0
.debug_line 3646957 3646931 -26 -0.0
.debug_loc 3561998 3561998 0 0.0
.debug_ranges 336696 336696 0 0.0
.debug_str 3393533 3393533 0 0.0
.heap 881000 881000 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 569137 569137 0 0.0
.symtab 420320 420320 0 0.0
.text 1539960 1539960 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 881736 881736 0 0.0
(read/write) 1643884 1643884 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 148952 148952 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 2656 2656 0 0.0
.debug_abbrev 1209365 1209365 0 0.0
.debug_aranges 111016 111016 0 0.0
.debug_frame 375480 375480 0 0.0
.debug_info 26381432 26381369 -63 -0.0
.debug_line 3667361 3667335 -26 -0.0
.debug_loc 3549635 3549635 0 0.0
.debug_ranges 335312 335312 0 0.0
.debug_str 3382522 3382522 0 0.0
.heap 881736 881736 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 533611 533611 0 0.0
.symtab 406912 406912 0 0.0
.text 1483888 1483888 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 890080 890080 0 0.0
(read/write) 1561132 1561132 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 140816 140816 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 2448 2448 0 0.0
.debug_abbrev 1044038 1044038 0 0.0
.debug_aranges 103184 103184 0 0.0
.debug_frame 345724 345724 0 0.0
.debug_info 21845988 21845927 -61 -0.0
.debug_line 3238540 3238514 -26 -0.0
.debug_loc 3249150 3249150 0 0.0
.debug_ranges 301152 301152 0 0.0
.debug_str 3188616 3188616 0 0.0
.heap 890080 890080 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 466892 466892 0 0.0
.symtab 373968 373968 0 0.0
.text 1409480 1409480 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 885584 885584 0 0.0
(read/write) 1598372 1598372 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 145296 145296 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 2464 2464 0 0.0
.debug_abbrev 1051210 1051210 0 0.0
.debug_aranges 103856 103856 0 0.0
.debug_frame 348548 348548 0 0.0
.debug_info 22199262 22199199 -63 -0.0
.debug_line 3247103 3247077 -26 -0.0
.debug_loc 3289002 3289002 0 0.0
.debug_ranges 304496 304496 0 0.0
.debug_str 3216047 3216047 0 0.0
.heap 885584 885584 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 473107 473107 0 0.0
.symtab 377152 377152 0 0.0
.text 1442224 1442224 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808416 808416 0 0.0
bss 71448 71448 0 0.0
noinit 43488 43488 0 0.0
text 571024 571024 0 0.0
lighting-app tlsr9518adk80d (read/write) 830392 830384 -8 -0.0
bss 72304 72304 0 0.0
noinit 43488 43488 0 0.0
text 589150 589148 -2 -0.0

@andy31415
Copy link
Contributor

V1 review: @selissia to look at this for requirement for OTA

@selissia
Copy link
Contributor

V1 review: @selissia to look at this for requirement for OTA

This fix is needed for v1.0

@andy31415 andy31415 merged commit 2415e8d into project-chip:master Aug 25, 2022
@Damian-Nordic Damian-Nordic deleted the ota-notify-reset branch August 26, 2022 07:10
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 2022
…chip#22131)

Reset to Idle state on connection failure when trying to
send NotifyUpdateApplied command.

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

Signed-off-by: Damian Krolik <[email protected]>
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.

[ota] OTA requestor not returning to idle on connection failure when sending NotifyUpdateApplied
3 participants