Jump to content

After recording task errorhandling


majstang

Recommended Posts

Had an terrible RS experience last night, which i can't reproduce with certainty now. I was doing some debugging of my intelligent hibernation script which is being launched as an after recording task on all RS recordings. I added a msgbox where is should not be if launching the script from the service. This happened after that:

- I had two recordings going. First recording was to be finished some time before the second one. First recording finished alright.

- When the first after recording task was launched it got stuck in "timers" tab in rec mode, which is totally expected because of the msgbox. Did not delete it though.

 

- When the second recording finished, same thing happened with the after recording task also expected, but exact this time RS gave me this error message:

27.07.11 22:34:05.689 Exception: Zugriffsverletzung bei Adresse 76843E8D in Modul 'oleaut32.dll'. Lesen von Adresse 00000004

27.07.11 22:56:00.418 D:\TV\Recording Service\20110727_21-59-01_Kanal 5_Celebrity rehab with Dr Drew.ts Discontinuities: 0 - Total size: 1,95 GB - Device:FireDTV BDA Tuner DVBC (1)

27.07.11 22:56:00.648 TVCR.Process Zugriffsverletzung bei Adresse 76843E8D in Modul 'oleaut32.dll'. Lesen von Adresse 0000000B

- Then what happened was despite the recording finished (i checked with TSPlayer) it was still showed as being in recording in the status tab. The second recording timer had naturally been removed from timers tab replaced with the stuck after recording task, so there was no possibility to delete/stop the second recording timer from in here, not even by deleting the stuck after recording task.

- When trying to do some recordings database cleaning i went to the recordings tab and deleted the first recording. It disappeared but was back after a Refresh Recordings DB. Now the recordings database was locked. I tried the same again, but after deleting the first recording and going to tasks tab i got this message

501 Unimplemented
- I then deleted the stuck after recording tasks in timer tab and went back to the recording tab to delete the first recording again. I got the 501 Unimplemented again, but after pressing tasks tab again i got up all tasks. After Refresh Recordings DB i went back to recordings tab to find that the last 30 recordings was not displayed at all. I could access them through the Last 30 link, but the first recording i tried to delete was still there. The Channel, Series, Genre, Name and Date tree was now completely locked and unaccessable.

- When going back to Timers tab i discovered ALL recording, process and autosearch timers were deleted, terrible enough.

- Only way to escape this was to stop and restart RS.

 

 

Trying to reproduce this total failure today with RS 1.9.0.3 it's not entirely possible. I can reproduce the stuck after recording task and the lockup of database, but not the "Exception: Zugriffsverletzung" which possibly was the reason for the recording stayed in status tab even when it was demonstrably finished AND thankfully not the deletion of all timers. This error message comes up instead:

28.07.11 14:42:44.139 Thread:6788 SvcDatabase.db3 UpdateRecorded: Error executing SQL statement.

Error [5]: The database file is locked.

"update recordings set Filename = 'D:\TV\Recording Service\EPG Info-Log Files\20110704_17-29-02_Kanal 5_Rules of engagement S02E07.ts', channel = 'Kanal 5', strID= 'MinimumAge', time= '40728.7291666667', Duration= '0.0208333333333333', Title= 'Rules of engagement', Info= 'S02E07/15', Description= 'Jennifer och Adam beslutar sig för att Audrey ska få planera för deras förlovningsfest, för att få presenter.', Charset= 255, Content= 0 , Series= 'Rules of engagement', iYear= 2011, iMonth= 7, iMinimumAge=0 where idRecord = 0": database is locked

 

This is just a story of how terrible wrong it can go if not having any errorhandling for the after recording task. The whole thing could easily be avoided by letting the user know the after recording task has components not compatible with RS, so i therefor suggests it IMHO :bye:

Link to comment
×
×
  • Create New...