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 include checking for src/include/platform/internal/*.cpp #15121

Merged
merged 1 commit into from
Mar 22, 2022

Conversation

mspang
Copy link
Contributor

@mspang mspang commented Feb 12, 2022

Problem

Since these .cpp files are included instead of being listed in sources,
they are not processed by the include checker. This has allowed the
introduction of a dependency cycle in

1e8ed9d ("Updated Device to Get PASE Verifier from Memory. (#14676)")

which in turn result in the following build flake:

  FAILED: obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o
  g++ -MMD -MF obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o.d -target x86_64-apple-macos10.15 -O0 -g2 -fno-common -ffunction-sections -fdata-sections -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -Wall -Werror -Wextra -Wshadow -Wunreachable-code -Wvla -Wformat -Wformat-nonliteral -Wformat-security -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-cast-function-type -fno-strict-aliasing -target x86_64-apple-macos10.15 -arch arm64 -arch x86_64 -fobjc-arc -std=gnu++14 -fno-rtti -Wnon-virtual-dtor -DCHIP_HAVE_CONFIG_H=1 -I../../../../../../../../src/include -I../../../../../../../../src -Igen/include -I../../../../../../../../zzz_generated/app-common -I../../../../../../../../config/standalone -I../../../../../../../../third_party/nlassert/repo/include -I../../../../../../../../third_party/nlio/repo/include -I../../../../../../../../third_party/mbedtls/repo/include -c ../../../../../../../../src/platform/Darwin/ConfigurationManagerImpl.cpp -o obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o
  In file included from ../../../../../../../../src/platform/Darwin/ConfigurationManagerImpl.cpp:31:
  In file included from ../../../../../../../../src/include/platform/internal/GenericConfigurationManagerImpl.cpp:38:
  In file included from ../../../../../../../../src/protocols/secure_channel/PASESession.h:34:
  In file included from ../../../../../../../../src/messaging/ExchangeContext.h:31:
  In file included from ../../../../../../../../src/messaging/ExchangeDelegate.h:27:
  In file included from ../../../../../../../../src/messaging/ApplicationExchangeDispatch.h:28:
  In file included from ../../../../../../../../src/messaging/ExchangeMessageDispatch.h:27:
  In file included from ../../../../../../../../src/transport/SessionManager.h:39:
  In file included from ../../../../../../../../src/transport/GroupSession.h:22:
  In file included from ../../../../../../../../src/transport/Session.h:19:
  In file included from ../../../../../../../../src/credentials/FabricTable.h:27:
  In file included from ../../../../../../../../src/credentials/CHIPCert.h:34:
  ../../../../../../../../src/lib/asn1/ASN1.h:30:10: fatal error: 'asn1/ASN1OID.h' file not found
  #include <asn1/ASN1OID.h>
           ^~~~~~~~~~~~~~~~
  1 error generated.

The requisite dependency for this include cannot be added, because it
results in a cycle:

  ERROR Dependency cycle:
    //src/platform:platform ->
    //src/protocols/secure_channel:secure_channel ->
    //src/messaging:messaging ->
    //src/platform:platform

Change overview

Fix the diagnostic so that dependency errors in these files are caught:

  ERROR at //src/include/platform/internal/GenericConfigurationManagerImpl.ipp:38:11: Include not allowed.
  #include <protocols/secure_channel/PASESession.h>
	    ^-------------------------------------
  It is not in any dependency of
    //src/platform:platform
  The include file is in the target(s):
    //src/protocols/secure_channel:secure_channel
  which should somehow be reachable.

Testing

gn gen --check out/host

@mspang
Copy link
Contributor Author

mspang commented Feb 12, 2022

@emargolis

@mspang
Copy link
Contributor Author

mspang commented Feb 12, 2022

This does not fix the cycle or revert the change that added it. That needs to be done before this will pass CI.

@github-actions
Copy link

github-actions bot commented Feb 18, 2022

PR #15121: Size comparison from f2b344c to d65b3d6

Full report (11 builds for cyw30739, k32w, linux, qpg, telink)
platform target config section f2b344c d65b3d6 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 599298 599298 0 0.0
.app_xip_area 503232 503232 0 0.0
.bss 78764 78764 0 0.0
.data 644 644 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 557334 557334 0 0.0
.app_xip_area 462812 462812 0 0.0
.bss 77260 77260 0 0.0
.data 608 608 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 578570 578570 0 0.0
.app_xip_area 474624 474624 0 0.0
.bss 86356 86356 0 0.0
.data 552 552 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
k32w light k32w061+release (read/write) 692500 692500 0 0.0
.bss 78384 78384 0 0.0
.data 1912 1912 0 0.0
.text 606404 606404 0 0.0
lock k32w061+release (read/write) 695048 695048 0 0.0
.bss 78600 78600 0 0.0
.data 1952 1952 0 0.0
.text 608696 608696 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8781772 8781772 0 0.0
(read/write) 432641 432641 0 0.0
.bss 58977 58977 0 0.0
.data 1216 1216 0 0.0
.data.rel.ro 317776 317776 0 0.0
.dynamic 560 560 0 0.0
.got 50880 50880 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 454596 454596 0 0.0
.text 7412804 7412804 0 0.0
thermostat-no-ble arm64 (read only) 2167740 2167740 0 0.0
(read/write) 151137 151137 0 0.0
.bss 67521 67521 0 0.0
.data 1032 1032 0 0.0
.data.rel.ro 75384 75384 0 0.0
.dynamic 560 560 0 0.0
.got 4216 4216 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 134060 134060 0 0.0
.text 1814240 1814240 0 0.0
qpg lighting-app qpg6105+debug (read only) 600148 600148 0 0.0
(read/write) 146940 146940 0 0.0
.bss 90944 90944 0 0.0
.data 1112 1112 0 0.0
.text 594828 594828 0 0.0
lock-app qpg6105+debug (read only) 565916 565916 0 0.0
(read/write) 146940 146940 0 0.0
.bss 90952 90952 0 0.0
.data 1064 1064 0 0.0
.text 560596 560596 0 0.0
persistent-storage-app qpg6105+debug (read only) 99536 99536 0 0.0
(read/write) 146941 146941 0 0.0
.bss 24001 24001 0 0.0
.data 180 180 0 0.0
.text 94216 94216 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 878766 878766 0 0.0
bss 87500 87500 0 0.0
noinit 37160 37160 0 0.0
text 618928 618928 0 0.0

@mspang mspang force-pushed the for-chip/fix-icheck branch from d65b3d6 to aad5e2c Compare February 18, 2022 23:30
@github-actions
Copy link

github-actions bot commented Feb 18, 2022

PR #15121: Size comparison from f2b344c to aad5e2c

Full report (41 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section f2b344c aad5e2c change % change
cyw30739 light cyw930739m2evb_01 (read/write) 599298 599298 0 0.0
.app_xip_area 503232 503232 0 0.0
.bss 78764 78764 0 0.0
.data 644 644 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 557334 557334 0 0.0
.app_xip_area 462812 462812 0 0.0
.bss 77260 77260 0 0.0
.data 608 608 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 578570 578570 0 0.0
.app_xip_area 474624 474624 0 0.0
.bss 86356 86356 0 0.0
.data 552 552 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 916284 916284 0 0.0
(read/write) 129500 129500 0 0.0
.bss 127464 127464 0 0.0
.data 2036 2036 0 0.0
.text 916276 916276 0 0.0
BRD4161A+rpc (read only) 944992 944992 0 0.0
(read/write) 146416 146416 0 0.0
.bss 144240 144240 0 0.0
.data 2176 2176 0 0.0
.text 944984 944984 0 0.0
window-app BRD4161A (read only) 850108 850108 0 0.0
(read/write) 127416 127416 0 0.0
.bss 125512 125512 0 0.0
.data 1904 1904 0 0.0
.text 850100 850100 0 0.0
k32w light k32w061+release (read/write) 692500 692500 0 0.0
.bss 78384 78384 0 0.0
.data 1912 1912 0 0.0
.text 606404 606404 0 0.0
lock k32w061+release (read/write) 695048 695048 0 0.0
.bss 78600 78600 0 0.0
.data 1952 1952 0 0.0
.text 608696 608696 0 0.0
linux all-clusters-app debug (read only) 2386393 2386393 0 0.0
(read/write) 149696 149696 0 0.0
.bss 64032 64032 0 0.0
.data 1328 1328 0 0.0
.data.rel.ro 78632 78632 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 206949 206949 0 0.0
.text 2015906 2015906 0 0.0
bridge-app debug+rpc (read only) 1734973 1734973 0 0.0
(read/write) 94840 94840 0 0.0
.bss 49312 49312 0 0.0
.data 2010 2010 0 0.0
.data.rel.ro 38376 38376 0 0.0
.dynamic 592 592 0 0.0
.got 3952 3952 0 0.0
.init 27 27 0 0.0
.init_array 560 560 0 0.0
.rodata 142644 142644 0 0.0
.text 1475493 1475493 0 0.0
chip-tool debug (read only) 9061893 9061893 0 0.0
(read/write) 320368 320368 0 0.0
.bss 40728 40728 0 0.0
.data 1184 1184 0 0.0
.data.rel.ro 272424 272424 0 0.0
.dynamic 608 608 0 0.0
.got 4784 4784 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 478037 478037 0 0.0
.text 7923781 7923781 0 0.0
chip-tool-ipv6only arm64 (read only) 8781772 8781772 0 0.0
(read/write) 432641 432641 0 0.0
.bss 58977 58977 0 0.0
.data 1216 1216 0 0.0
.data.rel.ro 317776 317776 0 0.0
.dynamic 560 560 0 0.0
.got 50880 50880 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 454596 454596 0 0.0
.text 7412804 7412804 0 0.0
door-lock-app debug (read only) 1947505 1947505 0 0.0
(read/write) 120904 120904 0 0.0
.bss 52000 52000 0 0.0
.data 986 986 0 0.0
.data.rel.ro 62496 62496 0 0.0
.dynamic 592 592 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 174172 174172 0 0.0
.text 1623826 1623826 0 0.0
lighting-app debug+rpc (read only) 2073969 2073969 0 0.0
(read/write) 125880 125880 0 0.0
.bss 52992 52992 0 0.0
.data 1376 1376 0 0.0
.data.rel.ro 65984 65984 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 720 720 0 0.0
.rodata 166737 166737 0 0.0
.text 1751586 1751586 0 0.0
ota-provider-app debug (read only) 1880873 1880873 0 0.0
(read/write) 116568 116568 0 0.0
.bss 51872 51872 0 0.0
.data 1224 1224 0 0.0
.data.rel.ro 57816 57816 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 159003 159003 0 0.0
.text 1570258 1570258 0 0.0
ota-requestor-app debug (read only) 1893905 1893905 0 0.0
(read/write) 117952 117952 0 0.0
.bss 52288 52288 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 59080 59080 0 0.0
.dynamic 592 592 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 153388 153388 0 0.0
.text 1590578 1590578 0 0.0
shell debug (read only) 2361265 2361265 0 0.0
(read/write) 152112 152112 0 0.0
.bss 72384 72384 0 0.0
.data 832 832 0 0.0
.data.rel.ro 73216 73216 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 207986 207986 0 0.0
.text 1995874 1995874 0 0.0
thermostat-no-ble arm64 (read only) 2167740 2167740 0 0.0
(read/write) 151137 151137 0 0.0
.bss 67521 67521 0 0.0
.data 1032 1032 0 0.0
.data.rel.ro 75384 75384 0 0.0
.dynamic 560 560 0 0.0
.got 4216 4216 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 134060 134060 0 0.0
.text 1814240 1814240 0 0.0
tv-app debug (read only) 2560345 2560345 0 0.0
(read/write) 152928 152928 0 0.0
.bss 70144 70144 0 0.0
.data 3168 3168 0 0.0
.data.rel.ro 73576 73576 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 199405 199405 0 0.0
.text 2186690 2186690 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2430660 2430660 0 0.0
.bss 194564 194564 0 0.0
.data 5328 5328 0 0.0
.text 1393232 1393232 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2392780 2392780 0 0.0
.bss 188432 188432 0 0.0
.data 5632 5632 0 0.0
.text 1355352 1355352 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2328224 2328224 0 0.0
.bss 187432 187432 0 0.0
.data 5608 5608 0 0.0
.text 1290824 1290824 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139840 1139840 0 0.0
.bss 11796 11796 0 0.0
.data 4368 4368 0 0.0
.text 103224 103224 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2319124 2319124 0 0.0
.bss 185980 185980 0 0.0
.data 5440 5440 0 0.0
.text 1281696 1281696 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 1023355 1023355 0 0.0
bss 123528 123528 0 0.0
rodata 120904 120904 0 0.0
text 699908 699908 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 992667 992667 0 0.0
bss 120716 120716 0 0.0
rodata 112448 112448 0 0.0
text 679812 679812 0 0.0
nrf52840dongle_nrf52840 (read/write) 1038111 1038111 0 0.0
bss 124748 124748 0 0.0
rodata 119736 119736 0 0.0
text 703720 703720 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 929966 929966 0 0.0
bss 120088 120088 0 0.0
rodata 114160 114160 0 0.0
text 614936 614936 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 952119 952119 0 0.0
bss 121756 121756 0 0.0
rodata 109740 109740 0 0.0
text 642024 642024 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 859598 859598 0 0.0
bss 118348 118348 0 0.0
rodata 102912 102912 0 0.0
text 557828 557828 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 527595 527595 0 0.0
bss 53632 53632 0 0.0
rodata 49976 49976 0 0.0
text 361016 361016 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 950695 950695 0 0.0
bss 121476 121476 0 0.0
rodata 108692 108692 0 0.0
text 641844 641844 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 946659 946659 0 0.0
bss 121480 121480 0 0.0
rodata 108392 108392 0 0.0
text 638084 638084 0 0.0
shell nrf52840dk_nrf52840 (read/write) 811335 811335 0 0.0
bss 113324 113324 0 0.0
rodata 79676 79676 0 0.0
text 540680 540680 0 0.0
p6 all-clusters-app default (read/write) 2489048 2489048 0 0.0
.bss 122872 122872 0 0.0
.data 2672 2672 0 0.0
.text 1447312 1447312 0 0.0
light-app default (read/write) 2394600 2394600 0 0.0
.bss 113896 113896 0 0.0
.data 2528 2528 0 0.0
.text 1352864 1352864 0 0.0
lock-app default (read/write) 2358176 2358176 0 0.0
.bss 113648 113648 0 0.0
.data 2488 2488 0 0.0
.text 1316440 1316440 0 0.0
qpg lighting-app qpg6105+debug (read only) 600148 600148 0 0.0
(read/write) 146940 146940 0 0.0
.bss 90944 90944 0 0.0
.data 1112 1112 0 0.0
.text 594828 594828 0 0.0
lock-app qpg6105+debug (read only) 565916 565916 0 0.0
(read/write) 146940 146940 0 0.0
.bss 90952 90952 0 0.0
.data 1064 1064 0 0.0
.text 560596 560596 0 0.0
persistent-storage-app qpg6105+debug (read only) 99536 99536 0 0.0
(read/write) 146941 146941 0 0.0
.bss 24001 24001 0 0.0
.data 180 180 0 0.0
.text 94216 94216 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 878766 878766 0 0.0
bss 87500 87500 0 0.0
noinit 37160 37160 0 0.0
text 618928 618928 0 0.0

@stale
Copy link

stale bot commented Feb 28, 2022

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Feb 28, 2022
@stale stale bot removed the stale Stale issue or PR label Mar 2, 2022
@woody-apple
Copy link
Contributor

Fast tracking, given this has had enough time for review.

@stale
Copy link

stale bot commented Mar 17, 2022

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Mar 17, 2022
Since these .cpp files are included instead of being listed in sources,
they are not processed by the include checker. This has allowed the
introduction of a dependency cycle in

  1e8ed9d ("Updated Device to Get PASE Verifier from Memory. (project-chip#14676)")

which in turn result in the following build flake:

  FAILED: obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o
  g++ -MMD -MF obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o.d -target x86_64-apple-macos10.15 -O0 -g2 -fno-common -ffunction-sections -fdata-sections -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -Wall -Werror -Wextra -Wshadow -Wunreachable-code -Wvla -Wformat -Wformat-nonliteral -Wformat-security -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-cast-function-type -fno-strict-aliasing -target x86_64-apple-macos10.15 -arch arm64 -arch x86_64 -fobjc-arc -std=gnu++14 -fno-rtti -Wnon-virtual-dtor -DCHIP_HAVE_CONFIG_H=1 -I../../../../../../../../src/include -I../../../../../../../../src -Igen/include -I../../../../../../../../zzz_generated/app-common -I../../../../../../../../config/standalone -I../../../../../../../../third_party/nlassert/repo/include -I../../../../../../../../third_party/nlio/repo/include -I../../../../../../../../third_party/mbedtls/repo/include -c ../../../../../../../../src/platform/Darwin/ConfigurationManagerImpl.cpp -o obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o
  In file included from ../../../../../../../../src/platform/Darwin/ConfigurationManagerImpl.cpp:31:
  In file included from ../../../../../../../../src/include/platform/internal/GenericConfigurationManagerImpl.cpp:38:
  In file included from ../../../../../../../../src/protocols/secure_channel/PASESession.h:34:
  In file included from ../../../../../../../../src/messaging/ExchangeContext.h:31:
  In file included from ../../../../../../../../src/messaging/ExchangeDelegate.h:27:
  In file included from ../../../../../../../../src/messaging/ApplicationExchangeDispatch.h:28:
  In file included from ../../../../../../../../src/messaging/ExchangeMessageDispatch.h:27:
  In file included from ../../../../../../../../src/transport/SessionManager.h:39:
  In file included from ../../../../../../../../src/transport/GroupSession.h:22:
  In file included from ../../../../../../../../src/transport/Session.h:19:
  In file included from ../../../../../../../../src/credentials/FabricTable.h:27:
  In file included from ../../../../../../../../src/credentials/CHIPCert.h:34:
  ../../../../../../../../src/lib/asn1/ASN1.h:30:10: fatal error: 'asn1/ASN1OID.h' file not found
  #include <asn1/ASN1OID.h>
           ^~~~~~~~~~~~~~~~
  1 error generated.

The requisite dependency for this include cannot be added, because it
results in a cycle:

  ERROR Dependency cycle:
    //src/platform:platform ->
    //src/protocols/secure_channel:secure_channel ->
    //src/messaging:messaging ->
    //src/platform:platform

Fix the diagnostic so that dependency errors in these files are caught:

  ERROR at //src/include/platform/internal/GenericConfigurationManagerImpl.ipp:38:11: Include not allowed.
  #include <protocols/secure_channel/PASESession.h>
	    ^-------------------------------------
  It is not in any dependency of
    //src/platform:platform
  The include file is in the target(s):
    //src/protocols/secure_channel:secure_channel
  which should somehow be reachable.
@mspang mspang force-pushed the for-chip/fix-icheck branch from aad5e2c to 82e81d9 Compare March 22, 2022 15:40
@stale stale bot removed the stale Stale issue or PR label Mar 22, 2022
@github-actions
Copy link

github-actions bot commented Mar 22, 2022

PR #15121: Size comparison from 2e658fb to 82e81d9

Full report (38 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 2e658fb 82e81d9 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) 852384 852384 0 0.0
(read/write) 126720 126720 0 0.0
.bss 124856 124856 0 0.0
.data 1864 1864 0 0.0
.text 852376 852376 0 0.0
esp32 all-clusters-app c3devkit (read only) 963776 963776 0 0.0
(read/write) 1393690 1393690 0 0.0
.dram0.bss 62072 62072 0 0.0
.dram0.data 14188 14188 0 0.0
.flash.rodata 198512 198512 0 0.0
.flash.text 963776 963776 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1020319 1020319 0 0.0
(read/write) 461460 461460 0 0.0
.dram0.bss 67592 67592 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 228016 228016 0 0.0
.flash.text 1014935 1014935 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) 2477089 2477089 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 2101634 2101634 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 10145893 0 0.0
(read/write) 354848 354848 0 0.0
.bss 22304 22304 0 0.0
.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 8845477 0 0.0
chip-tool-ipv6only arm64 (read only) 9769404 9769404 0 0.0
(read/write) 472689 472689 0 0.0
.bss 40609 40609 0 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 8224436 0 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) 2426433 2426433 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 2060306 2060306 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 2677657 0 0.0
(read/write) 247712 247712 0 0.0
.bss 164384 164384 0 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 2295394 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2460064 2460064 0 0.0
.bss 190568 190568 0 0.0
.data 5448 5448 0 0.0
.text 1422636 1422636 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2421144 2421144 0 0.0
.bss 185884 185884 0 0.0
.data 5776 5776 0 0.0
.text 1383716 1383716 0 0.0
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
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2347432 2347432 0 0.0
.bss 184432 184432 0 0.0
.data 5560 5560 0 0.0
.text 1310004 1310004 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155987 1155987 0 0.0
bss 146716 146716 0 0.0
rodata 145956 145956 0 0.0
text 788148 788148 0 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1142603 1142603 0 0.0
bss 143160 143160 0 0.0
rodata 123612 123612 0 0.0
text 796992 796992 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 1091199 1091199 0 0.0
bss 139244 139244 0 0.0
rodata 111200 111200 0 0.0
text 761812 761812 0 0.0
nrf52840dongle_nrf52840 (read/write) 1155079 1155079 0 0.0
bss 144152 144152 0 0.0
rodata 122292 122292 0 0.0
text 798828 798828 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1048574 1048574 0 0.0
bss 140224 140224 0 0.0
rodata 115756 115756 0 0.0
text 710688 710688 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1042763 1042763 0 0.0
bss 133108 133108 0 0.0
rodata 116276 116276 0 0.0
text 714772 714772 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 949138 949138 0 0.0
bss 130204 130204 0 0.0
rodata 108472 108472 0 0.0
text 628624 628624 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1060931 1060931 0 0.0
bss 133020 133020 0 0.0
rodata 118220 118220 0 0.0
text 730872 730872 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1044167 1044167 0 0.0
bss 132768 132768 0 0.0
rodata 114800 114800 0 0.0
text 717784 717784 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

@andy31415 andy31415 merged commit feb81b6 into project-chip:master Mar 22, 2022
@mspang mspang deleted the for-chip/fix-icheck branch March 22, 2022 18:34
andrei-menzopol pushed a commit to andrei-menzopol/connectedhomeip that referenced this pull request Apr 14, 2022
…-chip#15121)

Since these .cpp files are included instead of being listed in sources,
they are not processed by the include checker. This has allowed the
introduction of a dependency cycle in

  1e8ed9d ("Updated Device to Get PASE Verifier from Memory. (project-chip#14676)")

which in turn result in the following build flake:

  FAILED: obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o
  g++ -MMD -MF obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o.d -target x86_64-apple-macos10.15 -O0 -g2 -fno-common -ffunction-sections -fdata-sections -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -Wall -Werror -Wextra -Wshadow -Wunreachable-code -Wvla -Wformat -Wformat-nonliteral -Wformat-security -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-cast-function-type -fno-strict-aliasing -target x86_64-apple-macos10.15 -arch arm64 -arch x86_64 -fobjc-arc -std=gnu++14 -fno-rtti -Wnon-virtual-dtor -DCHIP_HAVE_CONFIG_H=1 -I../../../../../../../../src/include -I../../../../../../../../src -Igen/include -I../../../../../../../../zzz_generated/app-common -I../../../../../../../../config/standalone -I../../../../../../../../third_party/nlassert/repo/include -I../../../../../../../../third_party/nlio/repo/include -I../../../../../../../../third_party/mbedtls/repo/include -c ../../../../../../../../src/platform/Darwin/ConfigurationManagerImpl.cpp -o obj/src/platform/Darwin/Darwin.ConfigurationManagerImpl.cpp.o
  In file included from ../../../../../../../../src/platform/Darwin/ConfigurationManagerImpl.cpp:31:
  In file included from ../../../../../../../../src/include/platform/internal/GenericConfigurationManagerImpl.cpp:38:
  In file included from ../../../../../../../../src/protocols/secure_channel/PASESession.h:34:
  In file included from ../../../../../../../../src/messaging/ExchangeContext.h:31:
  In file included from ../../../../../../../../src/messaging/ExchangeDelegate.h:27:
  In file included from ../../../../../../../../src/messaging/ApplicationExchangeDispatch.h:28:
  In file included from ../../../../../../../../src/messaging/ExchangeMessageDispatch.h:27:
  In file included from ../../../../../../../../src/transport/SessionManager.h:39:
  In file included from ../../../../../../../../src/transport/GroupSession.h:22:
  In file included from ../../../../../../../../src/transport/Session.h:19:
  In file included from ../../../../../../../../src/credentials/FabricTable.h:27:
  In file included from ../../../../../../../../src/credentials/CHIPCert.h:34:
  ../../../../../../../../src/lib/asn1/ASN1.h:30:10: fatal error: 'asn1/ASN1OID.h' file not found
  #include <asn1/ASN1OID.h>
           ^~~~~~~~~~~~~~~~
  1 error generated.

The requisite dependency for this include cannot be added, because it
results in a cycle:

  ERROR Dependency cycle:
    //src/platform:platform ->
    //src/protocols/secure_channel:secure_channel ->
    //src/messaging:messaging ->
    //src/platform:platform

Fix the diagnostic so that dependency errors in these files are caught:

  ERROR at //src/include/platform/internal/GenericConfigurationManagerImpl.ipp:38:11: Include not allowed.
  #include <protocols/secure_channel/PASESession.h>
	    ^-------------------------------------
  It is not in any dependency of
    //src/platform:platform
  The include file is in the target(s):
    //src/protocols/secure_channel:secure_channel
  which should somehow be reachable.
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