NextPVR Forums

Full Version: NPVR Recording Service - Unable to start service...
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I am not sure what is going on, but NPVR never starts on boot so when I run START NPVR SERVICE, I get this message...

Code:
Unable to start service: System.ServiceProcess.TimeoutException: Time out has
expired and the operation has not been completed.
at
System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus
desiredStatus, TimeSpan timeout)
at NCtrl.Program.Main(String[] args)

Also, npvr.db3 cannot be opened with Notepad.

Is my database messed up? How do I repair it? I want to avoid losing recordings and data via reinstall.

Logs attached.

P.S. - The forum time is 12+ minutes too fast.
If you try running "nrecord.exe RUN" from the command line, what is the output?

Quote:Also, npvr.db3 cannot be opened with Notepad.
Thats normal. It's not a text file.
Initiating the command in Command Prompt displays a pop up called Windows Service Start Failure...

Code:
Cannot start service from the command line or a debugger.  A Windows Service
must first be installed (using installutil.exe) and then started with the
ServerExplorer, Windows Services Administration tool or the NET START
command.
You needed to pass that "RUN" paramater I specified above or you'll get that. Try again. "nrecord.exe RUN". It's also case sensitive.
Code:
C:\Program Files (x86)\NPVR>nrecord.exe RUN
MVPManager thread started
MVP Server: C:\Program Files (x86)\NPVR\NextPVR.exe
OnStart()
Using local in-process recording service
Unexpected error creating RecordingService()
RecordingServiceProxy@exit

Unhandled Exception: System.Data.SQLite.SQLiteException: Insertion failed becaus
e the database is full
database or disk is full
   at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQ
LiteStatement previous, UInt32 timeoutMS, String& strRemain)
   at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
   at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavi
or behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
   at System.Data.SQLite.SQLiteConnection.Open()
   at NUtility.DatabaseHelper.GetConnection()
   at NShared.EPGManager..ctor()
   at NShared.RecordingService..ctor()
   at NRecord.RecordingService.OnStart(String[] args)
   at NRecord.RecordingService.ManualRun()
   at NRecord.Program.Main(String[] args)

Then the generic Windows "NRecord has stopped working" pop up appears asking me to check online for a solution or close the program.
npvr.db3 is only 79.2 MBs in size and the hard drive has hundreds of GBs left in space.
Try the same test with this patch. It wont fix anything, but should hopefully log info about why it wasnt able to create the recording service.
After the patch...

Code:
C:\Program Files (x86)\NPVR>nrecord.exe RUN
MVPManager thread started
MVP Server: C:\Program Files (x86)\NPVR\NextPVR.exe
OnStart()
Using local in-process recording service
Unexpected error creating RecordingService(): System.Data.SQLite.SQLiteException
: Insertion failed because the database is full
database or disk is full
   at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQ
LiteStatement previous, UInt32 timeoutMS, String& strRemain)
   at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
   at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavi
or behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
   at System.Data.SQLite.SQLiteConnection.Open()
   at NUtility.DatabaseHelper.GetConnection()
   at NShared.EPGManager..ctor()
   at NShared.RecordingService..ctor()
   at NShared.RecordingServiceProxy..ctor(Boolean serviceInstance)
RecordingServiceProxy@exit

Unhandled Exception: System.Data.SQLite.SQLiteException: Insertion failed becaus
e the database is full
database or disk is full
   at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQ
LiteStatement previous, UInt32 timeoutMS, String& strRemain)
   at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
   at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavi
or behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
   at System.Data.SQLite.SQLiteConnection.Open()
   at NUtility.DatabaseHelper.GetConnection()
   at NShared.EPGManager..ctor()
   at NShared.RecordingService..ctor()
   at NRecord.RecordingService.OnStart(String[] args)
   at NRecord.RecordingService.ManualRun()
   at NRecord.Program.Main(String[] args)

New logs attached if needed...
It sound like something is screwed with your database. (unless you've somehow managed to change the permissions on the database and made it inaccessable)

If you dont have a backup you can use, you might need to rename it to npvr.old or similar, which will force the app to create a new empty database next time you run it.
Is there a .DB3 editor to copy/paste information from the old npvr.db3 file to the new one?
Pages: 1 2