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

Ensure EFR32 platform succeeds Storage audit #20284

Closed
jmartinez-silabs opened this issue Jul 4, 2022 · 1 comment · Fixed by #20290
Closed

Ensure EFR32 platform succeeds Storage audit #20284

jmartinez-silabs opened this issue Jul 4, 2022 · 1 comment · Fixed by #20290
Assignees

Comments

@jmartinez-silabs
Copy link
Member

Problem

PR #20134 and #20164 together introduced a storage API compliance audit.

This audit must be run and pass on nRF Connect and succeed against PersistentStorageDelegate used by lock-app (KVS file based)

To run the audit for anything using Server, build your target with chip_support_enable_storage_api_audit=true added to your GN args and then run your binary in a debugger. The default audit is added to Server::Init() and will cause an assert with logs on failure.

Audit passes once you see the following string in your logs

==== PersistentStorageDelegate API audit: SUCCESS ====
On failure, informative assertion failures are logged to assist in debugging.

Proposed Solution

On failure, informative assertion failures are logged to assist in debugging.

Proposed Solution
Build with audit enabled
Run and comment on passing along with the SHA of the commit where it was run. Provide a logs capture of your run.
If you find failures, please document them in comments on the issue to help SDK team audit the types of failures/assumptions made.
Close the issue once you pass

@jmartinez-silabs
Copy link
Member Author

jmartinez-silabs commented Jul 4, 2022

Currently fails the audit

00> <info  > [SVR] Server initializing...
00> <error > [ATM] ../../../examples/lighting-app/efr32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:194: assertion failed: "err == CHIP_NO_ERROR"
00> <error > [ATM] ../../../examples/lighting-app/efr32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:199: assertion failed: "err == CHIP_NO_ERROR"
00> <error > [ATM] ../../../examples/lighting-app/efr32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:204: assertion failed: "err == CHIP_NO_ERROR"
00> <error > [ATM] ../../../examples/lighting-app/efr32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:210: assertion failed: "size == 0"
00> <error > [ATM] ../../../examples/lighting-app/efr32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:213: assertion failed: "err == CHIP_NO_ERROR"
00> <error > [ATM] ../../../examples/lighting-app/efr32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:218: assertion failed: "err == CHIP_NO_ERROR"
00> <error > [ATM] ../../../examples/lighting-app/efr32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:237: assertion failed: "0 == memcmp(&buf[0], &all_zeroes[0], size)"
00> <error > [ATM] ==== PersistentStorageDelegate API audit: FAILED: 7/81 failed assertions ====

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant