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

Don't lose enableServerInteractions state when controller restarts. #16504

Conversation

bzbarsky-apple
Copy link
Contributor

When we shut down and restart the last controller, we shut down and
reinitialize the system state. Since we were not storing the
enableServerInteractions state in either the SystemState or the
CHIPDeviceControllerFactory, it was getting lost during this process.

The fix is to store the state in CHIPDeviceControllerFactory.

Problem

See above.

Change overview

See above.

Testing

In iOS CHIPTool app, verified that after I go through the QR code screen and pair a device the device can open a CASE session to CHIPTool. Without this change it can't.

When we shut down and restart the last controller, we shut down and
reinitialize the system state.  Since we were not storing the
enableServerInteractions state in either the SystemState or the
CHIPDeviceControllerFactory, it was getting lost during this process.

The fix is to store the state in CHIPDeviceControllerFactory.
@github-actions
Copy link

github-actions bot commented Mar 21, 2022

PR #16504: Size comparison from a72ab9b to 2c1a6d7

Increases (3 builds for linux)
platform target config section a72ab9b 2c1a6d74 change % change
linux chip-tool debug (read only) 10145893 10145925 32 0.0
(read/write) 354848 354880 32 0.0
.bss 22304 22336 32 0.1
.text 8845477 8845509 32 0.0
chip-tool-ipv6only arm64 (read only) 9769404 9769436 32 0.0
(read/write) 472689 472705 16 0.0
.bss 40609 40625 16 0.0
.text 8224436 8224468 32 0.0
tv-app debug (read only) 2677657 2677689 32 0.0
(read/write) 247712 247744 32 0.0
.bss 164384 164416 32 0.0
.text 2295394 2295426 32 0.0
Full report (27 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section a72ab9b 2c1a6d74 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 603870 603870 0 0.0
.app_xip_area 510968 510968 0 0.0
.bss 75656 75656 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 561658 561658 0 0.0
.app_xip_area 470284 470284 0 0.0
.bss 74160 74160 0 0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571494 571494 0 0.0
.app_xip_area 470472 470472 0 0.0
.bss 83488 83488 0 0.0
.data 500 500 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 922008 922008 0 0.0
(read/write) 128760 128760 0 0.0
.bss 126768 126768 0 0.0
.data 1988 1988 0 0.0
.text 922000 922000 0 0.0
BRD4161A+rpc (read only) 950820 950820 0 0.0
(read/write) 144712 144712 0 0.0
.bss 142544 142544 0 0.0
.data 2168 2168 0 0.0
.text 950812 950812 0 0.0
window-app BRD4161A (read only) 852304 852304 0 0.0
(read/write) 126712 126712 0 0.0
.bss 124848 124848 0 0.0
.data 1864 1864 0 0.0
.text 852296 852296 0 0.0
esp32 all-clusters-app c3devkit (read only) 962010 962010 0 0.0
(read/write) 1393306 1393306 0 0.0
.dram0.bss 62048 62048 0 0.0
.dram0.data 14188 14188 0 0.0
.flash.rodata 198160 198160 0 0.0
.flash.text 962010 962010 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1018143 1018143 0 0.0
(read/write) 461148 461148 0 0.0
.dram0.bss 67576 67576 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 227720 227720 0 0.0
.flash.text 1012759 1012759 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 701092 701092 0 0.0
.bss 77656 77656 0 0.0
.data 1868 1868 0 0.0
.text 615768 615768 0 0.0
lock k32w061+release (read/write) 700964 700964 0 0.0
.bss 77624 77624 0 0.0
.data 1908 1908 0 0.0
.text 615632 615632 0 0.0
linux all-clusters-app debug (read only) 2477281 2477281 0 0.0
(read/write) 143152 143152 0 0.0
.bss 57312 57312 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 78840 78840 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 212005 212005 0 0.0
.text 2101826 2101826 0 0.0
bridge-app debug+rpc (read only) 1752637 1752637 0 0.0
(read/write) 89424 89424 0 0.0
.bss 44456 44456 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 37944 37944 0 0.0
.dynamic 592 592 0 0.0
.got 3920 3920 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 144684 144684 0 0.0
.text 1492741 1492741 0 0.0
chip-tool debug (read only) 10145893 10145925 32 0.0
(read/write) 354848 354880 32 0.0
.bss 22304 22336 32 0.1
.data 1072 1072 0 0.0
.data.rel.ro 325408 325408 0 0.0
.dynamic 608 608 0 0.0
.got 4784 4784 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 517813 517813 0 0.0
.text 8845477 8845509 32 0.0
chip-tool-ipv6only arm64 (read only) 9769404 9769436 32 0.0
(read/write) 472689 472705 16 0.0
.bss 40609 40625 16 0.0
.data 1128 1128 0 0.0
.data.rel.ro 371824 371824 0 0.0
.dynamic 560 560 0 0.0
.got 55328 55328 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493604 493604 0 0.0
.text 8224436 8224468 32 0.0
door-lock-app debug (read only) 2004473 2004473 0 0.0
(read/write) 116832 116832 0 0.0
.bss 47584 47584 0 0.0
.data 992 992 0 0.0
.data.rel.ro 62856 62856 0 0.0
.dynamic 592 592 0 0.0
.got 4120 4120 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 181180 181180 0 0.0
.text 1673634 1673634 0 0.0
lighting-app debug+rpc (read only) 2178137 2178137 0 0.0
(read/write) 123792 123792 0 0.0
.bss 48864 48864 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 67928 67928 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 175484 175484 0 0.0
.text 1843634 1843634 0 0.0
ota-provider-app debug (read only) 1938833 1938833 0 0.0
(read/write) 112624 112624 0 0.0
.bss 47488 47488 0 0.0
.data 1288 1288 0 0.0
.data.rel.ro 58200 58200 0 0.0
.dynamic 608 608 0 0.0
.got 4376 4376 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 166571 166571 0 0.0
.text 1620498 1620498 0 0.0
ota-requestor-app debug (read only) 1969001 1969001 0 0.0
(read/write) 115592 115592 0 0.0
.bss 48480 48480 0 0.0
.data 1416 1416 0 0.0
.data.rel.ro 60264 60264 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 162980 162980 0 0.0
.text 1654034 1654034 0 0.0
shell debug (read only) 2426625 2426625 0 0.0
(read/write) 147208 147208 0 0.0
.bss 67240 67240 0 0.0
.data 784 784 0 0.0
.data.rel.ro 73472 73472 0 0.0
.dynamic 592 592 0 0.0
.got 4152 4152 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 209426 209426 0 0.0
.text 2060498 2060498 0 0.0
thermostat-no-ble arm64 (read only) 2262500 2262500 0 0.0
(read/write) 148273 148273 0 0.0
.bss 62753 62753 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 77000 77000 0 0.0
.dynamic 560 560 0 0.0
.got 4480 4480 0 0.0
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 140036 140036 0 0.0
.text 1899152 1899152 0 0.0
tv-app debug (read only) 2677657 2677689 32 0.0
(read/write) 247712 247744 32 0.0
.bss 164384 164416 32 0.0
.data 3104 3104 0 0.0
.data.rel.ro 74168 74168 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 888 888 0 0.0
.rodata 207413 207413 0 0.0
.text 2295394 2295426 32 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2353452 2353452 0 0.0
.bss 184652 184652 0 0.0
.data 5752 5752 0 0.0
.text 1316052 1316052 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155923 1155923 0 0.0
bss 146716 146716 0 0.0
rodata 145956 145956 0 0.0
text 788084 788084 0 0.0
p6 all-clusters-app default (read/write) 2492976 2492976 0 0.0
.bss 118072 118072 0 0.0
.data 2632 2632 0 0.0
.text 1451240 1451240 0 0.0
light-app default (read/write) 2396376 2396376 0 0.0
.bss 111544 111544 0 0.0
.data 2488 2488 0 0.0
.text 1354640 1354640 0 0.0
lock-app default (read/write) 2359928 2359928 0 0.0
.bss 111288 111288 0 0.0
.data 2448 2448 0 0.0
.text 1318192 1318192 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 895830 895830 0 0.0
bss 87424 87424 0 0.0
noinit 37160 37160 0 0.0
text 633404 633404 0 0.0

@bzbarsky-apple bzbarsky-apple merged commit d71e8e5 into project-chip:master Mar 22, 2022
@bzbarsky-apple bzbarsky-apple deleted the preserve-server-interaction-state branch March 22, 2022 19:04
andrei-menzopol pushed a commit to andrei-menzopol/connectedhomeip that referenced this pull request Apr 14, 2022
…roject-chip#16504)

When we shut down and restart the last controller, we shut down and
reinitialize the system state.  Since we were not storing the
enableServerInteractions state in either the SystemState or the
CHIPDeviceControllerFactory, it was getting lost during this process.

The fix is to store the state in CHIPDeviceControllerFactory.
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