-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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 _InitChipStack() initialization order. #11374
Fix _InitChipStack() initialization order. #11374
Conversation
#### Problem `ConfigurationMgr().Init()` indirectly uses the System layer, which has not yet been initialized, in its ‘fail-safe armed’ case. Fixes project-chip#5336 TestPlatformMgr occasionally crashes on Linux #### Change overview Initialize Configuration Manager after the System layer. #### Testing Confirmed on Linux that adding `fail-safe-armed=1` to `/tmp/chip_config.ini` reliably triggers the `TestPlatformMgr` crash on master, but not after this change. Relying on CI to confirm that there are no unexpected side effects of changing the initialization order. (There should be none, since System::Layer does not depend on ConfigurationMgr.)
PR #11374: Size comparison from 4947759 to fd55750 Increases (2 builds for esp32, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fine, but why are we ending up in the "fail-safe is armed" case in the unit tests? That's also broken, and needs to be investigated. Please make sure there's an issue tracking it?
#11380 Unexpectedly armed failsafe encountered in TestPlatformMgr |
#### Problem `ConfigurationMgr().Init()` indirectly uses the System layer, which has not yet been initialized, in its ‘fail-safe armed’ case. Fixes project-chip#5336 TestPlatformMgr occasionally crashes on Linux #### Change overview Initialize Configuration Manager after the System layer. #### Testing Confirmed on Linux that adding `fail-safe-armed=1` to `/tmp/chip_config.ini` reliably triggers the `TestPlatformMgr` crash on master, but not after this change. Relying on CI to confirm that there are no unexpected side effects of changing the initialization order. (There should be none, since System::Layer does not depend on ConfigurationMgr.)
Problem
ConfigurationMgr().Init()
indirectly uses the System layer,which has not yet been initialized, in its ‘fail-safe armed’ case.
Fixes #5336 TestPlatformMgr occasionally crashes on Linux
Change overview
Initialize Configuration Manager after the System layer.
Testing
Confirmed on Linux that adding
fail-safe-armed=1
to/tmp/chip_config.ini
reliably triggers theTestPlatformMgr
crash on master, but not after this change.
Relying on CI to confirm that there are no unexpected side effects
of changing the initialization order. (There should be none, since
System::Layer does not depend on ConfigurationMgr.)