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

Bug/non determinism commands/GitHub#342 #14708

Merged
merged 23 commits into from
Feb 4, 2022
Merged

Bug/non determinism commands/GitHub#342 #14708

merged 23 commits into from
Feb 4, 2022

Conversation

brdandu
Copy link
Contributor

@brdandu brdandu commented Feb 2, 2022

Problem

What is being fixed? Examples:
Non-Determinism of MatterIDL.zapt template generation

Change overview

Contains the regen after the fix applied to MatterIDL.zapt. This should make the zap regen deterministic across multiple application regens

Testing

Regening multiple times manually

@github-actions
Copy link

github-actions bot commented Feb 3, 2022

PR #14708: Size comparison from 4267a9b to 188db3b

Full report (17 builds for cyw30739, efr32, k32w, linux, p6, qpg, telink)
platform target config section 4267a9b 188db3b change % change
cyw30739 light cyw930739m2evb_01 (read/write) 586702 586702 0 0.0
.app_xip_area 493300 493300 0 0.0
.bss 76124 76124 0 0.0
.data 620 620 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 544602 544602 0 0.0
.app_xip_area 452768 452768 0 0.0
.bss 74596 74596 0 0.0
.data 584 584 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 569014 569014 0 0.0
.app_xip_area 467860 467860 0 0.0
.bss 83588 83588 0 0.0
.data 528 528 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 855952 855952 0 0.0
(read/write) 125880 125880 0 0.0
.bss 123960 123960 0 0.0
.data 1920 1920 0 0.0
.text 855944 855944 0 0.0
BRD4161A+rpc (read only) 843320 843320 0 0.0
(read/write) 142544 142544 0 0.0
.bss 140520 140520 0 0.0
.data 2020 2020 0 0.0
.text 843312 843312 0 0.0
window-app BRD4161A (read only) 828180 828180 0 0.0
(read/write) 124520 124520 0 0.0
.bss 122644 122644 0 0.0
.data 1876 1876 0 0.0
.text 828172 828172 0 0.0
k32w light k32w061+release (read/write) 671016 671016 0 0.0
.bss 75828 75828 0 0.0
.data 1880 1880 0 0.0
.text 587508 587508 0 0.0
lock k32w061+release (read/write) 672560 672560 0 0.0
.bss 76148 76148 0 0.0
.data 1920 1920 0 0.0
.text 588692 588692 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7164708 7164708 0 0.0
(read/write) 283233 283233 0 0.0
.bss 47457 47457 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 185496 185496 0 0.0
.dynamic 560 560 0 0.0
.got 45376 45376 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 390412 390412 0 0.0
.text 6173044 6173044 0 0.0
thermostat-no-ble arm64 (read only) 2121884 2121884 0 0.0
(read/write) 140705 140705 0 0.0
.bss 57745 57745 0 0.0
.data 952 952 0 0.0
.data.rel.ro 74880 74880 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 131068 131068 0 0.0
.text 1772864 1772864 0 0.0
p6 all-clusters-app default (read/write) 2447200 2447200 0 0.0
.bss 117124 117124 0 0.0
.data 2568 2568 0 0.0
.text 1405464 1405464 0 0.0
light-app default (read/write) 2352496 2352496 0 0.0
.bss 106268 106268 0 0.0
.data 2432 2432 0 0.0
.text 1310760 1310760 0 0.0
lock-app default (read/write) 2317688 2317688 0 0.0
.bss 105980 105980 0 0.0
.data 2392 2392 0 0.0
.text 1275952 1275952 0 0.0
qpg lighting-app qpg6105+debug (read only) 579272 579272 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88120 88120 0 0.0
.data 1084 1084 0 0.0
.text 573952 573952 0 0.0
lock-app qpg6105+debug (read only) 525312 525312 0 0.0
(read/write) 146936 146936 0 0.0
.bss 87560 87560 0 0.0
.data 1020 1020 0 0.0
.text 519992 519992 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 857886 857886 0 0.0
bss 88476 88476 0 0.0
noinit 37160 37160 0 0.0
text 601180 601180 0 0.0

brdandu and others added 23 commits February 3, 2022 16:42
…oing commands are generated with determinism. Using the upto date helpers in the *.zapt templates

Currently pointing to a zap repo which has new helpers as well. These changes have not been merged into the github zap repo
gihub#342
…de only.

- All commands originating on the server sides are response commands which do not need to be generated here
Github#342
…nts_with_structs_expanded

- Applying changes to chip_cluster_command_arguments_with_structs_expanded such that it can be used within all_outgoing_commands_for_cluster block helper instead of chip_cluster_command_arguments
- Github#342
…-mfg specific clusters and commands

Github#342
…se there is code which depends on this generated code

Github#342
…_commands in CHIPClusters-src.zapt just like we do in CHIPClusters.zapt to maintain consistency

Also reverting the changes in helper.js since those are no longer required
Github#342
…ch that request struct should be defined for all incoming commands from client to server and outgoing commands from client to server

Github#342
…uch that response struct should be defined for all incoming commands from server to client and outgoing commands from server to client

Github#342
Github#342
Adding some endpoint config changes which came up after pulling the latest zap repo
Github#342
@github-actions
Copy link

github-actions bot commented Feb 3, 2022

PR #14708: Size comparison from 5c0c71b to ce106b9

Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 5c0c71b ce106b9 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 586942 586942 0 0.0
.app_xip_area 493540 493540 0 0.0
.bss 76124 76124 0 0.0
.data 620 620 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 544846 544846 0 0.0
.app_xip_area 453012 453012 0 0.0
.bss 74596 74596 0 0.0
.data 584 584 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 569214 569214 0 0.0
.app_xip_area 468060 468060 0 0.0
.bss 83588 83588 0 0.0
.data 528 528 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 856304 856304 0 0.0
(read/write) 125880 125880 0 0.0
.bss 123960 123960 0 0.0
.data 1920 1920 0 0.0
.text 856296 856296 0 0.0
BRD4161A+rpc (read only) 843656 843656 0 0.0
(read/write) 142544 142544 0 0.0
.bss 140520 140520 0 0.0
.data 2020 2020 0 0.0
.text 843648 843648 0 0.0
window-app BRD4161A (read only) 828516 828516 0 0.0
(read/write) 124520 124520 0 0.0
.bss 122644 122644 0 0.0
.data 1876 1876 0 0.0
.text 828508 828508 0 0.0
esp32 all-clusters-app c3devkit (read only) 934748 934748 0 0.0
(read/write) 1401026 1401026 0 0.0
.dram0.bss 70056 70056 0 0.0
.dram0.data 14268 14268 0 0.0
.flash.rodata 197800 197800 0 0.0
.flash.text 934748 934748 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 982955 982955 0 0.0
(read/write) 465388 465388 0 0.0
.dram0.bss 74816 74816 0 0.0
.dram0.data 34024 34024 0 0.0
.flash.rodata 224420 224420 0 0.0
.flash.text 977571 977571 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 671208 671208 0 0.0
.bss 75828 75828 0 0.0
.data 1880 1880 0 0.0
.text 587700 587700 0 0.0
lock k32w061+release (read/write) 672784 672784 0 0.0
.bss 76148 76148 0 0.0
.data 1920 1920 0 0.0
.text 588916 588916 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7170324 7170324 0 0.0
(read/write) 283409 283409 0 0.0
.bss 47457 47457 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 185632 185632 0 0.0
.dynamic 560 560 0 0.0
.got 45408 45408 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 390508 390508 0 0.0
.text 6178196 6178196 0 0.0
thermostat-no-ble arm64 (read only) 2123964 2123964 0 0.0
(read/write) 140705 140705 0 0.0
.bss 57745 57745 0 0.0
.data 952 952 0 0.0
.data.rel.ro 74880 74880 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 131212 131212 0 0.0
.text 1774800 1774800 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2386464 2386464 0 0.0
.bss 188964 188964 0 0.0
.data 5280 5280 0 0.0
.text 1349064 1349064 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2347440 2347440 0 0.0
.bss 181072 181072 0 0.0
.data 5592 5592 0 0.0
.text 1310040 1310040 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2311432 2311432 0 0.0
.bss 180960 180960 0 0.0
.data 5576 5576 0 0.0
.text 1274032 1274032 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) 2301700 2301700 0 0.0
.bss 178244 178244 0 0.0
.data 5392 5392 0 0.0
.text 1264272 1264272 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 994583 994583 0 0.0
bss 120540 120540 0 0.0
rodata 117092 117092 0 0.0
text 678092 678092 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 976459 976459 0 0.0
bss 116396 116396 0 0.0
rodata 108480 108480 0 0.0
text 673156 673156 0 0.0
nrf52840dongle_nrf52840 (read/write) 1011283 1011283 0 0.0
bss 121904 121904 0 0.0
rodata 115932 115932 0 0.0
text 683584 683584 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 904022 904022 0 0.0
bss 117104 117104 0 0.0
rodata 110384 110384 0 0.0
text 595776 595776 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 926735 926735 0 0.0
bss 118880 118880 0 0.0
rodata 105444 105444 0 0.0
text 623952 623952 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 837006 837006 0 0.0
bss 115472 115472 0 0.0
rodata 98648 98648 0 0.0
text 542412 542412 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 929355 929355 0 0.0
bss 118632 118632 0 0.0
rodata 105912 105912 0 0.0
text 626288 626288 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 924319 924319 0 0.0
bss 118632 118632 0 0.0
rodata 104916 104916 0 0.0
text 622228 622228 0 0.0
shell nrf52840dk_nrf52840 (read/write) 802571 802571 0 0.0
bss 110968 110968 0 0.0
rodata 78480 78480 0 0.0
text 535544 535544 0 0.0
p6 all-clusters-app default (read/write) 2447472 2447472 0 0.0
.bss 117124 117124 0 0.0
.data 2568 2568 0 0.0
.text 1405736 1405736 0 0.0
light-app default (read/write) 2352832 2352832 0 0.0
.bss 106268 106268 0 0.0
.data 2432 2432 0 0.0
.text 1311096 1311096 0 0.0
lock-app default (read/write) 2318024 2318024 0 0.0
.bss 105980 105980 0 0.0
.data 2392 2392 0 0.0
.text 1276288 1276288 0 0.0
qpg lighting-app qpg6105+debug (read only) 579472 579472 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88120 88120 0 0.0
.data 1084 1084 0 0.0
.text 574152 574152 0 0.0
lock-app qpg6105+debug (read only) 525544 525544 0 0.0
(read/write) 146936 146936 0 0.0
.bss 87560 87560 0 0.0
.data 1020 1020 0 0.0
.text 520224 520224 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 858102 858102 0 0.0
bss 88476 88476 0 0.0
noinit 37160 37160 0 0.0
text 601400 601400 0 0.0

@bzbarsky-apple bzbarsky-apple merged commit 44c2895 into project-chip:master Feb 4, 2022
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