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 the status codes returned from failed Read interactions. #18575

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

Fixes #18343

Problem

Status responses not following the spec.

Change overview

Fix to follow spec. Need to check path counts first, because an error there should take precedence over lack of read handlers (which is transient).

Testing

Unit tests added to exercise the various cases.

@github-actions
Copy link

github-actions bot commented May 18, 2022

PR #18575: Size comparison from f68588d to abbc1b3

Increases (15 builds for esp32, linux, telink)
platform target config section f68588d abbc1b3 change % change
esp32 all-clusters-app m5stack (read only) 1056027 1056031 4 0.0
.flash.text 1050643 1050647 4 0.0
linux all-clusters-app debug (read only) 2750985 2751193 208 0.0
.text 2333922 2334130 208 0.0
bridge-app debug+rpc (read only) 2032545 2032737 192 0.0
.text 1705474 1705666 192 0.0
chip-tool debug (read only) 9308901 9309093 192 0.0
.text 7499877 7500069 192 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9078244 9078356 112 0.0
.text 7169060 7169172 112 0.0
lighting-app debug+rpc (read only) 2327073 2327265 192 0.0
.text 1971730 1971922 192 0.0
lock-app debug (read only) 2240657 2240849 192 0.0
.text 1880962 1881154 192 0.0
ota-provider-app debug (read only) 2061289 2061481 192 0.0
.text 1723762 1723954 192 0.0
ota-requestor-app debug (read only) 2090273 2090465 192 0.0
.text 1755186 1755378 192 0.0
shell debug (read only) 2566777 2566985 208 0.0
.text 2182082 2182290 208 0.0
thermostat-no-ble arm64 (read only) 2352844 2352956 112 0.0
.text 1975680 1975792 112 0.0
tv-app debug (read only) 2852769 2852977 208 0.0
.text 2448194 2448402 208 0.0
tv-casting-app debug (read only) 5415481 5415673 192 0.0
.text 4715362 4715554 192 0.0
telink light-switch-app tlsr9518adk80d (read/write) 782680 782688 8 0.0
text 553486 553490 4 0.0
lighting-app tlsr9518adk80d text 570252 570256 4 0.0
Decreases (6 builds for cyw30739, efr32, esp32)
platform target config section f68588d abbc1b3 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 625494 625486 -8 -0.0
.app_xip_area 529108 529100 -8 -0.0
lock cyw930739m2evb_01 (read/write) 628458 628450 -8 -0.0
.app_xip_area 533528 533520 -8 -0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 572890 572882 -8 -0.0
.app_xip_area 468244 468236 -8 -0.0
efr32 lighting-app BRD4161A+rpc (read only) 951800 951784 -16 -0.0
.text 951792 951776 -16 -0.0
window-app BRD4161A (read only) 897732 897716 -16 -0.0
.text 897724 897708 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 1000892 1000890 -2 -0.0
.flash.text 1000892 1000890 -2 -0.0
Full report (31 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section f68588d abbc1b3 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 625494 625486 -8 -0.0
.app_xip_area 529108 529100 -8 -0.0
.bss 79028 79028 0 0.0
.data 708 708 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 628458 628450 -8 -0.0
.app_xip_area 533528 533520 -8 -0.0
.bss 77604 77604 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 572890 572882 -8 -0.0
.app_xip_area 468244 468236 -8 -0.0
.bss 87024 87024 0 0.0
.data 584 584 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 917612 917612 0 0.0
(read/write) 133244 133244 0 0.0
.bss 131184 131184 0 0.0
.data 2060 2060 0 0.0
.text 917604 917604 0 0.0
BRD4161A+rpc (read only) 951800 951784 -16 -0.0
(read/write) 149928 149928 0 0.0
.bss 147664 147664 0 0.0
.data 2264 2264 0 0.0
.text 951792 951776 -16 -0.0
BRD4161A+rs911x (read only) 791052 791052 0 0.0
(read/write) 129512 129512 0 0.0
.bss 127444 127444 0 0.0
.data 2068 2068 0 0.0
.text 791044 791044 0 0.0
lock-app BRD4161A+wf200 (read only) 947000 947000 0 0.0
(read/write) 123996 123996 0 0.0
.bss 121972 121972 0 0.0
.data 2024 2024 0 0.0
.text 946992 946992 0 0.0
window-app BRD4161A (read only) 897732 897716 -16 -0.0
(read/write) 133304 133304 0 0.0
.bss 131256 131256 0 0.0
.data 2048 2048 0 0.0
.text 897724 897708 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 1000892 1000890 -2 -0.0
(read/write) 1478106 1478106 0 0.0
.dram0.bss 68208 68208 0 0.0
.dram0.data 14624 14624 0 0.0
.flash.rodata 209848 209848 0 0.0
.flash.text 1000892 1000890 -2 -0.0
.iram0.text 62954 62954 0 0.0
m5stack (read only) 1056027 1056031 4 0.0
(read/write) 480100 480100 0 0.0
.dram0.bss 73720 73720 0 0.0
.dram0.data 34200 34200 0 0.0
.flash.rodata 240184 240184 0 0.0
.flash.text 1050643 1050647 4 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 683020 683020 0 0.0
.bss 80224 80224 0 0.0
.data 2016 2016 0 0.0
.text 599076 599076 0 0.0
lock k32w061+release (read/write) 729524 729524 0 0.0
.bss 80656 80656 0 0.0
.data 1976 1976 0 0.0
.text 645188 645188 0 0.0
linux all-clusters-app debug (read only) 2750985 2751193 208 0.0
(read/write) 175904 175904 0 0.0
.bss 85056 85056 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 82616 82616 0 0.0
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 1016 1016 0 0.0
.rodata 240733 240733 0 0.0
.text 2333922 2334130 208 0.0
bridge-app debug+rpc (read only) 2032545 2032737 192 0.0
(read/write) 147736 147736 0 0.0
.bss 72832 72832 0 0.0
.data 3936 3936 0 0.0
.data.rel.ro 65384 65384 0 0.0
.dynamic 592 592 0 0.0
.got 4272 4272 0 0.0
.init 27 27 0 0.0
.init_array 688 688 0 0.0
.rodata 168873 168873 0 0.0
.text 1705474 1705666 192 0.0
chip-tool debug (read only) 9308901 9309093 192 0.0
(read/write) 580088 580088 0 0.0
.bss 23936 23936 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 548704 548704 0 0.0
.dynamic 624 624 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 479933 479933 0 0.0
.text 7499877 7500069 192 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9078244 9078356 112 0.0
(read/write) 646209 646209 0 0.0
.bss 42209 42209 0 0.0
.data 1192 1192 0 0.0
.data.rel.ro 583952 583952 0 0.0
.dynamic 560 560 0 0.0
.got 15016 15016 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 444948 444948 0 0.0
.text 7169060 7169172 112 0.0
lighting-app debug+rpc (read only) 2327073 2327265 192 0.0
(read/write) 153184 153184 0 0.0
.bss 74624 74624 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 70744 70744 0 0.0
.dynamic 608 608 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 187913 187913 0 0.0
.text 1971730 1971922 192 0.0
lock-app debug (read only) 2240657 2240849 192 0.0
(read/write) 147864 147864 0 0.0
.bss 73312 73312 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 67272 67272 0 0.0
.dynamic 592 592 0 0.0
.got 4336 4336 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 198585 198585 0 0.0
.text 1880962 1881154 192 0.0
ota-provider-app debug (read only) 2061289 2061481 192 0.0
(read/write) 140944 140944 0 0.0
.bss 72768 72768 0 0.0
.data 1768 1768 0 0.0
.data.rel.ro 60616 60616 0 0.0
.dynamic 608 608 0 0.0
.got 4504 4504 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 178912 178912 0 0.0
.text 1723762 1723954 192 0.0
ota-requestor-app debug (read only) 2090273 2090465 192 0.0
(read/write) 143720 143720 0 0.0
.bss 73440 73440 0 0.0
.data 1992 1992 0 0.0
.data.rel.ro 62648 62648 0 0.0
.dynamic 592 592 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 175008 175008 0 0.0
.text 1755186 1755378 192 0.0
shell debug (read only) 2566777 2566985 208 0.0
(read/write) 199800 199800 0 0.0
.bss 115752 115752 0 0.0
.data 1376 1376 0 0.0
.data.rel.ro 76904 76904 0 0.0
.dynamic 608 608 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 221746 221746 0 0.0
.text 2182082 2182290 208 0.0
thermostat-no-ble arm64 (read only) 2352844 2352956 112 0.0
(read/write) 176289 176289 0 0.0
.bss 87585 87585 0 0.0
.data 1520 1520 0 0.0
.data.rel.ro 79384 79384 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 376 376 0 0.0
.rodata 147148 147148 0 0.0
.text 1975680 1975792 112 0.0
tv-app debug (read only) 2852769 2852977 208 0.0
(read/write) 278752 278752 0 0.0
.bss 190712 190712 0 0.0
.data 4672 4672 0 0.0
.data.rel.ro 77096 77096 0 0.0
.dynamic 592 592 0 0.0
.got 4720 4720 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 221009 221009 0 0.0
.text 2448194 2448402 208 0.0
tv-casting-app debug (read only) 5415481 5415673 192 0.0
(read/write) 224992 224992 0 0.0
.bss 78328 78328 0 0.0
.data 2368 2368 0 0.0
.data.rel.ro 138088 138088 0 0.0
.dynamic 608 608 0 0.0
.got 4728 4728 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 339521 339521 0 0.0
.text 4715362 4715554 192 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2420632 2420632 0 0.0
.bss 202668 202668 0 0.0
.data 5872 5872 0 0.0
.text 1383276 1383276 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180991 1180991 0 0.0
bss 138376 138376 0 0.0
rodata 153064 153064 0 0.0
text 810676 810676 0 0.0
p6 all-clusters-app default (read/write) 2538992 2538992 0 0.0
.bss 136176 136176 0 0.0
.data 2808 2808 0 0.0
.text 1497256 1497256 0 0.0
light-app default (read/write) 2425424 2425424 0 0.0
.bss 129488 129488 0 0.0
.data 2608 2608 0 0.0
.text 1383688 1383688 0 0.0
lock-app default (read/write) 2436144 2436144 0 0.0
.bss 129304 129304 0 0.0
.data 2568 2568 0 0.0
.text 1394408 1394408 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 782680 782688 8 0.0
bss 70608 70608 0 0.0
noinit 40416 40416 0 0.0
text 553486 553490 4 0.0
lighting-app tlsr9518adk80d (read/write) 802772 802772 0 0.0
bss 70864 70864 0 0.0
noinit 40416 40416 0 0.0
text 570252 570256 4 0.0

@bzbarsky-apple bzbarsky-apple merged commit f662b71 into project-chip:master May 19, 2022
@bzbarsky-apple bzbarsky-apple deleted the fix-read-status-codes branch May 19, 2022 12:49
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.

Lack of available read handlers for a read should respond with BUSY, not RESOURCE_EXHAUSTED
4 participants