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

Make "reportable" setting consistent in zap file to avoid zap instability. #13632

Merged
merged 4 commits into from
Jan 17, 2022

Conversation

andy31415
Copy link
Contributor

@andy31415 andy31415 commented Jan 17, 2022

Problem

ZAP generation is unstable regarding "reportable" output, seen in matter IDL files like https://github.com/project-chip/connectedhomeip/runs/4843394902?check_suite_focus=true

and

https://github.com/project-chip/connectedhomeip/runs/4838407145?check_suite_focus=true

Change overview

Change the struct to be consistent between client & server. Note that this was manually edited (not sure what zap UI changes would be required to make this consistent).

Testing

CI will validate this.

…able (difference between client and server configs)
@andy31415
Copy link
Contributor Author

NOTE: I plan to add more to this by checking ToT a bit to see what other things are unstable.

I expect 2-3 zap files to need fixing in general.

@andy31415 andy31415 changed the title Make tv casting labelList and clusterRevision consistently non-report… Make "reportable" setting consistent in zap file to avoid zap instability. Jan 17, 2022
@github-actions
Copy link

github-actions bot commented Jan 17, 2022

PR #13632: Size comparison from 8bdff01 to 6cbc889

Full report (30 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 8bdff01 6cbc889 change % change
efr32 lighting-app BRD4161A (read only) 834852 834852 0 0.0
(read/write) 127628 127628 0 0.0
.bss 125744 125744 0 0.0
.data 1884 1884 0 0.0
.text 834844 834844 0 0.0
BRD4161A+rpc (read only) 822232 822232 0 0.0
(read/write) 144288 144288 0 0.0
.bss 142304 142304 0 0.0
.data 1984 1984 0 0.0
.text 822224 822224 0 0.0
window-app BRD4161A (read only) 805424 805424 0 0.0
(read/write) 126320 126320 0 0.0
.bss 124480 124480 0 0.0
.data 1836 1836 0 0.0
.text 805416 805416 0 0.0
k32w light k32w061+release (read/write) 659064 659064 0 0.0
.bss 77136 77136 0 0.0
.data 1852 1852 0 0.0
.text 574276 574276 0 0.0
lock k32w061+release (read/write) 661796 661796 0 0.0
.bss 77432 77432 0 0.0
.data 1872 1872 0 0.0
.text 576692 576692 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8042100 8042100 0 0.0
(read/write) 370641 370641 0 0.0
.bss 55217 55217 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 245856 245856 0 0.0
.dynamic 560 560 0 0.0
.got 64776 64776 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 419420 419420 0 0.0
.text 6833684 6833684 0 0.0
thermostat-no-ble arm64 (read only) 2042108 2042108 0 0.0
(read/write) 145969 145969 0 0.0
.bss 65089 65089 0 0.0
.data 880 880 0 0.0
.data.rel.ro 73016 73016 0 0.0
.dynamic 560 560 0 0.0
.got 4048 4048 0 0.0
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129884 129884 0 0.0
.text 1697632 1697632 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2349856 2349856 0 0.0
.bss 189220 189220 0 0.0
.data 5320 5320 0 0.0
.text 1312432 1312432 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334504 2334504 0 0.0
.bss 180760 180760 0 0.0
.data 5568 5568 0 0.0
.text 1297104 1297104 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304848 2304848 0 0.0
.bss 179768 179768 0 0.0
.data 5544 5544 0 0.0
.text 1267448 1267448 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054464 2054464 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1017064 1017064 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943403 943403 0 0.0
bss 119628 119628 0 0.0
rodata 108824 108824 0 0.0
text 637376 637376 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 928883 928883 0 0.0
bss 116672 116672 0 0.0
rodata 101272 101272 0 0.0
text 632772 632772 0 0.0
nrf52840dongle_nrf52840 (read/write) 994079 994079 0 0.0
bss 122472 122472 0 0.0
rodata 113576 113576 0 0.0
text 669576 669576 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853242 853242 0 0.0
bss 116416 116416 0 0.0
rodata 101996 101996 0 0.0
text 554300 554300 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912763 912763 0 0.0
bss 118784 118784 0 0.0
rodata 103792 103792 0 0.0
text 612824 612824 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822830 822830 0 0.0
bss 115600 115600 0 0.0
rodata 97016 97016 0 0.0
text 529784 529784 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915627 915627 0 0.0
bss 118548 118548 0 0.0
rodata 104152 104152 0 0.0
text 615480 615480 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910715 910715 0 0.0
bss 118572 118572 0 0.0
rodata 103264 103264 0 0.0
text 611404 611404 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798655 798655 0 0.0
bss 109776 109776 0 0.0
rodata 78388 78388 0 0.0
text 533992 533992 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711470 711470 0 0.0
bss 107664 107664 0 0.0
rodata 72688 72688 0 0.0
text 451668 451668 0 0.0
p6 all-clusters-app default (read/write) 2404744 2404744 0 0.0
.bss 117556 117556 0 0.0
.data 2600 2600 0 0.0
.text 1363008 1363008 0 0.0
light-app default (read/write) 2330048 2330048 0 0.0
.bss 106128 106128 0 0.0
.data 2392 2392 0 0.0
.text 1288312 1288312 0 0.0
lock-app default (read/write) 2299072 2299072 0 0.0
.bss 104976 104976 0 0.0
.data 2344 2344 0 0.0
.text 1257336 1257336 0 0.0
qpg lighting-app qpg6105+debug (read only) 565072 565072 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1048 1048 0 0.0
.text 559752 559752 0 0.0
lock-app qpg6105+debug (read only) 515484 515484 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 972 972 0 0.0
.text 510164 510164 0 0.0
persistent-storage-app qpg6105+debug (read only) 106848 106848 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38512 38512 0 0.0
.data 288 288 0 0.0
.text 101528 101528 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840778 840778 0 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587748 587748 0 0.0

@andy31415
Copy link
Contributor Author

I will merge this as a hotfix: zap is massively non-deterministic without this change and the change looks safe enough: I do not believe our regular codegen actually cares about reportable state (otherwise we would have seen non-determinism before).

@andy31415 andy31415 added the hotfix urgent fix needed, can bypass review label Jan 17, 2022
@andy31415 andy31415 merged commit 1c2091b into project-chip:master Jan 17, 2022
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
…lity. (project-chip#13632)

* Make tv casting labelList and clusterRevision consistently non-reportable (difference between client and server configs)

* More changes regarding reportable consistency on all clusters app.zap

* Two more stability updates for reportability

* After update, feature map is NOT reportable (which seems correct: it should not change at runtime)
step0035 pushed a commit to hank820/connectedhomeip that referenced this pull request Feb 8, 2022
…lity. (project-chip#13632)

* Make tv casting labelList and clusterRevision consistently non-reportable (difference between client and server configs)

* More changes regarding reportable consistency on all clusters app.zap

* Two more stability updates for reportability

* After update, feature map is NOT reportable (which seems correct: it should not change at runtime)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
examples hotfix urgent fix needed, can bypass review review - pending
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant