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 SessionDelegate::OnSessionHang docs header #22928

Merged
merged 1 commit into from
Sep 29, 2022

Conversation

msandstedt
Copy link
Contributor

Issue Being Resolved

Change overview

The SessionDelegate::OnSessionHang docs header note is inaccurate. It lists that it is not safe to modify the SessionHolder or underlying Session from this callback context. That's not correct. The SessionHolder can be modified (e.g. released) from here, and the Session can be modified. For instance, changing the session from state kDefunct to kPendingEviction would be legal.

What would not be safe is allocating a new session from this context, as this could cause the underlying session (always in kDefunct state from this context) to be evicted and freed while it is still in use to distribute the OnSessionHang to all holders, resulting in use after free. This means that the actual limitation is the same as that listed in OnSessionReleased.

Change the docs header to reflect.

@github-actions
Copy link

github-actions bot commented Sep 28, 2022

PR #22928: Size comparison from a8bd389 to 2e289ec

Increases (4 builds for bl602, cc13x2_26x2, esp32)
platform target config section a8bd389 2e289ec change % change
bl602 lighting-app bl602 (read/write) 1388746 1388754 8 0.0
.text 1068352 1068356 4 0.0
cc13x2_26x2 pump-controller-app LP_CC2652R7 (read/write) 177680 177688 8 0.0
esp32 all-clusters-app c3devkit (read/write) 1788054 1788062 8 0.0
.flash.rodata 257624 257632 8 0.0
m5stack (read/write) 563948 563956 8 0.0
.flash.rodata 314680 314688 8 0.0
Decreases (4 builds for bl602, cc13x2_26x2, psoc6, telink)
platform target config section a8bd389 2e289ec change % change
bl602 lighting-app bl602+rpc .text 1099702 1099700 -2 -0.0
cc13x2_26x2 pump-controller-app LP_CC2652R7 (read only) 671839 671831 -8 -0.0
.text 585272 585264 -8 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 26821647 26821646 -1 -0.0
telink ota-requestor-app tlsr9518adk80d (read/write) 844564 844556 -8 -0.0
text 598978 598976 -2 -0.0
Full report (37 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section a8bd389 2e289ec change % change
bl602 lighting-app bl602 (read/write) 1388746 1388754 8 0.0
.bss 90729 90729 0 0.0
.data 9928 9928 0 0.0
.text 1068352 1068356 4 0.0
bl602+rpc (read/write) 1433966 1433966 0 0.0
.bss 98161 98161 0 0.0
.data 10312 10312 0 0.0
.text 1099702 1099700 -2 -0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1187963 1187963 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67094 67094 0 0.0
.bss_psram 29696 29696 0 0.0
.comment 48 48 0 0.0
.data 4272 4272 0 0.0
.debug_abbrev 1506903 1506903 0 0.0
.debug_aranges 133080 133080 0 0.0
.debug_frame 486372 486372 0 0.0
.debug_info 37899568 37899568 0 0.0
.debug_line 5252792 5252792 0 0.0
.debug_loc 3364396 3364396 0 0.0
.debug_ranges 359104 359104 0 0.0
.debug_str 3456111 3456111 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 116536 116536 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 564835 564835 0 0.0
.symtab 171584 171584 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
956552 956552 0 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1283883 1283883 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75142 75142 0 0.0
.bss_psram 29936 29936 0 0.0
.comment 48 48 0 0.0
.data 4800 4800 0 0.0
.debug_abbrev 1644448 1644448 0 0.0
.debug_aranges 140584 140584 0 0.0
.debug_frame 511748 511748 0 0.0
.debug_info 41806178 41806178 0 0.0
.debug_line 5627327 5627327 0 0.0
.debug_loc 3557140 3557140 0 0.0
.debug_ranges 381560 381560 0 0.0
.debug_str 3852011 3852011 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 129928 129928 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 624008 624008 0 0.0
.symtab 189392 189392 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1030254 1030254 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 676491 676491 0 0.0
(read/write) 175044 175044 0 0.0
.bss 81228 81228 0 0.0
.data 3380 3380 0 0.0
.rodata 89547 89547 0 0.0
.text 586632 586632 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 640739 640739 0 0.0
(read/write) 157996 157996 0 0.0
.bss 80500 80500 0 0.0
.data 3380 3380 0 0.0
.rodata 78683 78683 0 0.0
.text 561736 561736 0 0.0
lock-ftd LP_CC2652R7 (read only) 678015 678015 0 0.0
(read/write) 170688 170688 0 0.0
.bss 78484 78484 0 0.0
.data 3304 3304 0 0.0
.rodata 77231 77231 0 0.0
.text 600304 600304 0 0.0
lock-mtd LP_CC2652R7 (read only) 661907 661907 0 0.0
(read/write) 182484 182484 0 0.0
.bss 74172 74172 0 0.0
.data 3304 3304 0 0.0
.rodata 103099 103099 0 0.0
.text 558328 558328 0 0.0
pump-app LP_CC2652R7 (read only) 687339 687339 0 0.0
(read/write) 162068 162068 0 0.0
.bss 78420 78420 0 0.0
.data 3296 3296 0 0.0
.rodata 90531 90531 0 0.0
.text 596324 596324 0 0.0
pump-controller-app LP_CC2652R7 (read only) 671839 671831 -8 -0.0
(read/write) 177680 177688 8 0.0
.bss 78532 78532 0 0.0
.data 3292 3292 0 0.0
.rodata 86087 86087 0 0.0
.text 585272 585264 -8 -0.0
shell LP_CC2652R7 (read only) 667542 667542 0 0.0
(read/write) 186304 186304 0 0.0
.bss 83540 83540 0 0.0
.data 3376 3376 0 0.0
.rodata 86262 86262 0 0.0
.text 580964 580964 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 587290 587290 0 0.0
.app_xip_area 463948 463948 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) 594354 594354 0 0.0
.app_xip_area 465684 465684 0 0.0
.bss 71096 71096 0 0.0
.data 752 752 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 543282 543282 0 0.0
.app_xip_area 424964 424964 0 0.0
.bss 60784 60784 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) 1110520 1110520 0 0.0
.bss 136532 136532 0 0.0
.data 2072 2072 0 0.0
.text 971896 971896 0 0.0
BRD4161A+rpc (read/write) 973676 973676 0 0.0
.bss 151044 151044 0 0.0
.data 2252 2252 0 0.0
.text 820360 820360 0 0.0
BRD4161A+rs911x (read/write) 1003792 1003792 0 0.0
.bss 169368 169368 0 0.0
.data 2064 2064 0 0.0
.text 832340 832340 0 0.0
lock-app BRD4161A+wf200 (read/write) 1151316 1151316 0 0.0
.bss 152248 152248 0 0.0
.data 2072 2072 0 0.0
.text 996976 996976 0 0.0
window-app BRD4161A (read/write) 1102576 1102576 0 0.0
.bss 137980 137980 0 0.0
.data 2096 2096 0 0.0
.text 962480 962480 0 0.0
esp32 all-clusters-app c3devkit (read only) 1222930 1222930 0 0.0
(read/write) 1788054 1788062 8 0.0
.dram0.bss 76944 76944 0 0.0
.dram0.data 13840 13840 0 0.0
.flash.rodata 257624 257632 8 0.0
.flash.text 1222930 1222930 0 0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1233023 1233023 0 0.0
(read/write) 563948 563956 8 0.0
.dram0.bss 82304 82304 0 0.0
.dram0.data 34296 34296 0 0.0
.flash.rodata 314680 314688 8 0.0
.flash.text 1227639 1227639 0 0.0
.iram0.text 123939 123939 0 0.0
k32w light k32w0+release (read/write) 649908 649908 0 0.0
.bss 70712 70712 0 0.0
.data 2068 2068 0 0.0
.text 574400 574400 0 0.0
lock k32w0+release (read/write) 706832 706832 0 0.0
.bss 71160 71160 0 0.0
.data 2076 2076 0 0.0
.text 630868 630868 0 0.0
linux chip-tool-ipv6only arm64 (read only) 10422220 10422220 0 0.0
(read/write) 706257 706257 0 0.0
.bss 33953 33953 0 0.0
.data 2864 2864 0 0.0
.data.rel.ro 650560 650560 0 0.0
.dynamic 560 560 0 0.0
.got 13904 13904 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 517372 517372 0 0.0
.text 8250868 8250868 0 0.0
thermostat-no-ble arm64 (read only) 2387428 2387428 0 0.0
(read/write) 143649 143649 0 0.0
.bss 55361 55361 0 0.0
.data 1912 1912 0 0.0
.data.rel.ro 77208 77208 0 0.0
.dynamic 560 560 0 0.0
.got 5184 5184 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 143644 143644 0 0.0
.text 2001488 2001488 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2455648 2455648 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1418292 1418292 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1182863 1182863 0 0.0
bss 144433 144433 0 0.0
rodata 144208 144208 0 0.0
text 815304 815304 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1161531 1161531 0 0.0
bss 143660 143660 0 0.0
rodata 135780 135780 0 0.0
text 803196 803196 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841968 841968 0 0.0
(read/write) 1744340 1744340 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188712 188712 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 1229470 1229470 0 0.0
.debug_aranges 111816 111816 0 0.0
.debug_frame 373328 373328 0 0.0
.debug_info 26821647 26821646 -1 -0.0
.debug_line 3668858 3668858 0 0.0
.debug_loc 3582935 3582935 0 0.0
.debug_ranges 338928 338928 0 0.0
.debug_str 3439783 3439783 0 0.0
.heap 841968 841968 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 569480 569480 0 0.0
.symtab 421040 421040 0 0.0
.text 1544576 1544576 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842704 842704 0 0.0
(read/write) 1686948 1686948 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 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 1221269 1221269 0 0.0
.debug_aranges 111288 111288 0 0.0
.debug_frame 376408 376408 0 0.0
.debug_info 26558428 26558428 0 0.0
.debug_line 3689574 3689574 0 0.0
.debug_loc 3570572 3570572 0 0.0
.debug_ranges 337544 337544 0 0.0
.debug_str 3428796 3428796 0 0.0
.heap 842704 842704 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 533569 533569 0 0.0
.symtab 407472 407472 0 0.0
.text 1487920 1487920 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850896 850896 0 0.0
(read/write) 1605476 1605476 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179992 179992 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 1055325 1055325 0 0.0
.debug_aranges 103496 103496 0 0.0
.debug_frame 346736 346736 0 0.0
.debug_info 22022609 22022609 0 0.0
.debug_line 3259490 3259490 0 0.0
.debug_loc 3268547 3268547 0 0.0
.debug_ranges 302872 302872 0 0.0
.debug_str 3234328 3234328 0 0.0
.heap 850896 850896 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 469946 469946 0 0.0
.symtab 375920 375920 0 0.0
.text 1414640 1414640 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845864 845864 0 0.0
(read/write) 1643356 1643356 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 185008 185008 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 1062744 1062744 0 0.0
.debug_aranges 104168 104168 0 0.0
.debug_frame 349560 349560 0 0.0
.debug_info 22401975 22401975 0 0.0
.debug_line 3268207 3268207 0 0.0
.debug_loc 3308436 3308436 0 0.0
.debug_ranges 306216 306216 0 0.0
.debug_str 3261783 3261783 0 0.0
.heap 845864 845864 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 476186 476186 0 0.0
.symtab 379152 379152 0 0.0
.text 1447488 1447488 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1148536 1148536 0 0.0
.bss 110548 110548 0 0.0
.data 868 868 0 0.0
.text 595632 595632 0 0.0
lock-app qpg6105+debug (read/write) 1116432 1116432 0 0.0
.bss 106380 106380 0 0.0
.data 872 872 0 0.0
.text 563532 563532 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 814492 814492 0 0.0
bss 72172 72172 0 0.0
noinit 43488 43488 0 0.0
text 574572 574572 0 0.0
lighting-app tlsr9518adk80d (read/write) 836604 836604 0 0.0
bss 73028 73028 0 0.0
noinit 43488 43488 0 0.0
text 592792 592792 0 0.0
ota-requestor-app tlsr9518adk80d (read/write) 844564 844556 -8 -0.0
bss 73936 73936 0 0.0
noinit 43488 43488 0 0.0
text 598978 598976 -2 -0.0

@andy31415 andy31415 merged commit 8b01c85 into project-chip:master Sep 29, 2022
sharad-patil24 pushed a commit to sharad-patil24/connectedhomeip that referenced this pull request Sep 30, 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.

[Documentation] SessionDelegate::OnSessionHang docs header note is inaccurate
3 participants