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

Catch or release ObjectPool leaks #12499

Merged
merged 3 commits into from
Dec 4, 2021

Conversation

kpschoedel
Copy link
Contributor

Problem

ObjectPools are sometimes destroyed while objects
remain live. For BitMapObjectPool case, such objects can't
be safely touched. For HeapObjectPool such objects can be used
but can't be released.

Some leaks have been fixed (#11983, #12031), but there are still
a few remaining.

Fixes #11880 Possible use of destroyed pool objects

Change overview

  • Prevent future leaks by adding an ObjectPool template argument
    specifying what to do if it is destroyed with live objects: abort with
    an error message (the default), release the live objects (which calls
    their destructors), or ignore the condition (transitionally, until all
    leaks are fixed).

  • Fix shutdown ordering in DeviceControllerSystemState.

  • For existing pools in SessionManager, InteractionModelEngine,
    and GroupDataProviderImpl, ignore the condition.

Testing

CI; no changes to external functionality.

#### Problem

No action is taken if an `ObjectPool` is destroyed while objects
remain live. For the `BitMapObjectPool` case, such objects can't
be safely touched. For `HeapObjectPool` such objects can be used
but can't be released.

Some leaks have been fixed (project-chip#11983, project-chip#12031), but there are still
a few remaining.

Fixes project-chip#11880 _Possible use of destroyed pool objects_

#### Change overview

- Add an `ObjectPool` template argument specifying what to do if
  it is destroyed with live objects: abort with an error message
  (the default), release the live objects (which calls their
  destructors), or ignore the condition (transitionally, until
  all leaks are fixed).

- Fix shutdown ordering in `DeviceControllerSystemState`.

- For existing pools in `SessionManager`, `InteractionModelEngine`,
  and `GroupDataProviderImpl`, ignore the condition.

#### Testing

CI; no changes to functionality.
@github-actions
Copy link

github-actions bot commented Dec 2, 2021

PR #12499: Size comparison from 803f3b8 to 8912f0b

Increases above 0.2%:

platform target config section 803f3b8 8912f0b change % change
linux all-clusters-app debug .rodata 146357 147189 832 0.6
bridge-app debug+rpc .rodata 119404 120196 792 0.7
chip-tool debug .rodata 307128 307928 800 0.3
lighting-app debug+rpc .rodata 139185 139985 800 0.6
ota-provider-app debug .rodata 120680 121512 832 0.7
ota-requestor-app debug .rodata 132592 133424 832 0.6
shell debug .rodata 83506 84082 576 0.7
tv-app debug .rodata 169224 170192 968 0.6
Increases (36 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 803f3b8 8912f0b change % change
efr32 lighting-app BRD4161A (read only) 751432 751624 192 0.0
.text 751424 751616 192 0.0
BRD4161A+rpc (read only) 780080 780272 192 0.0
.text 780072 780264 192 0.0
lock-app BRD4161A (read only) 725272 725464 192 0.0
.text 725264 725456 192 0.0
window-app BRD4161A (read only) 728600 728792 192 0.0
.text 728592 728784 192 0.0
esp32 all-clusters-app c3devkit (read only) 847268 847370 102 0.0
.flash.text 847268 847370 102 0.0
m5stack (read only) 917827 917867 40 0.0
(read/write) 422596 422600 4 0.0
.flash.rodata 195436 195440 4 0.0
.flash.text 912443 912483 40 0.0
k32w lighting-app k32w061+se05x+release (read/write) 728608 728688 80 0.0
.text 641668 641748 80 0.0
lock-app k32w061+debug (read/write) 617592 617656 64 0.0
.text 540248 540312 64 0.0
shell k32w061+debug (read/write) 683460 683540 80 0.0
.text 594488 594568 80 0.0
linux all-clusters-app debug (read only) 1835665 1837089 1424 0.1
.rodata 146357 147189 832 0.6
.text 1547506 1548098 592 0.0
bridge-app debug+rpc (read only) 1417669 1419069 1400 0.1
.rodata 119404 120196 792 0.7
.text 1194261 1194869 608 0.1
chip-tool debug (read only) 6613133 6614701 1568 0.0
.rodata 307128 307928 800 0.3
.text 5896373 5897141 768 0.0
lighting-app debug+rpc (read only) 1701465 1702857 1392 0.1
.rodata 139185 139985 800 0.6
.text 1420530 1421122 592 0.0
ota-provider-app debug (read only) 1378201 1379625 1424 0.1
.rodata 120680 121512 832 0.7
.text 1153714 1154306 592 0.1
ota-requestor-app debug (read only) 1478225 1479649 1424 0.1
.rodata 132592 133424 832 0.6
.text 1238386 1238978 592 0.0
shell debug (read only) 813129 814009 880 0.1
.rodata 83506 84082 576 0.7
.text 623538 623842 304 0.0
tv-app debug (read only) 1995169 1996921 1752 0.1
.rodata 169224 170192 968 0.6
.text 1673618 1674402 784 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2308576 2308640 64 0.0
.text 1271152 1271216 64 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2295096 2295160 64 0.0
.text 1257696 1257760 64 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2268128 2268192 64 0.0
.text 1230728 1230792 64 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 891323 891403 80 0.0
text 602684 602752 68 0.0
nrf52840dk_nrf52840+rpc (read/write) 854699 854763 64 0.0
text 577680 577748 68 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 817234 817298 64 0.0
text 533024 533088 64 0.0
lock-app nrf52840dk_nrf52840 (read/write) 862179 862259 80 0.0
text 580936 581004 68 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 788334 788398 64 0.0
text 511368 511432 64 0.0
pump-app nrf52840dk_nrf52840 (read/write) 868195 868275 80 0.0
text 585004 585072 68 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 861275 861339 64 0.0
text 580064 580132 68 0.0
shell nrf52840dk_nrf52840 (read/write) 779911 779927 16 0.0
text 521916 521944 28 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 694938 694970 32 0.0
text 442520 442544 24 0.0
p6 all-clusters-app default (read/write) 2338416 2338608 192 0.0
.text 1296680 1296872 192 0.0
light-app default (read/write) 2278016 2278192 176 0.0
.text 1236280 1236456 176 0.0
lock-app default (read/write) 2253368 2253544 176 0.0
.text 1211632 1211808 176 0.0
qpg lighting-app qpg6100+debug (read only) 510408 510480 72 0.0
.text 505088 505160 72 0.0
lock-app qpg6100+debug (read only) 483232 483304 72 0.0
.text 477912 477984 72 0.0
persistent-storage-app qpg6100+debug (read only) 108208 108224 16 0.0
.text 102888 102904 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 794430 794510 80 0.0
text 554474 554560 86 0.0
Full report (39 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 803f3b8 8912f0b change % change
efr32 lighting-app BRD4161A (read only) 751432 751624 192 0.0
(read/write) 120008 120008 0 0.0
.bss 118176 118176 0 0.0
.data 1828 1828 0 0.0
.text 751424 751616 192 0.0
BRD4161A+rpc (read only) 780080 780272 192 0.0
(read/write) 138312 138312 0 0.0
.bss 136376 136376 0 0.0
.data 1936 1936 0 0.0
.text 780072 780264 192 0.0
lock-app BRD4161A (read only) 725272 725464 192 0.0
(read/write) 117712 117712 0 0.0
.bss 115928 115928 0 0.0
.data 1784 1784 0 0.0
.text 725264 725456 192 0.0
window-app BRD4161A (read only) 728600 728792 192 0.0
(read/write) 118136 118136 0 0.0
.bss 116344 116344 0 0.0
.data 1792 1792 0 0.0
.text 728592 728784 192 0.0
esp32 all-clusters-app c3devkit (read only) 847268 847370 102 0.0
(read/write) 1223618 1223618 0 0.0
.dram0.bss 56472 56472 0 0.0
.dram0.data 14052 14052 0 0.0
.flash.rodata 167632 167632 0 0.0
.flash.text 847268 847370 102 0.0
.iram0.text 61394 61394 0 0.0
m5stack (read only) 917827 917867 40 0.0
(read/write) 422596 422600 4 0.0
.dram0.bss 61864 61864 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 195436 195440 4 0.0
.flash.text 912443 912483 40 0.0
.iram0.text 122943 122943 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 728608 728688 80 0.0
.bss 79280 79280 0 0.0
.data 1860 1860 0 0.0
.text 641668 641748 80 0.0
lock-app k32w061+debug (read/write) 617592 617656 64 0.0
.bss 69720 69720 0 0.0
.data 1824 1824 0 0.0
.text 540248 540312 64 0.0
shell k32w061+debug (read/write) 683460 683540 80 0.0
.bss 81376 81376 0 0.0
.data 1796 1796 0 0.0
.text 594488 594568 80 0.0
linux all-clusters-app debug (read only) 1835665 1837089 1424 0.1
(read/write) 123840 123840 0 0.0
.bss 50640 50640 0 0.0
.data 1120 1120 0 0.0
.data.rel.ro 66816 66816 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 146357 147189 832 0.6
.text 1547506 1548098 592 0.0
bridge-app debug+rpc (read only) 1417669 1419069 1400 0.1
(read/write) 74032 74032 0 0.0
.bss 36048 36048 0 0.0
.data 1728 1728 0 0.0
.data.rel.ro 31248 31248 0 0.0
.dynamic 592 592 0 0.0
.got 3984 3984 0 0.0
.init 27 27 0 0.0
.init_array 408 408 0 0.0
.rodata 119404 120196 792 0.7
.text 1194261 1194869 608 0.1
chip-tool debug (read only) 6613133 6614701 1568 0.0
(read/write) 201744 201744 0 0.0
.bss 34344 34344 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 160824 160824 0 0.0
.dynamic 592 592 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 307128 307928 800 0.3
.text 5896373 5897141 768 0.0
lighting-app debug+rpc (read only) 1701465 1702857 1392 0.1
(read/write) 107088 107088 0 0.0
.bss 41744 41744 0 0.0
.data 1280 1280 0 0.0
.data.rel.ro 58752 58752 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 536 536 0 0.0
.rodata 139185 139985 800 0.6
.text 1420530 1421122 592 0.0
ota-provider-app debug (read only) 1378201 1379625 1424 0.1
(read/write) 72264 72264 0 0.0
.bss 38624 38624 0 0.0
.data 928 928 0 0.0
.data.rel.ro 27592 27592 0 0.0
.dynamic 592 592 0 0.0
.got 4048 4048 0 0.0
.init 27 27 0 0.0
.init_array 448 448 0 0.0
.rodata 120680 121512 832 0.7
.text 1153714 1154306 592 0.1
ota-requestor-app debug (read only) 1478225 1479649 1424 0.1
(read/write) 76160 76160 0 0.0
.bss 40736 40736 0 0.0
.data 992 992 0 0.0
.data.rel.ro 29304 29304 0 0.0
.dynamic 592 592 0 0.0
.got 4032 4032 0 0.0
.init 27 27 0 0.0
.init_array 472 472 0 0.0
.rodata 132592 133424 832 0.6
.text 1238386 1238978 592 0.0
shell debug (read only) 813129 814009 880 0.1
(read/write) 60264 60264 0 0.0
.bss 16904 16904 0 0.0
.data 256 256 0 0.0
.data.rel.ro 38656 38656 0 0.0
.dynamic 592 592 0 0.0
.got 3504 3504 0 0.0
.init 27 27 0 0.0
.init_array 344 344 0 0.0
.rodata 83506 84082 576 0.7
.text 623538 623842 304 0.0
tv-app debug (read only) 1995169 1996921 1752 0.1
(read/write) 316760 316760 0 0.0
.bss 246112 246112 0 0.0
.data 1520 1520 0 0.0
.data.rel.ro 63440 63440 0 0.0
.dynamic 592 592 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 169224 170192 968 0.6
.text 1673618 1674402 784 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2308576 2308640 64 0.0
.bss 179532 179532 0 0.0
.data 5184 5184 0 0.0
.heap 851728 851728 0 0.0
.text 1271152 1271216 64 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2295096 2295160 64 0.0
.bss 173224 173224 0 0.0
.data 5496 5496 0 0.0
.heap 857728 857728 0 0.0
.text 1257696 1257760 64 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2268128 2268192 64 0.0
.bss 172040 172040 0 0.0
.data 5496 5496 0 0.0
.heap 858912 858912 0 0.0
.text 1230728 1230792 64 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4376 4376 0 0.0
.heap 1020312 1020312 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2046576 2046576 0 0.0
.bss 156704 156704 0 0.0
.data 4872 4872 0 0.0
.heap 874872 874872 0 0.0
.text 1009176 1009176 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 891323 891403 80 0.0
bss 113728 113728 0 0.0
rodata 99372 99372 0 0.0
text 602684 602752 68 0.0
nrf52840dk_nrf52840+rpc (read/write) 854699 854763 64 0.0
bss 110076 110076 0 0.0
rodata 90732 90732 0 0.0
text 577680 577748 68 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 817234 817298 64 0.0
bss 115100 115100 0 0.0
rodata 94628 94628 0 0.0
text 533024 533088 64 0.0
lock-app nrf52840dk_nrf52840 (read/write) 862179 862259 80 0.0
bss 110764 110764 0 0.0
rodata 95108 95108 0 0.0
text 580936 581004 68 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 788334 788398 64 0.0
bss 112176 112176 0 0.0
rodata 90400 90400 0 0.0
text 511368 511432 64 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497463 497463 0 0.0
bss 51820 51820 0 0.0
rodata 45852 45852 0 0.0
text 339492 339492 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 868195 868275 80 0.0
bss 110900 110900 0 0.0
rodata 96844 96844 0 0.0
text 585004 585072 68 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 861275 861339 64 0.0
bss 110780 110780 0 0.0
rodata 94980 94980 0 0.0
text 580064 580132 68 0.0
shell nrf52840dk_nrf52840 (read/write) 779911 779927 16 0.0
bss 109696 109696 0 0.0
rodata 73796 73796 0 0.0
text 521916 521944 28 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 694938 694970 32 0.0
bss 110680 110680 0 0.0
rodata 68436 68436 0 0.0
text 442520 442544 24 0.0
p6 all-clusters-app default (read/write) 2338416 2338608 192 0.0
.bss 107720 107720 0 0.0
.data 2456 2456 0 0.0
.heap 923168 923168 0 0.0
.text 1296680 1296872 192 0.0
light-app default (read/write) 2278016 2278192 176 0.0
.bss 98452 98452 0 0.0
.data 2336 2336 0 0.0
.heap 932552 932552 0 0.0
.text 1236280 1236456 176 0.0
lock-app default (read/write) 2253368 2253544 176 0.0
.bss 97108 97108 0 0.0
.data 2296 2296 0 0.0
.heap 933936 933936 0 0.0
.text 1211632 1211808 176 0.0
qpg lighting-app qpg6100+debug (read only) 510408 510480 72 0.0
(read/write) 122332 122332 0 0.0
.bss 80240 80240 0 0.0
.data 964 964 0 0.0
.text 505088 505160 72 0.0
lock-app qpg6100+debug (read only) 483232 483304 72 0.0
(read/write) 122332 122332 0 0.0
.bss 79152 79152 0 0.0
.data 916 916 0 0.0
.text 477912 477984 72 0.0
persistent-storage-app qpg6100+debug (read only) 108208 108224 16 0.0
(read/write) 122332 122332 0 0.0
.bss 36696 36696 0 0.0
.data 292 292 0 0.0
.text 102888 102904 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 794430 794510 80 0.0
bss 80304 80304 0 0.0
noinit 37160 37160 0 0.0
text 554474 554560 86 0.0

@kpschoedel
Copy link
Contributor Author

@kpschoedel
Copy link
Contributor Author

kpschoedel commented Dec 3, 2021

Do not merge yet — there's a (non-merge) conflict with another PR that landed recently. Fixed

@kpschoedel kpschoedel marked this pull request as draft December 3, 2021 19:09
@kpschoedel kpschoedel marked this pull request as ready for review December 3, 2021 19:18
@github-actions
Copy link

github-actions bot commented Dec 3, 2021

PR #12499: Size comparison from e8da685 to d1c79c0

Increases above 0.2%:

platform target config section e8da685 d1c79c0 change % change
linux all-clusters-app debug (read only) 1841265 1847537 6272 0.3
.rodata 148917 150101 1184 0.8
.text 1549410 1554498 5088 0.3
bridge-app debug+rpc (read only) 1426437 1432613 6176 0.4
.rodata 120844 121948 1104 0.9
.text 1200693 1205765 5072 0.4
chip-tool debug .got 4472 4496 24 0.5
.rodata 307096 308344 1248 0.4
lighting-app debug+rpc (read only) 1711585 1717729 6144 0.4
.rodata 141521 142577 1056 0.7
.text 1427394 1432482 5088 0.4
ota-provider-app debug (read only) 1386889 1393289 6400 0.5
.rodata 121608 122792 1184 1.0
.text 1160594 1165810 5216 0.4
ota-requestor-app debug (read only) 1493337 1499929 6592 0.4
.rodata 134096 135248 1152 0.9
.text 1250546 1255986 5440 0.4
shell debug (read only) 819625 823129 3504 0.4
.rodata 83570 84338 768 0.9
.text 629314 631954 2640 0.4
tv-app debug (read only) 2022265 2031753 9488 0.5
.got 4432 4456 24 0.5
.rodata 173960 175344 1384 0.8
.text 1693826 1701618 7792 0.5
Increases (37 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section e8da685 d1c79c0 change % change
efr32 lighting-app BRD4161A (read only) 751704 751976 272 0.0
.text 751696 751968 272 0.0
BRD4161A+rpc (read only) 780368 780632 264 0.0
.text 780360 780624 264 0.0
lock-app BRD4161A (read only) 725704 725992 288 0.0
.text 725696 725984 288 0.0
window-app BRD4161A (read only) 729016 729288 272 0.0
.text 729008 729280 272 0.0
esp32 all-clusters-app c3devkit (read only) 846628 847452 824 0.1
(read/write) 1224122 1224130 8 0.0
.dram0.bss 56584 56616 32 0.1
.flash.text 846628 847452 824 0.1
m5stack (read only) 917155 917843 688 0.1
(read/write) 423084 423096 12 0.0
.dram0.bss 61968 62000 32 0.1
.flash.text 911771 912459 688 0.1
k32w lighting-app k32w061+se05x+release (read/write) 728604 728760 156 0.0
.text 641632 641788 156 0.0
lock-app k32w061+debug (read/write) 617716 617856 140 0.0
.text 540340 540480 140 0.0
shell k32w061+debug (read/write) 683608 683764 156 0.0
.text 594612 594768 156 0.0
linux all-clusters-app debug (read only) 1841265 1847537 6272 0.3
(read/write) 124616 124648 32 0.0
.bss 50896 50928 32 0.1
.rodata 148917 150101 1184 0.8
.text 1549410 1554498 5088 0.3
bridge-app debug+rpc (read only) 1426437 1432613 6176 0.4
(read/write) 74616 74648 32 0.0
.bss 36240 36272 32 0.1
.rodata 120844 121948 1104 0.9
.text 1200693 1205765 5072 0.4
chip-tool debug (read only) 6627557 6636933 9376 0.1
(read/write) 201192 201256 64 0.0
.bss 34504 34536 32 0.1
.got 4472 4496 24 0.5
.rodata 307096 308344 1248 0.4
.text 5912293 5920117 7824 0.1
lighting-app debug+rpc (read only) 1711585 1717729 6144 0.4
(read/write) 107648 107680 32 0.0
.bss 41936 41968 32 0.1
.rodata 141521 142577 1056 0.7
.text 1427394 1432482 5088 0.4
ota-provider-app debug (read only) 1386889 1393289 6400 0.5
(read/write) 72816 72848 32 0.0
.bss 38816 38848 32 0.1
.rodata 121608 122792 1184 1.0
.text 1160594 1165810 5216 0.4
ota-requestor-app debug (read only) 1493337 1499929 6592 0.4
(read/write) 76784 76816 32 0.0
.bss 40960 40992 32 0.1
.rodata 134096 135248 1152 0.9
.text 1250546 1255986 5440 0.4
shell debug (read only) 819625 823129 3504 0.4
(read/write) 60584 60616 32 0.1
.got 3512 3520 8 0.2
.rodata 83570 84338 768 0.9
.text 629314 631954 2640 0.4
tv-app debug (read only) 2022265 2031753 9488 0.5
(read/write) 320000 320032 32 0.0
.bss 247224 247256 32 0.0
.got 4432 4456 24 0.5
.rodata 173960 175344 1384 0.8
.text 1693826 1701618 7792 0.5
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2305920 2306600 680 0.0
.bss 179644 179676 32 0.0
.text 1268496 1269176 680 0.1
lighting-app CY8CPROTO_062_4343W+release (read/write) 2295744 2296424 680 0.0
.bss 173272 173304 32 0.0
.text 1258344 1259024 680 0.1
lock-app CY8CPROTO_062_4343W+release (read/write) 2268968 2269584 616 0.0
.bss 172088 172120 32 0.0
.text 1231568 1232184 616 0.1
shell CY8CPROTO_062_4343W+release (read/write) 2046960 2047472 512 0.0
.text 1009560 1010072 512 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 891639 891779 140 0.0
text 602728 602892 164 0.0
nrf52840dk_nrf52840+rpc (read/write) 855015 855155 140 0.0
text 577724 577888 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 817550 817690 140 0.0
text 533064 533228 164 0.0
lock-app nrf52840dk_nrf52840 (read/write) 862607 862747 140 0.0
text 581092 581256 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 788762 788902 140 0.0
text 511520 511684 164 0.0
pump-app nrf52840dk_nrf52840 (read/write) 868447 868603 156 0.0
text 584984 585152 168 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 861687 861843 156 0.0
text 580216 580384 168 0.0
shell nrf52840dk_nrf52840 (read/write) 779907 779939 32 0.0
text 521920 521948 28 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 694934 694966 32 0.0
text 442524 442548 24 0.0
p6 all-clusters-app default (read/write) 2338312 2339280 968 0.0
.bss 107828 107860 32 0.0
.text 1296576 1297544 968 0.1
light-app default (read/write) 2279024 2279984 960 0.0
.bss 98504 98536 32 0.0
.text 1237288 1238248 960 0.1
lock-app default (read/write) 2254520 2255480 960 0.0
.bss 97160 97192 32 0.0
.text 1212784 1213744 960 0.1
qpg lighting-app qpg6100+debug (read only) 510404 510544 140 0.0
.text 505084 505224 140 0.0
lock-app qpg6100+debug (read only) 483316 483464 148 0.0
.text 477996 478144 148 0.0
persistent-storage-app qpg6100+debug (read only) 108208 108224 16 0.0
.text 102888 102904 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 794710 794874 164 0.0
text 554486 554672 186 0.0
Decreases (15 builds for esp32, mbed, nrfconnect, p6)
platform target config section e8da685 d1c79c0 change % change
esp32 all-clusters-app c3devkit .flash.rodata 168024 168000 -24 -0.0
m5stack .flash.rodata 195820 195800 -20 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release .heap 851616 851584 -32 -0.0
lighting-app CY8CPROTO_062_4343W+release .heap 857680 857648 -32 -0.0
lock-app CY8CPROTO_062_4343W+release .heap 858864 858832 -32 -0.0
nrfconnect lighting-app nrf52840dk_nrf52840 rodata 99608 99588 -20 -0.0
nrf52840dk_nrf52840+rpc rodata 90968 90948 -20 -0.0
nrf5340dk_nrf5340_cpuapp rodata 94864 94844 -20 -0.0
lock-app nrf52840dk_nrf52840 rodata 95344 95324 -20 -0.0
nrf5340dk_nrf5340_cpuapp rodata 90636 90616 -20 -0.0
pump-app nrf52840dk_nrf52840 rodata 97080 97060 -20 -0.0
pump-controller-app nrf52840dk_nrf52840 rodata 95216 95196 -20 -0.0
p6 all-clusters-app default .heap 923056 923024 -32 -0.0
light-app default .heap 932504 932472 -32 -0.0
lock-app default .heap 933888 933856 -32 -0.0
Full report (39 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section e8da685 d1c79c0 change % change
efr32 lighting-app BRD4161A (read only) 751704 751976 272 0.0
(read/write) 120032 120032 0 0.0
.bss 118200 118200 0 0.0
.data 1828 1828 0 0.0
.text 751696 751968 272 0.0
BRD4161A+rpc (read only) 780368 780632 264 0.0
(read/write) 138336 138336 0 0.0
.bss 136400 136400 0 0.0
.data 1936 1936 0 0.0
.text 780360 780624 264 0.0
lock-app BRD4161A (read only) 725704 725992 288 0.0
(read/write) 117736 117736 0 0.0
.bss 115952 115952 0 0.0
.data 1784 1784 0 0.0
.text 725696 725984 288 0.0
window-app BRD4161A (read only) 729016 729288 272 0.0
(read/write) 118168 118168 0 0.0
.bss 116376 116376 0 0.0
.data 1792 1792 0 0.0
.text 729008 729280 272 0.0
esp32 all-clusters-app c3devkit (read only) 846628 847452 824 0.1
(read/write) 1224122 1224130 8 0.0
.dram0.bss 56584 56616 32 0.1
.dram0.data 14052 14052 0 0.0
.flash.rodata 168024 168000 -24 -0.0
.flash.text 846628 847452 824 0.1
.iram0.text 61394 61394 0 0.0
m5stack (read only) 917155 917843 688 0.1
(read/write) 423084 423096 12 0.0
.dram0.bss 61968 62000 32 0.1
.dram0.data 34016 34016 0 0.0
.flash.rodata 195820 195800 -20 -0.0
.flash.text 911771 912459 688 0.1
.iram0.text 122943 122943 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 728604 728760 156 0.0
.bss 79312 79312 0 0.0
.data 1860 1860 0 0.0
.text 641632 641788 156 0.0
lock-app k32w061+debug (read/write) 617716 617856 140 0.0
.bss 69752 69752 0 0.0
.data 1824 1824 0 0.0
.text 540340 540480 140 0.0
shell k32w061+debug (read/write) 683608 683764 156 0.0
.bss 81400 81400 0 0.0
.data 1796 1796 0 0.0
.text 594612 594768 156 0.0
linux all-clusters-app debug (read only) 1841265 1847537 6272 0.3
(read/write) 124616 124648 32 0.0
.bss 50896 50928 32 0.1
.data 1120 1120 0 0.0
.data.rel.ro 67184 67184 0 0.0
.dynamic 592 592 0 0.0
.got 4120 4120 0 0.0
.init 27 27 0 0.0
.init_array 688 688 0 0.0
.rodata 148917 150101 1184 0.8
.text 1549410 1554498 5088 0.3
bridge-app debug+rpc (read only) 1426437 1432613 6176 0.4
(read/write) 74616 74648 32 0.0
.bss 36240 36272 32 0.1
.data 1728 1728 0 0.0
.data.rel.ro 31560 31560 0 0.0
.dynamic 592 592 0 0.0
.got 3992 3992 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 120844 121948 1104 0.9
.text 1200693 1205765 5072 0.4
chip-tool debug (read only) 6627557 6636933 9376 0.1
(read/write) 201192 201256 64 0.0
.bss 34504 34536 32 0.1
.data 1024 1024 0 0.0
.data.rel.ro 160024 160024 0 0.0
.dynamic 592 592 0 0.0
.got 4472 4496 24 0.5
.init 27 27 0 0.0
.init_array 568 568 0 0.0
.rodata 307096 308344 1248 0.4
.text 5912293 5920117 7824 0.1
lighting-app debug+rpc (read only) 1711585 1717729 6144 0.4
(read/write) 107648 107680 32 0.0
.bss 41936 41968 32 0.1
.data 1280 1280 0 0.0
.data.rel.ro 59056 59056 0 0.0
.dynamic 608 608 0 0.0
.got 4144 4144 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 141521 142577 1056 0.7
.text 1427394 1432482 5088 0.4
ota-provider-app debug (read only) 1386889 1393289 6400 0.5
(read/write) 72816 72848 32 0.0
.bss 38816 38848 32 0.1
.data 928 928 0 0.0
.data.rel.ro 27880 27880 0 0.0
.dynamic 592 592 0 0.0
.got 4056 4056 0 0.0
.init 27 27 0 0.0
.init_array 520 520 0 0.0
.rodata 121608 122792 1184 1.0
.text 1160594 1165810 5216 0.4
ota-requestor-app debug (read only) 1493337 1499929 6592 0.4
(read/write) 76784 76816 32 0.0
.bss 40960 40992 32 0.1
.data 992 992 0 0.0
.data.rel.ro 29592 29592 0 0.0
.dynamic 592 592 0 0.0
.got 4072 4072 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 134096 135248 1152 0.9
.text 1250546 1255986 5440 0.4
shell debug (read only) 819625 823129 3504 0.4
(read/write) 60584 60616 32 0.1
.bss 16936 16936 0 0.0
.data 256 256 0 0.0
.data.rel.ro 38936 38936 0 0.0
.dynamic 592 592 0 0.0
.got 3512 3520 8 0.2
.init 27 27 0 0.0
.init_array 344 344 0 0.0
.rodata 83570 84338 768 0.9
.text 629314 631954 2640 0.4
tv-app debug (read only) 2022265 2031753 9488 0.5
(read/write) 320000 320032 32 0.0
.bss 247224 247256 32 0.0
.data 2768 2768 0 0.0
.data.rel.ro 64200 64200 0 0.0
.dynamic 592 592 0 0.0
.got 4432 4456 24 0.5
.init 27 27 0 0.0
.init_array 736 736 0 0.0
.rodata 173960 175344 1384 0.8
.text 1693826 1701618 7792 0.5
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2305920 2306600 680 0.0
.bss 179644 179676 32 0.0
.data 5184 5184 0 0.0
.heap 851616 851584 -32 -0.0
.text 1268496 1269176 680 0.1
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2295744 2296424 680 0.0
.bss 173272 173304 32 0.0
.data 5496 5496 0 0.0
.heap 857680 857648 -32 -0.0
.text 1258344 1259024 680 0.1
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2268968 2269584 616 0.0
.bss 172088 172120 32 0.0
.data 5496 5496 0 0.0
.heap 858864 858832 -32 -0.0
.text 1231568 1232184 616 0.1
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4376 4376 0 0.0
.heap 1020312 1020312 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2046960 2047472 512 0.0
.bss 156732 156732 0 0.0
.data 4872 4872 0 0.0
.heap 874840 874840 0 0.0
.text 1009560 1010072 512 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 891639 891779 140 0.0
bss 113756 113756 0 0.0
rodata 99608 99588 -20 -0.0
text 602728 602892 164 0.0
nrf52840dk_nrf52840+rpc (read/write) 855015 855155 140 0.0
bss 110104 110104 0 0.0
rodata 90968 90948 -20 -0.0
text 577724 577888 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 817550 817690 140 0.0
bss 115128 115128 0 0.0
rodata 94864 94844 -20 -0.0
text 533064 533228 164 0.0
lock-app nrf52840dk_nrf52840 (read/write) 862607 862747 140 0.0
bss 110792 110792 0 0.0
rodata 95344 95324 -20 -0.0
text 581092 581256 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 788762 788902 140 0.0
bss 112204 112204 0 0.0
rodata 90636 90616 -20 -0.0
text 511520 511684 164 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497463 497463 0 0.0
bss 51820 51820 0 0.0
rodata 45852 45852 0 0.0
text 339492 339492 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 868447 868603 156 0.0
bss 110928 110928 0 0.0
rodata 97080 97060 -20 -0.0
text 584984 585152 168 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 861687 861843 156 0.0
bss 110808 110808 0 0.0
rodata 95216 95196 -20 -0.0
text 580216 580384 168 0.0
shell nrf52840dk_nrf52840 (read/write) 779907 779939 32 0.0
bss 109696 109696 0 0.0
rodata 73792 73792 0 0.0
text 521920 521948 28 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 694934 694966 32 0.0
bss 110680 110680 0 0.0
rodata 68432 68432 0 0.0
text 442524 442548 24 0.0
p6 all-clusters-app default (read/write) 2338312 2339280 968 0.0
.bss 107828 107860 32 0.0
.data 2456 2456 0 0.0
.heap 923056 923024 -32 -0.0
.text 1296576 1297544 968 0.1
light-app default (read/write) 2279024 2279984 960 0.0
.bss 98504 98536 32 0.0
.data 2336 2336 0 0.0
.heap 932504 932472 -32 -0.0
.text 1237288 1238248 960 0.1
lock-app default (read/write) 2254520 2255480 960 0.0
.bss 97160 97192 32 0.0
.data 2296 2296 0 0.0
.heap 933888 933856 -32 -0.0
.text 1212784 1213744 960 0.1
qpg lighting-app qpg6100+debug (read only) 510404 510544 140 0.0
(read/write) 122332 122332 0 0.0
.bss 80272 80272 0 0.0
.data 964 964 0 0.0
.text 505084 505224 140 0.0
lock-app qpg6100+debug (read only) 483316 483464 148 0.0
(read/write) 122332 122332 0 0.0
.bss 79184 79184 0 0.0
.data 916 916 0 0.0
.text 477996 478144 148 0.0
persistent-storage-app qpg6100+debug (read only) 108208 108224 16 0.0
(read/write) 122332 122332 0 0.0
.bss 36696 36696 0 0.0
.data 292 292 0 0.0
.text 102888 102904 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 794710 794874 164 0.0
bss 80332 80332 0 0.0
noinit 37160 37160 0 0.0
text 554486 554672 186 0.0

@andy31415 andy31415 merged commit c68f199 into project-chip:master Dec 4, 2021
@kpschoedel kpschoedel deleted the x7715-pool-destructor branch December 6, 2021 14:05
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.

Possible use of destroyed pool objects
3 participants