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

[darwin-framework-tool] Add a shortcut (CTL('_')) to stop the stack w… #22362

Merged

Conversation

vivien-apple
Copy link
Contributor

@vivien-apple vivien-apple commented Sep 2, 2022

…hile in interactive mode

Problem

This PR is similar to #22268. But instead of adding a shortcut to restart the Matter stack, it adds one to stop the Matter stack with the possibility to do a restart afterward (using Ctrl + ^).

It is sometimes helpful to found/debug some crashes that does not happens when quickly restarting the stack. For example the second step of #22320 shows that a quick restart was not able to get the crash since some actions are a little bit delayed by some dispatch queues but won't crash if the stack is restarted too quickly.

So the reason for this PR is to not have to manually hack the restart method ;)

I'm arguing for v1.0 for the same reason than #22268 in the sense that it does not affect anything from the core SDK and may help to find some bugs related to the stack shutdown.

Change overview

  • Add a new option in interactive mode for the darwin-framework-tool in order to stop the stack. Using a shortcut to make it fast.

Testing

I have only tested that the stack is correctly turned off when pressing Ctrl + _ and that it does restart when starting Ctrl + ^.

@github-actions
Copy link

github-actions bot commented Sep 2, 2022

PR #22362: Size comparison from 771f835 to 57c39d9

Decreases (4 builds for efr32, esp32, psoc6)
platform target config section 771f835 57c39d9 change % change
efr32 lighting-app BRD4161A+rpc (read/write) 972188 972172 -16 -0.0
.text 819072 819056 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 1033912 1033910 -2 -0.0
.flash.text 1033912 1033910 -2 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 2671542 26715418 -2 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26452043 26452041 -2 -0.0
Full report (34 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 771f835 57c39d9 change % change
bl602 lighting-app bl602 (read/write) 1386190 1386190 0 0.0
.bss 120298 120298 0 0.0
.data 4488 4488 0 0.0
.text 1052588 1052588 0 0.0
bl602+rpc (read/write) 1431846 1431846 0 0.0
.bss 127730 127730 0 0.0
.data 4600 4600 0 0.0
.text 1084344 1084344 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 675359 675359 0 0.0
(read/write) 176048 176048 0 0.0
.bss 74300 74300 0 0.0
.data 3380 3380 0 0.0
.rodata 89215 89215 0 0.0
.text 585832 585832 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 640071 640071 0 0.0
(read/write) 157868 157868 0 0.0
.bss 73572 73572 0 0.0
.data 3380 3380 0 0.0
.rodata 78367 78367 0 0.0
.text 561384 561384 0 0.0
lock-ftd LP_CC2652R7 (read only) 676419 676419 0 0.0
(read/write) 165300 165300 0 0.0
.bss 71500 71500 0 0.0
.data 3304 3304 0 0.0
.rodata 77067 77067 0 0.0
.text 598872 598872 0 0.0
lock-mtd LP_CC2652R7 (read only) 659379 659379 0 0.0
(read/write) 178028 178028 0 0.0
.bss 67188 67188 0 0.0
.data 3304 3304 0 0.0
.rodata 102323 102323 0 0.0
.text 556576 556576 0 0.0
pump-app LP_CC2652R7 (read only) 685247 685247 0 0.0
(read/write) 157176 157176 0 0.0
.bss 71436 71436 0 0.0
.data 3296 3296 0 0.0
.rodata 90079 90079 0 0.0
.text 594684 594684 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669739 669739 0 0.0
(read/write) 172796 172796 0 0.0
.bss 71548 71548 0 0.0
.data 3292 3292 0 0.0
.rodata 85627 85627 0 0.0
.text 583632 583632 0 0.0
shell LP_CC2652R7 (read only) 666010 666010 0 0.0
(read/write) 180916 180916 0 0.0
.bss 76620 76620 0 0.0
.data 3376 3376 0 0.0
.rodata 85770 85770 0 0.0
.text 579924 579924 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586882 586882 0 0.0
.app_xip_area 463540 463540 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) 592634 592634 0 0.0
.app_xip_area 464508 464508 0 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) 599818 599818 0 0.0
.app_xip_area 477196 477196 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) 1108528 1108528 0 0.0
.bss 136332 136332 0 0.0
.data 2072 2072 0 0.0
.text 970104 970104 0 0.0
BRD4161A+rpc (read/write) 972188 972172 -16 -0.0
.bss 150844 150844 0 0.0
.data 2252 2252 0 0.0
.text 819072 819056 -16 -0.0
BRD4161A+rs911x (read/write) 1002244 1002244 0 0.0
.bss 169168 169168 0 0.0
.data 2064 2064 0 0.0
.text 830992 830992 0 0.0
lock-app BRD4161A+wf200 (read/write) 1150304 1150304 0 0.0
.bss 152248 152248 0 0.0
.data 2072 2072 0 0.0
.text 995964 995964 0 0.0
window-app BRD4161A (read/write) 1099768 1099768 0 0.0
.bss 137772 137772 0 0.0
.data 2096 2096 0 0.0
.text 959880 959880 0 0.0
esp32 all-clusters-app c3devkit (read only) 1033912 1033910 -2 -0.0
(read/write) 1493646 1493646 0 0.0
.dram0.bss 71120 71120 0 0.0
.dram0.data 13696 13696 0 0.0
.flash.rodata 218160 218160 0 0.0
.flash.text 1033912 1033910 -2 -0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1086515 1086515 0 0.0
(read/write) 490916 490916 0 0.0
.dram0.bss 76640 76640 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 247456 247456 0 0.0
.flash.text 1081131 1081131 0 0.0
.iram0.text 123939 123939 0 0.0
k32w light k32w0+release (read/write) 648204 648204 0 0.0
.bss 70712 70712 0 0.0
.data 2068 2068 0 0.0
.text 572696 572696 0 0.0
lock k32w0+release (read/write) 705216 705216 0 0.0
.bss 71160 71160 0 0.0
.data 2076 2076 0 0.0
.text 629252 629252 0 0.0
linux chip-tool-ipv6only arm64 (read only) 10319348 10319348 0 0.0
(read/write) 705169 705169 0 0.0
.bss 33297 33297 0 0.0
.data 3280 3280 0 0.0
.data.rel.ro 649784 649784 0 0.0
.dynamic 560 560 0 0.0
.got 13840 13840 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 499300 499300 0 0.0
.text 8167636 8167636 0 0.0
thermostat-no-ble arm64 (read only) 2363012 2363012 0 0.0
(read/write) 141857 141857 0 0.0
.bss 55233 55233 0 0.0
.data 1680 1680 0 0.0
.data.rel.ro 76112 76112 0 0.0
.dynamic 560 560 0 0.0
.got 5056 5056 0 0.0
.init 24 24 0 0.0
.init_array 416 416 0 0.0
.rodata 141404 141404 0 0.0
.text 1983568 1983568 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2455184 2455184 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1417828 1417828 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1181087 1181087 0 0.0
bss 143641 143641 0 0.0
rodata 143504 143504 0 0.0
text 815008 815008 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160283 1160283 0 0.0
bss 142868 142868 0 0.0
rodata 135092 135092 0 0.0
text 803400 803400 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841960 841960 0 0.0
(read/write) 1742748 1742748 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188720 188720 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 2664 2664 0 0.0
.debug_abbrev 1221450 1221450 0 0.0
.debug_aranges 111728 111728 0 0.0
.debug_frame 372968 372968 0 0.0
.debug_info 2671542 26715418 -2 -0.0
.debug_line 3657402 3657402 0 0.0
.debug_loc 3573108 3573108 0 0.0
.debug_ranges 338424 338424 0 0.0
.debug_str 3427409 3427409 0 0.0
.heap 841960 841960 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 570588 570588 0 0.0
.symtab 421488 421488 0 0.0
.text 1542976 1542976 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842696 842696 0 0.0
(read/write) 1685948 1685948 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187984 187984 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 2664 2664 0 0.0
.debug_abbrev 1213289 1213289 0 0.0
.debug_aranges 111200 111200 0 0.0
.debug_frame 376048 376048 0 0.0
.debug_info 26452043 26452041 -2 -0.0
.debug_line 3677918 3677918 0 0.0
.debug_loc 3560745 3560745 0 0.0
.debug_ranges 337040 337040 0 0.0
.debug_str 3416414 3416414 0 0.0
.heap 842696 842696 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 535062 535062 0 0.0
.symtab 408080 408080 0 0.0
.text 1486912 1486912 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850928 850928 0 0.0
(read/write) 1603196 1603196 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179960 179960 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 2456 2456 0 0.0
.debug_abbrev 1048108 1048108 0 0.0
.debug_aranges 103376 103376 0 0.0
.debug_frame 346316 346316 0 0.0
.debug_info 21914324 21914324 0 0.0
.debug_line 3248383 3248383 0 0.0
.debug_loc 3259088 3259088 0 0.0
.debug_ranges 302512 302512 0 0.0
.debug_str 3221680 3221680 0 0.0
.heap 850928 850928 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 468361 468361 0 0.0
.symtab 375168 375168 0 0.0
.text 1412392 1412392 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845896 845896 0 0.0
(read/write) 1640892 1640892 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184976 184976 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 2472 2472 0 0.0
.debug_abbrev 1055543 1055543 0 0.0
.debug_aranges 104048 104048 0 0.0
.debug_frame 349144 349144 0 0.0
.debug_info 22294070 22294070 0 0.0
.debug_line 3257204 3257204 0 0.0
.debug_loc 3298941 3298941 0 0.0
.debug_ranges 305856 305856 0 0.0
.debug_str 3249101 3249101 0 0.0
.heap 845896 845896 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 474564 474564 0 0.0
.symtab 378352 378352 0 0.0
.text 1445056 1445056 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1129172 1129172 0 0.0
.bss 106112 106112 0 0.0
.data 1028 1028 0 0.0
.text 576268 576268 0 0.0
lock-app qpg6105+debug (read/write) 1100184 1100184 0 0.0
.bss 102344 102344 0 0.0
.data 1032 1032 0 0.0
.text 547284 547284 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 809004 809004 0 0.0
bss 71344 71344 0 0.0
noinit 43488 43488 0 0.0
text 571478 571478 0 0.0
lighting-app tlsr9518adk80d (read/write) 830912 830912 0 0.0
bss 72200 72200 0 0.0
noinit 43488 43488 0 0.0
text 589604 589604 0 0.0

@andy31415
Copy link
Contributor

Accepted to master: examples change only.

@andy31415 andy31415 merged commit e89c90b into project-chip:master Sep 2, 2022
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 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