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

[BUG] Door lock server is sending LockOperation events before lock operations are complete #26925

Closed
mmarc opened this issue May 29, 2023 · 0 comments · Fixed by #27991
Closed
Labels
cert blocker door lock enhancements door lock Issues in the Door Lock cluster or example apps spec Mismatch between spec and implementation

Comments

@mmarc
Copy link
Contributor

mmarc commented May 29, 2023

Reproduction steps

The current implementation of the door lock server is immediately sending out LockOperation events on remote operations (DoorLockServer::HandleRemoteLockOperation(...)) before the actual lock action has been completed.

In theory it might be possible to execute the lock operation blocking within opHandler(...) but that will block other things as well.

Due to this it is currently impossible to implement the changes necessary for https://github.com/CHIP-Specifications/connectedhomeip-spec/pull/6199 as defined there:

[...] it SHALL generate a LockOperation event with LockOperationType set to Unlatch when the unlatched state is reached and a LockOperation event with LockOperationType set to Unlock when the lock successfully completes [...]

Bug prevalence

On every remote lock operation

GitHub hash of the SDK that was being used

3fdc99c

Platform

core

Platform Version(s)

No response

Anything else?

No response

@bzbarsky-apple bzbarsky-apple added spec Mismatch between spec and implementation cert blocker door lock Issues in the Door Lock cluster or example apps labels May 30, 2023
@woody-apple woody-apple modified the milestone: 1.2 Jul 10, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 17, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 17, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 19, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 20, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 20, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 21, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 21, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 21, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 21, 2023
mmarc added a commit to mmarc/matter that referenced this issue Jul 21, 2023
@mergify mergify bot closed this as completed in #27991 Jul 22, 2023
mergify bot pushed a commit that referenced this issue Jul 22, 2023
* #26925 generate lock operation events after lock state has changed

* #26925 pass fabricIdx and nodeId instead of commandObj

* #26925 async execution of lock actions in example app

* #26925 change async delays to 0s to not affect certification tests

* #26925 add documentation

* #26925 add error log if fabricIdx or nodeId is missing on remote actions

* #26925 update check for missing fabricIdx and nodeId
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cert blocker door lock enhancements door lock Issues in the Door Lock cluster or example apps spec Mismatch between spec and implementation
Projects
Archived in project
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants