Deadlock occurring in RI stack when deleting a DVR recording while in playback
Here is the scenario: We record a program on DVR. We play it back. While the recording is playing, we attempt to delete it. Our application (the Buckeye guide) hangs at this point. The recording continues to play in the background and never deletes.
When the user attempts to delete the recording, the application performs the following two steps asynchronously:
1) Deletes the recording
2) Tunes to the previous channel
I have attached a thread dump of the two deadlocking threads. The deleting thread holds a lock on HNRecordingManagerImpl and appears to be waiting to acquire a lock on RecordingManagerInterface. The tuning thread appears to hold a lock on RecordingManagerInterface and is waiting to acquire a lock on HNRecordingManagerImpl. I say "appears" because it is obfuscated in the thread dump, and I only ascertained this by visually inspecting the stack code.
Can somebody from CableLabs please confirm this, and if so provide guidance on how to resolve?