Skip to main content

AssertionFailureException observed while Cancelling the Recording.

2 replies [Last post]
pradeepngupta
Offline
Joined: 2011-07-03
Points: 0

I have observed the below exception which cancelling the recording. However the exception doesn't impacting anything but it can be corrected.

20110905 02:49:02.880 ERROR RI.Stack- 2993610 [Thread-37] ERROR event.SystemEventManager - ErrorEvent[34000000,11127133,9/4/11 7:49 PM] org.cablelabs.impl.debug.Assert$AssertionFailureException: Lock org.cablelabs.impl.manager.recording.HNRecordingManagerImpl@0x5a3e1809 is not held

When I have looked RecordingImpl.cancel() method, I observed that this method is notifying state change two times - one is in sync block before cancelling recording. & other is not in sync block (which is causing the exception) but after cancelling recording.

I think the notification without in sync block is unnecessary. Please comment.

Thanks & Regards,

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
pradeepngupta
Offline
Joined: 2011-07-03
Points: 0

Somehow I have unable to post the full message:

Here is the excpetoin stack trace:

20110905 02:49:02.880 ERROR RI.Stack- 2993610 [Thread-37] ERROR event.SystemEventManager - ErrorEvent[34000000,11127133,9/4/11 7:49 PM] org.cablelabs.impl.debug.Assert$AssertionFailureException: Lock org.cablelabs.impl.manager.recording.HNRecordingManagerImpl@0x5a3e1809 is not held

org.cablelabs.impl.debug.Assert$AssertionFailureException: Lock org.cablelabs.impl.manager.recording.HNRecordingManagerImpl@0x5a3e1809 is not held

at org.cablelabs.impl.debug.Assert.lockHeld(Assert.java:202)

at org.cablelabs.impl.manager.recording.RecordingImpl.notifyStateChange(RecordingImpl.java:3993)

And here is the cancel() method of the RecordingImpl:

public void cancel() throws IllegalStateException, AccessDeniedException

{

...

synchronized (m_sync)

{

...

setStateAndNotify(endState.getCompletionStateCode());

...

}

...

scheduler.cancelRecording(this);

notifyStateChange(CANCELLED_STATE, oldState);

}

I think the notification (in bold) is unnecessary. Please comment.

Thanks & Regards,

Pradeep Gupta

pradeepngupta
Offline
Joined: 2011-07-03
Points: 0

We have raised IT-540 for this issue with the patch.