This project is read-only.
1
Vote

VidCoder No Longer Starts after 1.5.31 Update

description

Updated VidCoder from 1.5.30.0 (x64) to 1.5.31.0 (x64) and now I get an exception:
System.TypeInitializationException: The type initializer for 'VidCoder.Model.Database' threw an exception. ---> System.Data.SQLite.SQLiteException: SQLite error
no such table: settings
   at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
   at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at VidCoder.Model.DatabaseConfig.GetConfigStringRaw(String configName, SQLiteConnection connection) in d:\docs\projects\VidCoder\VidCoder\Model\DatabaseConfig.cs:line 72
   at VidCoder.Model.DatabaseConfig.GetConfig(String configName, Int32 defaultValue, SQLiteConnection connection) in d:\docs\projects\VidCoder\VidCoder\Model\DatabaseConfig.cs:line 38
   at VidCoder.Model.Database..cctor() in d:\docs\projects\VidCoder\VidCoder\Model\Database.cs:line 33
   --- End of inner exception stack trace ---
   at VidCoder.Model.Database.get_Connection()
   at VidCoder.App.OnStartup(StartupEventArgs e) in d:\docs\projects\VidCoder\VidCoder\App.xaml.cs:line 69
   at System.Windows.Application.<.ctor>b__1(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
I'm going to look at it's SQLite database and try to fix it. Before I begin I will archive it in case you need it.

comments

LeeThompson wrote Jan 3, 2015 at 12:37 AM

Well that's odd.

The database got wiped (now a 0 length file), I had encoded something literally minutes before the upgrade. Weird.

LeeThompson wrote Jan 3, 2015 at 12:41 AM

I back up my VidCoder stuff periodically, restored the most recent backup and it works ok now. Wonder how that database got thrashed.

LeeThompson wrote Jan 3, 2015 at 12:44 AM

Just did the update on another box and it did not re-occur shrug.

Might just suggest instead of throwing that type of exception to ask if it should re-create the db.

RandomEngy wrote Jan 3, 2015 at 3:06 AM

That's odd. SQLite databases are hard to corrupt: https://www.sqlite.org/howtocorrupt.html Do any of the things they list look like they might apply? I don't think there's any VidCoder code that could zero out the file.