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

Update local master #13

Merged
merged 89 commits into from
Jan 15, 2021
Merged

Update local master #13

merged 89 commits into from
Jan 15, 2021

Conversation

hnnajh
Copy link
Owner

@hnnajh hnnajh commented Jan 15, 2021

Problem

<<<<<FILL ME IN - the issue this PR is intended to address>>>>>

Summary of Changes

<<<<<FILL ME IN - what's in this PR>>>>>

Fixes #<<<<<FILL ME IN - issue number(s). If no issue, please create one>>>>>

bzbarsky-apple and others added 30 commits December 10, 2020 10:15
* [doc] Add instruction for running cirque tests

* Restyled by prettier-markdown

* Add instruction for running single test

* Move doc to src/test_driver/linux-cirque/cirque.md

* Fix doxygen

* Restyled by prettier-markdown

Co-authored-by: Restyled.io <[email protected]>
* [cirque] Add cirque test for Echo

* Install common packages in base image
* Add Workflow for ZAP template generation

* Update ZAP submodule and remove tracking of master in CI

* Update workflow file
Add the initial API for the key value storage interface. Other changes
will implement this API for the various platforms.
* Initial definition of an mDNS advertiser

* Make chip app server listen on mdns by default

* Replace DiscoveryManager with advertiser

* Fix compilation, ensure we shutdown before we listen for mDNS server, to make sure multiple start calls work

* Always advertise as operational, add some more logging

* Register delegates, add some logging, fix PTR records

* Remove errand space

* Fix crash in ESP code on broadcast

* Fix return value: ref return does not work well

* Update logging verbosity on ESP32: chip already configures its logging, so mark esp verbosity to verbose

* hex format server name

* Better logging, fix server discovery

* Update registration of names

* Restyle fixes

* Make ipv4 in minmdns optional

* Fix logic error in interface lister

* Move Clone into SystemPacketBuffer. Clean up a bit of handle usage in mdns

* Make stringbuilder a support class

* Restyle fixes

* Fix build after merge with master

* Rename Clone to CloneData

* Replace minimal-mdns with minimal

* Clariy update for interface iteration
When lighting-app is built with the Pigweed RPC server
using 'rpc.overlay' configuration overlay, it must build
pw_sys_io backend using Zephyr Console API. Pigweed,
however, uses more strict warning settings than Zephyr and
the build fails due to some warnings which are not fixed in
the currently supported version of nRF Connect SDK.

Suppress those warnings and clean the CMakeLists.txt file
a bit.
* Fix CHIPDeviceController when storage delegate is nullptr

CHIPDeviceController releases results of the
Rendezvous session assuming that they have been persisted.
However some platforms, like Android, don't provide
implementation of PersistentStorageDelegate yet.

* Apply code review comment

* Add TODO comment
* Add regen all script

* Make the directory check more flexible
* Start CHIP event-loop by default during initialization.

* Add CHIP memory init during initialization
* Update SPAKE2p pairing code to match spec

- update message handshake to include PBKDF param exchange
- update msg types and error codes
- add error handling via error message handshake

* delete commented out code

* use little endian byte ordering in the messages

* address review comments

* fix build
The default configuration for the reporting plugin that is contained in `EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS` is currently not loaded.

There are a few different issues:
 * `EMBER_AF_GENERATED_PLUGIN_STACK_STATUS_FUNCTION_CALLS` which contains some bits of the plugins initialization is never called
 * The dynamically generated `EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS_TABLE_SIZE` is bigger than `EMBER_AF_PLUGIN_REPORTING_TABLE_SIZE`
 * The `EmberAfPluginReportingEntry` has trying to be load/save from the disk, which is not supported yet.
 * Some of the plugins callbacks that are loaded by `EMBER_AF_GENERATED_PLUGIN_STACK_STATUS_FUNCTION_CALLS` does not exists. Either because the plugin is not part of CHIP or because the plugin has been hand crafted and this method was missing.
…4175)

* [controller] Support ble connect using discriminator on linux python cli

* Add macOS support

* dbus.Dictionary can be iterable

* Output format update

* Print traceback on exception

* Fix exception

* Simple cleanup on CoreBluetoothMgr
* [nrfconnect] Build CHIP as out-of-tree Zephyr module

Redesign the way nRF Connect examples integrate with CHIP
libraries. Instead of importing CMake modules which directly
configure build of CHIP libraries, create a separate CMake
project for CHIP which also satisfies the Zephyr module
requirements (e.g. it provides a module manifest file).
It allows a nRF Connect application to simply add CHIP to
the Zephyr module list and load Zephyr build scripts to
make sure that CHIP is properly pulled into the project.

The new design, apart from following recommendations from
the Zephyr community, will allow to easily integrate CHIP
into projects that need CHIP as an in-tree Zephyr module
(like nRF Connect SDK itself or other Zephyr-based projects).

By the way, clean some things up in the build scripts area.

* Bump nRF Docker image version in the workflow

* Restyled by prettier-markdown

* Restyled by prettier-yaml

* Set more Kconfig variables by default for CHIP

Co-authored-by: Restyled.io <[email protected]>
…ketBufferHandle' directly instead of 'uint16_t' (#4181)
* [doc] Add document for chip device controller python cli

* Add note about building bluez

* Update doc
…se (#4222)

* [build] fix chip_enable_wifi=false build (#4220)

* [build] fix chip_detail_logging=false build (#4221)
This will help avoid issues like the one fixed by #4165, where a pip
package used by pigweed updated underneath us and broke.

These are gathered from install_requires in setup.py of packages we
install. Currently we don't have a way to fail the build if there's an
unpinned dep; they'll have to be found manually and added to
requirements.in.
#4158)

* Integrated examples/common/chip-app-server to the CHIP src/app/server.

examples/common/chip-app-server should is not a part of CHIP,
while is needed by most of CHIP devices and is based on CHIP API.

* Created src/app/server directory to store all CHIP accessory device specific files.
* Moved examples/common/chip-app-server content to the src/app/server.
* Removed examples/common/chip-app-server.
* Aligned READMEs to describe directories content.

* Restyled by gn

Co-authored-by: Restyled.io <[email protected]>
pan-apple and others added 28 commits January 11, 2021 12:11
* Some cleanup in secure session manager code

* Address review comments

* address review comments

* review comments

* update enum variants
#4219)

* Define global attributes ids only once instead of repeating them for all clusters

* Update src/app/zap-templates/attribute-id.zapt

Co-authored-by: Boris Zbarsky <[email protected]>

Co-authored-by: Boris Zbarsky <[email protected]>
#### Problem

The `CHECK_RETURN_VALUE` macro is conditionally defined to a
non-standard attribute that indicates that a function return value
should not be ignored. C++17 standardizes this as `[[nodiscard]]`
and some compilers also support this attribute in earlier versions.

#### Summary of Changes

Use `[[nodiscard]]` when it is known to be available.
- C++17 or later
- gcc 7 or later, per https://gcc.gnu.org/projects/cxx-status.html
- clang 4 or later, per https://clang.llvm.org/cxx_status.html
Spec requirement is that device shall require explicit trigger
of NFC pairing mode via a physical interaction on the device, while
currently NFC tag emulation is started automatically after init.

* Moved NFC tag starting method from init to the button handler
* Added GetTagState method to the NFCWidget
* Aligned samples documentation
* Add Common protocol definations

* Rename CommonProtocol.h to Constants.h

* Rename secure_channel/SecureChannelProtocol.h to secure_channel/Constants.h
* Add more unit tests for sending pre-encrypted messages

* restyled

* Fix test compilation

* restyled
* Revise CHIPTLV to increase PacketBuffer safety

#### Problem

CHIPTLV stores pointers to PacketBuffers (and CHIPCircularTLVBuffers)
as integers, and its code also uses some unsafe PacketBuffer methods
that are used nowhere else and should be removed.

#### Summary of Changes

- Replace the `int mBufHandle` used to hold pointers in TLV classes,
  and the associated callbacks, with a TLVBackingStore interface.
- Implement the TLVBackingStore interface on CHIPCircularTLVBuffers.
- Implement the TLVBackingStore interface for PacketBuffers, and add
  PacketBufferTLVReader/Writer modelled on CHIPCircularTLVReader/Writer.
- Incidentally, move existing interface documentation to CHIPTLV.h.

fixes #4163 Revise CHIPTLV for PacketBuffer safety

* Fix doxygen

* Correct copyright dates

* Code review

* Remove #pragma GCC diagnostic
* Initial definition of an mDNS advertiser

* Make chip app server listen on mdns by default

* Replace DiscoveryManager with advertiser

* Fix compilation, ensure we shutdown before we listen for mDNS server, to make sure multiple start calls work

* Always advertise as operational, add some more logging

* Register delegates, add some logging, fix PTR records

* Remove errand space

* Fix crash in ESP code on broadcast

* Fix return value: ref return does not work well

* Update logging verbosity on ESP32: chip already configures its logging, so mark esp verbosity to verbose

* hex format server name

* Better logging, fix server discovery

* Update registration of names

* Restyle fixes

* Make ipv4 in minmdns optional

* Fix logic error in interface lister

* Move Clone into SystemPacketBuffer. Clean up a bit of handle usage in mdns

* Make stringbuilder a support class

* Restyle fixes

* Fix build after merge with master

* Use dynamic memory allocation for responders

* Update to use dynamic memory for qnames as well

* Use clear to reset state

* Move Flat allocated qnames in separate file and add unit tests

* Add some doccomments

* Remove redundant information from srv responder contructor arguments

* Order of init fix

* Rename Clone to CloneData

* Add nullptr setting during clear

* Replace minimal-mdns with minimal

* Clariy update for interface iteration

* Validate qname memory allocation

* Restyle fixes

* Make doxygen happy

* Make doxygen happy

* Cleanup doccomments

* Minimize template-specific code within minimal mdns memory allocation code - hoping for a size reduction of code

* Add methods for commisionable advertisement in the minmdns advertiser

* Create an example advertiser app, that uses the mdns advertiser

* Added some documentation, renamed advertiser to exclude minimal since we use the platform advertiser in this example

* Added error handling and remove -v option (apparently we auto-use it for version, which seems unfortunate)

* Only enable -4 option if ipv4 is configured

* Fix ipv4 listening for minmdns

* Update parameters to match examples in spec

* Vid/pid are 16-bit apparently

* Make the example app server advertise operational as well

* Rename Commisionable to Commsioning - this is what we actually added. Naming is a bit too close for comfort ...

* Restyle fixes

* Add back method definition (merge error)

* Implement assignment operator in Optional since =default does not work

* Replace commisionable with commisioning

* Update based on code review feedback

* Shorten the advertiser parameters code: do not build everything into one

* Fix compilation (missing braces on method call)

* Fix crash min minmdns query builder - header buffer assignment is required on reset
* [zephyr] Fix compatibility with newer Zephyr

As a result of
zephyrproject-rtos/zephyr#29357
BLE indication callback parameter type has changed in
recent Zephyr revisions.

* Restyled by clang-format

Co-authored-by: Restyled.io <[email protected]>
* CHIP Certificate Implementation.

  -- Implements core logic to load, process, validate CHIP certificates.
  -- Implements CHIP to X509 certificate conversion functions.
  -- Implements X509 to CHIP Certificate conversion functions.

* Addressed Review Comments.

* Addressed Review Comments.

* CHIP Certificate Implementation.

  -- Implements core logic to load, process, validate CHIP certificates.
  -- Implements CHIP to X509 certificate conversion functions.
  -- Implements X509 to CHIP Certificate conversion functions.

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <[email protected]>

* Addressed Review Comments

* Fixed compile error

Co-authored-by: Boris Zbarsky <[email protected]>
* Add TCP support to chip echo test app

* Change argument 'tcp' to '--tcp'
)

* Initial support of the Texas Instruments CC13X2 CC26X2 MCU family

* Update headers to match repository

 * Switched License header to Apache 2.0 for SysConfig file.

 * Replaced C ternary statements with boolean returns.

 * Replaced Pre-processor include guards with `#pragma once`.

 * Removed unnecessary forward declarations.

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* Restyled by prettier-markdown

* fix whitespace (tab) issue from restyled

* fix clang-format build issues from restyled

Includes for board specific header files need path delimiters.

* Restyled by whitespace

* revert incorrect changes to m5stack-tft repo

* remove common nv driver

Revert to using the SDK version of the common nv driver and enable the
POSIX-like porting layer.

* remove ti sdk files

Revert to using the platform support files in the board specific example
from the TI SDK. This adds a step to installing the TI SDK to fix-up
changes to work with the development version of OpenThread.

* Restyled by clang-format

* Restyled by gn

* Restyled by prettier-markdown

* add freertos as a submodule

* move openthread platform to simplelink build file

* clean up build graph

* fix OpenThread configuration to match TI SDK

* update lwip config header

* Restyled by clang-format

* Restyled by gn

* remove usage of $HOME

This now requires the user to set the absolute locations of the TI SDK and
SysConfig tools.

* Restyled by prettier-markdown

* fix build issues

* size sha workspace for the CC13X2 CC26X2

* Restyled by gn

* fix gn style and remove commented out code

* fix cpp elif in efr32

* re-enable openthread on efr32 and disable on esp32

* align with other platform doxygen disable defines

Co-authored-by: Restyled.io <[email protected]>
…low (#4302)

* Stack usage optimizations Configuration manager port functionality
* Cleanup of smaller items
* Update qpg_sdk submodule for additional API

* comments integrated
* Merge conflict with #4304 fixed - Create -> Adopt
* Update TestSystemPacketBuffer

#### Problem

Uses of `PacketBuffer` have largely been replaced by
`PacketBufferHandle`. The unit test had not kept up.

#### Summary of Changes

- Added tests for PacketBufferHandle specifically.
- Added many checks of reference counts to verify the ownership model.
- Some more refactoring into `PacketBufferTest`, friend class of
  `PacketBuffer` and `PacketBufferHandle`, to use private fields
  and track buffer allocations.

part of #2707 - Figure out a way to express PacketBuffer ownership in the type system

* Release buffers more often so that tests work with small pools.
* Configure BLE central role for Linux controller

* Clean Bluez code

* BLE Central for Linux

* Don't start BLE discovery if Bluez already knows the device

* Code style changes
This PR adds some custom types to CHIP ZCL in order to sync generated files and the values from `src/app/util/basic-types.h`
The custom types lives inside their own XML files in `src/app/zap-templates/custom-types.xml`. Some of the JS helpers have been updated to take into accounts those new types and to have a single source of trust in `src/app/zap-templates/common/ChipTypesHelper.js'.

Lastly the content of the `gen/` folders has been updated to reflect those changes.
* Add support for commisionable advertisement

* Minor fixes based on review comments

* Use a flag to enable/disable commisionable mode

* Restyled by clang-format

* Revert enable/disable flag for commisionable mode

After discussions with the group, it was decided that we don't need
a compile time option to enable/disable the commisionable mode, but
instead have some kind of a stop advertising command to do this.

* Restyled by clang-format

Co-authored-by: Restyled.io <[email protected]>
@hnnajh hnnajh merged commit 86e1bbe into hnnajh:master Jan 15, 2021
hnnajh pushed a commit that referenced this pull request Jul 22, 2022
It's not safe to access line editing state from the IO thread while
inside readline() on the main thread.

Remove the code that attempts to redraw readline after printing logs.
This avoids segfaults during logging at the cost of those logs
overwriting the prompt (this is not trivial to fix as readline
is a blocking API).

==================
WARNING: ThreadSanitizer: data race (pid=63005)
  Write of size 1 at 0x55f81c7745ff by main thread:
    #0 InteractiveStartCommand::ParseCommand(char*) ../../examples/chip-tool/commands/interactive/InteractiveCommands.cpp:127 (chip-tool+0x874911)
    #1 InteractiveStartCommand::RunCommand() ../../examples/chip-tool/commands/interactive/InteractiveCommands.cpp:85 (chip-tool+0x874594)
    #2 CHIPCommand::StartWaiting(std::chrono::duration<unsigned int, std::ratio<1l, 1000l> >) ../../examples/chip-tool/commands/common/CHIPCommand.cpp:408 (chip-tool+0x83e478)
    #3 CHIPCommand::Run() ../../examples/chip-tool/commands/common/CHIPCommand.cpp:187 (chip-tool+0x83c839)
    #4 Commands::RunCommand(int, char**, bool) ../../examples/chip-tool/commands/common/Commands.cpp:147 (chip-tool+0x85d4f7)
    #5 Commands::Run(int, char**) ../../examples/chip-tool/commands/common/Commands.cpp:51 (chip-tool+0x85c288)
    #6 main <null> (chip-tool+0x569c0a)

  Previous read of size 1 at 0x55f81c7745ff by thread T5 (mutexes: write M185):
    #0 LoggingCallback ../../examples/chip-tool/commands/interactive/InteractiveCommands.cpp:46 (chip-tool+0x874479)
    #1 chip::Logging::LogV(unsigned char, unsigned char, char const*, __va_list_tag*) ../../src/lib/support/logging/CHIPLogging.cpp:221 (chip-tool+0x8ee4dc)
    #2 chip::Logging::Log(unsigned char, unsigned char, char const*, ...) ../../src/lib/support/logging/CHIPLogging.cpp:172 (chip-tool+0x8ee30a)
    #3 chip::app::ReadClient::RefreshLivenessCheckTimer() <null> (chip-tool+0x8b1746)
    #4 chip::app::ReadClient::ProcessSubscribeResponse(chip::System::PacketBufferHandle&&) ../../src/app/ReadClient.cpp:845 (chip-tool+0x8b20ec)
    #5 chip::app::ReadClient::OnMessageReceived(chip::Messaging::ExchangeContext*, chip::PayloadHeader const&, chip::System::PacketBufferHandle&&) ../../src/app/ReadClient.cpp:409 (chip-tool+0x8ae2a4)
    #6 chip::Messaging::ExchangeContext::HandleMessage(unsigned int, chip::PayloadHeader const&, chip::BitFlags<chip::Messaging::MessageFlagValues, unsigned int>, chip::System::PacketBufferHandle&&) <null> (chip-tool+0xa0517a)
    #7 operator()<chip::Messaging::ExchangeContext> ../../src/messaging/ExchangeMgr.cpp:219 (chip-tool+0xa08c73)
    #8 Call ../../src/lib/support/Pool.h:126 (chip-tool+0xa0912d)
    #9 chip::internal::HeapObjectList::ForEachNode(void*, chip::Loop (*)(void*, void*)) ../../src/lib/support/Pool.cpp:127 (chip-tool+0x8ee05a)
    #10 ForEachActiveObject<chip::Messaging::ExchangeManager::OnMessageReceived(const chip::PacketHeader&, const chip::PayloadHeader&, const chip::SessionHandle&, chip::SessionMessageDelegate::DuplicateMessage, chip::System::PacketBufferHandle&&)::<lambda(auto:2*)> > ../../src/lib/support/Pool.h:396 (chip-tool+0xa08d10)
    #11 chip::Messaging::ExchangeManager::OnMessageReceived(chip::PacketHeader const&, chip::PayloadHeader const&, chip::SessionHandle const&, chip::SessionMessageDelegate::DuplicateMessage, chip::System::PacketBufferHandle&&) ../../src/messaging/ExchangeMgr.cpp:212 (chip-tool+0xa07e91)
    #12 chip::SessionManager::SecureUnicastMessageDispatch(chip::PacketHeader const&, chip::Transport::PeerAddress const&, chip::System::PacketBufferHandle&&) ../../src/transport/SessionManager.cpp:616 (chip-tool+0xa1548b)
    #13 chip::SessionManager::OnMessageReceived(chip::Transport::PeerAddress const&, chip::System::PacketBufferHandle&&) ../../src/transport/SessionManager.cpp:443 (chip-tool+0xa14426)
    #14 chip::TransportMgrBase::HandleMessageReceived(chip::Transport::PeerAddress const&, chip::System::PacketBufferHandle&&) ../../src/transport/TransportMgrBase.cpp:76 (chip-tool+0xa17dfa)
    #15 chip::Transport::Base::HandleMessageReceived(chip::Transport::PeerAddress const&, chip::System::PacketBufferHandle&&) ../../src/transport/raw/Base.h:102 (chip-tool+0xb19728)
    #16 chip::Transport::UDP::OnUdpReceive(chip::Inet::UDPEndPoint*, chip::System::PacketBufferHandle&&, chip::Inet::IPPacketInfo const*) ../../src/transport/raw/UDP.cpp:122 (chip-tool+0xb1a48b)
    #17 chip::Inet::UDPEndPointImplSockets::HandlePendingIO(chip::BitFlags<chip::System::SocketEventFlags, unsigned char>) ../../src/inet/UDPEndPointImplSockets.cpp:688 (chip-tool+0xb00aa0)
    #18 chip::Inet::UDPEndPointImplSockets::HandlePendingIO(chip::BitFlags<chip::System::SocketEventFlags, unsigned char>, long) ../../src/inet/UDPEndPointImplSockets.cpp:569 (chip-tool+0xafff89)
    #19 chip::System::LayerImplSelect::HandleEvents() ../../src/system/SystemLayerImplSelect.cpp:406 (chip-tool+0xb07563)
    #20 chip::DeviceLayer::Internal::GenericPlatformManagerImpl_POSIX<chip::DeviceLayer::PlatformManagerImpl>::_RunEventLoop() ../../src/include/platform/internal/GenericPlatformManagerImpl_POSIX.ipp:181 (chip-tool+0x98a227)
    #21 chip::DeviceLayer::PlatformManager::RunEventLoop() ../../src/include/platform/PlatformManager.h:362 (chip-tool+0x988f75)
    #22 chip::DeviceLayer::Internal::GenericPlatformManagerImpl_POSIX<chip::DeviceLayer::PlatformManagerImpl>::EventLoopTaskMain(void*) ../../src/include/platform/internal/GenericPlatformManagerImpl_POSIX.ipp:205 (chip-tool+0x98a87c)

  Location is global '(anonymous namespace)::gIsCommandRunning' of size 1 at 0x55f81c7745ff (chip-tool+0x000000c485ff)

  Mutex M185 (0x55f81c776180) created at:
    #0 pthread_mutex_lock ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240 (libtsan.so.0+0x4f30a)
    #1 chip::DeviceLayer::Internal::GenericPlatformManagerImpl_POSIX<chip::DeviceLayer::PlatformManagerImpl>::_LockChipStack() ../../src/include/platform/internal/GenericPlatformManagerImpl_POSIX.ipp:78 (chip-tool+0x989e90)
    #2 chip::DeviceLayer::PlatformManager::LockChipStack() ../../src/include/platform/PlatformManager.h:410 (chip-tool+0x988fa5)
    #3 chip::DeviceLayer::Internal::GenericPlatformManagerImpl_POSIX<chip::DeviceLayer::PlatformManagerImpl>::_RunEventLoop() ../../src/include/platform/internal/GenericPlatformManagerImpl_POSIX.ipp:170 (chip-tool+0x98a147)
    #4 chip::DeviceLayer::PlatformManager::RunEventLoop() ../../src/include/platform/PlatformManager.h:362 (chip-tool+0x988f75)
    #5 chip::DeviceLayer::Internal::GenericPlatformManagerImpl_POSIX<chip::DeviceLayer::PlatformManagerImpl>::EventLoopTaskMain(void*) ../../src/include/platform/internal/GenericPlatformManagerImpl_POSIX.ipp:205 (chip-tool+0x98a87c)

  Thread T5 (tid=63013, running) created by main thread at:
    #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x5ad75)
    #1 chip::DeviceLayer::Internal::GenericPlatformManagerImpl_POSIX<chip::DeviceLayer::PlatformManagerImpl>::_StartEventLoopTask() ../../src/include/platform/internal/GenericPlatformManagerImpl_POSIX.ipp:231 (chip-tool+0x98a40a)
    #2 chip::DeviceLayer::PlatformManager::StartEventLoopTask() ../../src/include/platform/PlatformManager.h:375 (chip-tool+0xaacca2)
    #3 chip::Controller::DeviceControllerFactory::ServiceEvents() ../../src/controller/CHIPDeviceControllerFactory.cpp:331 (chip-tool+0xab0417)
    #4 CHIPCommand::StartWaiting(std::chrono::duration<unsigned int, std::ratio<1l, 1000l> >) ../../examples/chip-tool/commands/common/CHIPCommand.cpp:403 (chip-tool+0x83e353)
    #5 CHIPCommand::Run() ../../examples/chip-tool/commands/common/CHIPCommand.cpp:187 (chip-tool+0x83c839)
    #6 Commands::RunCommand(int, char**, bool) ../../examples/chip-tool/commands/common/Commands.cpp:147 (chip-tool+0x85d4f7)
    #7 Commands::Run(int, char**) ../../examples/chip-tool/commands/common/Commands.cpp:51 (chip-tool+0x85c288)
    #8 main <null> (chip-tool+0x569c0a)

SUMMARY: ThreadSanitizer: data race ../../examples/chip-tool/commands/interactive/InteractiveCommands.cpp:127 in InteractiveStartCommand::ParseCommand(char*)
==================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.