Brewtarget / brewtarget

Main brewtarget source code repository.
GNU General Public License v3.0
313 stars 134 forks source link

Import Error #751

Closed kalilbispo closed 1 year ago

kalilbispo commented 1 year ago

An unexpected error occurs when attempting to import a database or use a database on a network drive in Brewtarget. The error message is identical in both cases. The logs generated by Brewtarget are as follows:

[10:40:23.173] (900) INFO : Starting Brewtarget v 3.0.8 (app name "brewtarget" ) on "Windows 11 Version 2009" [main.cpp:195] [10:40:23.174] (900) INFO : Built at Sun, Apr 30, 2023 8:04:58 AM on windows for windows with gcc compiler [main.cpp:198] [10:40:23.174] (900) INFO : Log directory: "C:/Users/kalil/AppData/Local/brewtarget" [main.cpp:201] [10:40:23.174] (900) INFO : Using Qt runtime v 5.15.9 (compiled against Qt v 5.15.9 ) [main.cpp:202] [10:40:23.174] (900) INFO : Configuration directory: "C:/Users/kalil/AppData/Local/brewtarget" [main.cpp:203] [10:40:23.175] (900) INFO : Data directory: "C:/Users/kalil/AppData/Local/brewtarget" [main.cpp:204] [10:40:23.175] (900) INFO : void {anonymous}::initResourceDir(QDir&) Determined resource directory is "C:/Program Files (x86)/Brewtarget-3.0.8/data" [Application.cpp:342] [10:40:23.176] (900) INFO : Resource directory: "C:/Program Files (x86)/Brewtarget-3.0.8/data" [main.cpp:205] [10:40:23.686] (900) INFO : bool Database::load() Known DB drivers: ("QIBASE", "QSQLITE", "QMARIADB", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7") [database/Database.cpp:638] [10:40:23.686] (900) INFO : bool Database::impl::loadSQLite(Database&) dbFileName = " C:/Users/kalil/AppData/Local/brewtarget/database.sqlite " dataDbFileName=" C:/Program Files (x86)/Brewtarget-3.0.8/bin/../data/default_db.sqlite " [database/Database.cpp:251] [10:40:23.731] (900) INFO : bool Database::impl::loadSQLite(Database&) SQLite version QVariant(QString, "3.41.2") [database/Database.cpp:303] [10:40:23.734] (900) INFO : bool Database::impl::updateSchema(Database&, bool*) Schema version in DB: 10 , current schema version in code: 10 [database/Database.cpp:399] [10:40:23.904] (900) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, QVariant&) Unexpected type # 6 = double in QVariant for property inventoryId , field type FieldType # 1 : ( "ObjectStore::FieldType::Int" ) , value QVariant(double, 317) , table fermentable , column inventory_id [database/ObjectStore.cpp:695] [10:40:23.904] (900) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, QVariant&) Call stack is: Stacktrace: 0# 0x00430164 in C:\Program Files (x86)\Brewtarget-3.0.8\bin\brewtarget.exe 1# 0x005DF18B in C:\Program Files (x86)\Brewtarget-3.0.8\bin\brewtarget.exe 2# 0x0041F229 in C:\Program Files (x86)\Brewtarget-3.0.8\bin\brewtarget.exe 3# 0x006C2731 in C:\Program Files (x86)\Brewtarget-3.0.8\bin\brewtarget.exe [database/ObjectStore.cpp:700] [10:40:23.905] (900) ERROR : ASSERT: "false" in file ../src/database/ObjectStore.cpp, line 702 [database/ObjectStore.cpp:702]

matty0ung commented 1 year ago

Sorry to hear you're having problems. Looks like this is the same problem as one of the ones mentioned in https://github.com/Brewtarget/brewtarget/issues/738. I just need to add the column to the "known wrong types" list and the program will stop complaining. Will do a patch this week.

(A past bug means we stored an integer foreign key in a decimal field which is technically "wrong" but should be harmless. The program now complains if it finds technically wrong things in the database, as part of an effort to prevent similar errors in the future. It has a list of "known harmless technically wrong things" that it consults so it knows what not to complain about!)

kalilbispo commented 1 year ago

Thnaks :)

matty0ung commented 9 months ago

This should be fixed in https://github.com/Brewtarget/brewtarget/releases/tag/v3.0.10, but please re-open if not.