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 touch member variables from async dispatch. #21506

Merged

Conversation

woody-apple
Copy link
Contributor

We were null-checking members, then calling them from an async block,
by which point they might be null.

Fixes #21453

Problem

Crashes.

Change overview

See above.

Testing

Need to do stress-testing to see how this does on the crash stacks we are seeing...

We were null-checking members, then calling them from an async block,
by which point they might be null.

Fixes #21453
@github-actions
Copy link

github-actions bot commented Aug 2, 2022

PR #21506: Size comparison from c5e7ab6 to c39c4c2

Increases (3 builds for bl602, k32w, telink)
platform target config section c5e7ab6 c39c4c2 change % change
bl602 lighting-app bl602+rpc .text 1084056 1084060 4 0.0
k32w lock k32w0+release (read/write) 701496 701512 16 0.0
.text 626532 626548 16 0.0
telink light-switch-app tlsr9518adk80d text 567938 567940 2 0.0
Decreases (2 builds for nrfconnect, telink)
platform target config section c5e7ab6 c39c4c2 change % change
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180935 1180919 -16 -0.0
text 815508 815504 -4 -0.0
telink lighting-app tlsr9518adk80d (read/write) 820928 820920 -8 -0.0
text 584802 584800 -2 -0.0
Full report (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section c5e7ab6 c39c4c2 change % change
bl602 lighting-app bl602 (read/write) 1382250 1382250 0 0.0
.bss 117626 117626 0 0.0
.data 4480 4480 0 0.0
.text 1052364 1052364 0 0.0
bl602+rpc (read/write) 1427682 1427682 0 0.0
.bss 125066 125066 0 0.0
.data 4600 4600 0 0.0
.text 1084056 1084060 4 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 669707 669707 0 0.0
(read/write) 181676 181676 0 0.0
.bss 74276 74276 0 0.0
.data 3372 3372 0 0.0
.rodata 88467 88467 0 0.0
.text 580924 580924 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 635227 635227 0 0.0
(read/write) 157844 157844 0 0.0
.bss 73556 73556 0 0.0
.data 3372 3372 0 0.0
.rodata 77691 77691 0 0.0
.text 557212 557212 0 0.0
lock-ftd LP_CC2652R7 (read only) 672567 672567 0 0.0
(read/write) 169000 169000 0 0.0
.bss 71348 71348 0 0.0
.data 3296 3296 0 0.0
.rodata 76535 76535 0 0.0
.text 595552 595552 0 0.0
lock-mtd LP_CC2652R7 (read only) 655139 655139 0 0.0
(read/write) 182116 182116 0 0.0
.bss 67036 67036 0 0.0
.data 3296 3296 0 0.0
.rodata 101531 101531 0 0.0
.text 553128 553128 0 0.0
pump-app LP_CC2652R7 (read only) 681055 681055 0 0.0
(read/write) 161320 161320 0 0.0
.bss 71388 71388 0 0.0
.data 3296 3296 0 0.0
.rodata 88919 88919 0 0.0
.text 591652 591652 0 0.0
pump-controller-app LP_CC2652R7 (read only) 666631 666631 0 0.0
(read/write) 175880 175880 0 0.0
.bss 71524 71524 0 0.0
.data 3292 3292 0 0.0
.rodata 84743 84743 0 0.0
.text 581408 581408 0 0.0
shell LP_CC2652R7 (read only) 662406 662406 0 0.0
(read/write) 184496 184496 0 0.0
.bss 76596 76596 0 0.0
.data 3376 3376 0 0.0
.rodata 85446 85446 0 0.0
.text 576644 576644 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 583742 583742 0 0.0
.app_xip_area 460696 460696 0 0.0
.bss 65632 65632 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) 589998 589998 0 0.0
.app_xip_area 462200 462200 0 0.0
.bss 70384 70384 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) 589458 589458 0 0.0
.app_xip_area 467220 467220 0 0.0
.bss 64880 64880 0 0.0
.data 688 688 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1088960 1088960 0 0.0
.bss 133268 133268 0 0.0
.data 2064 2064 0 0.0
.text 953608 953608 0 0.0
BRD4161A+rpc (read/write) 1143300 1143300 0 0.0
.bss 149948 149948 0 0.0
.data 2276 2276 0 0.0
.text 991056 991056 0 0.0
BRD4161A+rs911x (read/write) 974256 974256 0 0.0
.bss 161744 161744 0 0.0
.data 2048 2048 0 0.0
.text 810444 810444 0 0.0
lock-app BRD4161A+wf200 (read/write) 1130096 1130096 0 0.0
.bss 144400 144400 0 0.0
.data 2056 2056 0 0.0
.text 983620 983620 0 0.0
window-app BRD4161A (read/write) 1082252 1082252 0 0.0
.bss 134748 134748 0 0.0
.data 2092 2092 0 0.0
.text 945388 945388 0 0.0
esp32 all-clusters-app c3devkit (read only) 1024394 1024394 0 0.0
(read/write) 1487042 1487042 0 0.0
.dram0.bss 70336 70336 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 216672 216672 0 0.0
.flash.text 1024394 1024394 0 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1077863 1077863 0 0.0
(read/write) 489064 489064 0 0.0
.dram0.bss 75840 75840 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 247084 247084 0 0.0
.flash.text 1072479 1072479 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 643368 643368 0 0.0
.bss 69720 69720 0 0.0
.data 2044 2044 0 0.0
.text 568876 568876 0 0.0
lock k32w0+release (read/write) 701496 701512 16 0.0
.bss 70184 70184 0 0.0
.data 2052 2052 0 0.0
.text 626532 626548 16 0.0
linux chip-tool-ipv6only arm64 (read only) 9889452 9889452 0 0.0
(read/write) 676865 676865 0 0.0
.bss 32897 32897 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 622200 622200 0 0.0
.dynamic 560 560 0 0.0
.got 13536 13536 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 470140 470140 0 0.0
.text 7841300 7841300 0 0.0
thermostat-no-ble arm64 (read only) 2349308 2349308 0 0.0
(read/write) 141761 141761 0 0.0
.bss 55329 55329 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75976 75976 0 0.0
.dynamic 560 560 0 0.0
.got 5016 5016 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 139316 139316 0 0.0
.text 1972480 1972480 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2453224 2453224 0 0.0
.bss 214548 214548 0 0.0
.data 5872 5872 0 0.0
.text 1415868 1415868 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180935 1180919 -16 -0.0
bss 143224 143224 0 0.0
rodata 143344 143344 0 0.0
text 815508 815504 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160811 1160811 0 0.0
bss 142460 142460 0 0.0
rodata 134876 134876 0 0.0
text 804656 804656 0 0.0
p6 all-clusters-app default (read only) 881528 881528 0 0.0
(read/write) 1689268 1689268 0 0.0
.bss 149168 149168 0 0.0
.data 2648 2648 0 0.0
.text 1529064 1529064 0 0.0
all-clusters-minimal-app default (read only) 882248 882248 0 0.0
(read/write) 1633300 1633300 0 0.0
.bss 148448 148448 0 0.0
.data 2648 2648 0 0.0
.text 1473816 1473816 0 0.0
light-app default (read only) 890568 890568 0 0.0
(read/write) 1553348 1553348 0 0.0
.bss 140336 140336 0 0.0
.data 2440 2440 0 0.0
.text 1402184 1402184 0 0.0
lock-app default (read only) 886072 886072 0 0.0
(read/write) 1591988 1591988 0 0.0
.bss 144816 144816 0 0.0
.data 2456 2456 0 0.0
.text 1436328 1436328 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 800512 800512 0 0.0
bss 70808 70808 0 0.0
noinit 40416 40416 0 0.0
text 567938 567940 2 0.0
lighting-app tlsr9518adk80d (read/write) 820928 820920 -8 -0.0
bss 71652 71652 0 0.0
noinit 40416 40416 0 0.0
text 584802 584800 -2 -0.0

@woody-apple woody-apple merged commit 7571349 into sve Aug 2, 2022
@woody-apple woody-apple deleted the cherry-pick-7a4f84f311ebd29857cef880c753a732dd723877 branch August 2, 2022 01:46
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.

2 participants