Hey, after upgrading to 5.0.4 brewtarget crashes on startup. This appears to be related to some particular DB state.
void PersistentSettings::initialise(QString) Qt-proposed directories for user-specific configuration files are: QList("/home/iizuki/.config/brewtarget", "/home/iizuki/.config/kdedefaults/brewtarget", "/etc/xdg/brewtarget")
void PersistentSettings::initialise(QString) Preferred writeable directory for user-specific configuration files is: "/home/iizuki/.config/brewtarget"
void PersistentSettings::initialise(QString) Persistent settings file: "/home/iizuki/.config/brewtarget/brewtargetPersistentSettings.conf"
void PersistentSettings::initialise(QString) Config dir: "/home/iizuki/.config/brewtarget" ( "/home/iizuki/.config/brewtarget" )
int main(int, char**) Persistent Settings initialised
bool Logging::setDirectory(std::optional<QDir>, PersistNewDirectory)
bool Logging::setDirectory(std::optional<QDir>, PersistNewDirectory) Logging to specified directory: "/home/iizuki/.config/brewtarget"
bool {anonymous}::openLogFile() Logging to file "/home/iizuki/.config/brewtarget/brewtarget.log"
[08:55:14.135] (1ds8igj8ow) INFO : Starting Brewtarget v 5.0.4 (app name "brewtarget" ) on "Arch Linux" [main.cpp:263]
[08:55:14.135] (1ds8igj8ow) INFO : Built at to 2.4.2026 19.18.55 +0300 on linux for linux with gcc compiler [main.cpp:266]
[08:55:14.135] (1ds8igj8ow) INFO : Log directory: "/home/iizuki/.config/brewtarget" [main.cpp:269]
[08:55:14.135] (1ds8igj8ow) INFO : Using Qt runtime v 6.11.0 (compiled against Qt v 6.11.0 ) [main.cpp:270]
[08:55:14.135] (1ds8igj8ow) INFO : Configuration directory: "/home/iizuki/.config/brewtarget" [main.cpp:271]
[08:55:14.135] (1ds8igj8ow) INFO : Data directory: "/home/iizuki/.config/brewtarget" [main.cpp:272]
[08:55:14.135] (1ds8igj8ow) INFO : void {anonymous}::initResourceDir(QDir&) Application name "brewtarget" ; QCoreApplication::applicationDirPath() "/usr/bin/" [Application.cpp:231]
[08:55:14.135] (1ds8igj8ow) INFO : void {anonymous}::initResourceDir(QDir&) Determined resource directory is "/usr/share/brewtarget" [Application.cpp:263]
[08:55:14.135] (1ds8igj8ow) INFO : Resource directory: "/usr/share/brewtarget" [main.cpp:273]
[08:55:17.620] (1ds8igj8ow) INFO : bool {anonymous}::ensureDirectoriesExist() Resource directory "/usr/share/brewtarget" exists [Application.cpp:141]
[08:55:17.620] (1ds8igj8ow) INFO : void Localization::loadSettings() Config file requests language as "en" [Localization.cpp:476]
[08:55:17.621] (1ds8igj8ow) INFO : void Localization::setLanguage(const QString&) Changing language from "" to "en" [Localization.cpp:340]
[08:55:17.621] (1ds8igj8ow) INFO : void Localization::setLanguage(const QLocale&) Changing language from that for locale QLocale::system()/* English, Latin, United States */ to that for locale QLocale(English, Latin, United States) [Localization.cpp:271]
[08:55:17.622] (1ds8igj8ow) INFO : void {anonymous}::loadTranslator(QTranslator&, const QLocale&, const QString&, const QDir&) Loading "qt_*.qm translations for locale en_US with language list en-Latn-US, en-US, en-Latn, en from /usr/share/qt6/translations" [Localization.cpp:97]
[08:55:17.622] (1ds8igj8ow) INFO : void {anonymous}::loadTranslator(QTranslator&, const QLocale&, const QString&, const QDir&) Loaded "en_US" translations from "/usr/share/qt6/translations/qt_en.qm" [Localization.cpp:99]
[08:55:17.622] (1ds8igj8ow) INFO : void {anonymous}::loadTranslator(QTranslator&, const QLocale&, const QString&, const QDir&) Loading "bt_*.qm translations for locale en_US with language list en-Latn-US, en-US, en-Latn, en from /usr/share/brewtarget/translations_qm" [Localization.cpp:97]
[08:55:17.622] (1ds8igj8ow) INFO : void {anonymous}::loadTranslator(QTranslator&, const QLocale&, const QString&, const QDir&) Loaded "" translations from "/usr/share/brewtarget/translations_qm/bt_en.qm" [Localization.cpp:99]
[08:55:17.622] (1ds8igj8ow) INFO : QLocale {anonymous}::initSystemLocale() System locale QLocale::system()/* English, Latin, United States */ with UI languages QList("en-Latn-US", "en-US", "en-Latn", "en") [Localization.cpp:112]
[08:55:17.622] (1ds8igj8ow) INFO : Locale: "en_US" (Decimal point: "," / Thousands separator: " " ) [Application.cpp:311]
[08:55:17.653] (1ds8igj8ow) INFO : bool Application::initialize() Number of resources compiled into binary: 20610 [Application.cpp:339]
[08:55:17.653] (1ds8igj8ow) INFO : bool Application::initialize() Loading Database... [Application.cpp:343]
[08:55:17.653] (1ds8igj8ow) INFO : bool Database::load() Known DB drivers: QList("QIBASE", "QSQLITE", "QMARIADB", "QMYSQL", "QODBC", "QPSQL") [database/Database.cpp:741]
[08:55:17.653] (1ds8igj8ow) INFO : bool Database::impl::loadSQLite(Database&) dbFileName = /home/iizuki/.config/brewtarget/database.sqlite [database/Database.cpp:250]
[08:55:17.654] (1ds8igj8ow) INFO : bool Database::impl::loadSQLite(Database&) SQLite version QVariant(QString, "3.52.0") [database/Database.cpp:286]
[08:55:17.655] (1ds8igj8ow) INFO : bool Database::impl::updateSchema(Database&, bool*) Schema version in DB: 19 , current schema version in code: 19 [database/Database.cpp:383]
[08:55:17.664] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 132 objects from DB table recipe [database/ObjectStore.cpp:1886]
[08:55:17.665] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 29 objects from DB table brewnote [database/ObjectStore.cpp:1886]
[08:55:17.685] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 238 objects from DB table style [database/ObjectStore.cpp:1886]
[08:55:17.745] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 179 objects from DB table equipment [database/ObjectStore.cpp:1886]
[08:55:17.782] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 189 objects from DB table mash [database/ObjectStore.cpp:1886]
[08:55:17.785] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 264 objects from DB table mash_step [database/ObjectStore.cpp:1886]
[08:55:17.821] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 132 objects from DB table boil [database/ObjectStore.cpp:1886]
[08:55:17.824] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 333 objects from DB table boil_step [database/ObjectStore.cpp:1886]
[08:55:17.849] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 132 objects from DB table fermentation [database/ObjectStore.cpp:1886]
[08:55:17.851] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 138 objects from DB table fermentation_step [database/ObjectStore.cpp:1886]
[08:55:17.898] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 857 objects from DB table fermentable [database/ObjectStore.cpp:1886]
[08:55:17.929] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 314 objects from DB table hop [database/ObjectStore.cpp:1886]
[08:55:17.941] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 168 objects from DB table misc [database/ObjectStore.cpp:1886]
[08:55:17.963] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 393 objects from DB table yeast [database/ObjectStore.cpp:1886]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) ERROR : void ObjectStore::impl::wrapAndUnmapAsNeeded(const ObjectStore::TableDefinition&, const ObjectStore::TableField&, int, QVariant&) Unexpected type # 10 = QString in QVariant QVariant(QString, "NONE") for field TableField{fieldType: FieldType # 1 : ( "ObjectStore::FieldType::Int" ) ; columnNames: "wtype" ; propertyName: type } , table water [database/ObjectStore.cpp:977]
[08:55:17.966] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 14 objects from DB table water [database/ObjectStore.cpp:1886]
[08:55:17.968] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 9 objects from DB table salt [database/ObjectStore.cpp:1886]
[08:55:17.984] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 37 objects from DB table instruction [database/ObjectStore.cpp:1886]
[08:55:17.984] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table fermentable_stock_use [database/ObjectStore.cpp:1886]
[08:55:17.984] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table hop_stock_use [database/ObjectStore.cpp:1886]
[08:55:17.984] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table misc_stock_use [database/ObjectStore.cpp:1886]
[08:55:17.985] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table salt_stock_use [database/ObjectStore.cpp:1886]
[08:55:17.985] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table yeast_stock_use [database/ObjectStore.cpp:1886]
[08:55:17.988] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 293 objects from DB table fermentable_stock_purchase [database/ObjectStore.cpp:1886]
[08:55:17.989] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 79 objects from DB table hop_stock_purchase [database/ObjectStore.cpp:1886]
[08:55:17.990] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 108 objects from DB table misc_stock_purchase [database/ObjectStore.cpp:1886]
[08:55:17.990] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table salt_stock_purchase [database/ObjectStore.cpp:1886]
[08:55:17.991] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 142 objects from DB table yeast_stock_purchase [database/ObjectStore.cpp:1886]
[08:55:17.995] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 470 objects from DB table fermentable_in_recipe [database/ObjectStore.cpp:1886]
[08:55:17.997] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 257 objects from DB table hop_in_recipe [database/ObjectStore.cpp:1886]
[08:55:17.997] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 71 objects from DB table misc_in_recipe [database/ObjectStore.cpp:1886]
[08:55:17.999] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 126 objects from DB table yeast_in_recipe [database/ObjectStore.cpp:1886]
[08:55:17.999] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table salt_in_recipe [database/ObjectStore.cpp:1886]
[08:55:17.999] (1ds8igj8ow) INFO : void ObjectStore::loadAll(Database*) Read 0 objects from DB table water_in_recipe [database/ObjectStore.cpp:1886]
[08:55:17.999] (1ds8igj8ow) ERROR : void ObjectStore::loadAll(Database*) Error executing database query "SELECT id, name, deleted\n FROM folder;" : "no such table: folder Unable to execute statement" [database/ObjectStore.cpp:1598]
[08:55:18.191] (1ds8igj8ow) WARNING : QModelIndex SortFilterProxyModelBase<Derived, NeTableModel, NeListModel>::doMapToSource(const QModelIndex&) const [with Derived = FermentableSortFilterProxyModel; NeTableModel = FermentableTableModel; NeListModel = FermentableListModel] Index refers to source-model instead of proxy-model in call to mapToSource(). [qtModels/sortFilterProxyModels/SortFilterProxyModelBase.h:192]
[08:55:18.196] (1ds8igj8ow) WARNING : QModelIndex SortFilterProxyModelBase<Derived, NeTableModel, NeListModel>::doMapToSource(const QModelIndex&) const [with Derived = HopSortFilterProxyModel; NeTableModel = HopTableModel; NeListModel = HopListModel] Index refers to source-model instead of proxy-model in call to mapToSource(). [qtModels/sortFilterProxyModels/SortFilterProxyModelBase.h:192]
[08:55:18.200] (1ds8igj8ow) WARNING : QModelIndex SortFilterProxyModelBase<Derived, NeTableModel, NeListModel>::doMapToSource(const QModelIndex&) const [with Derived = MiscSortFilterProxyModel; NeTableModel = MiscTableModel; NeListModel = MiscListModel] Index refers to source-model instead of proxy-model in call to mapToSource(). [qtModels/sortFilterProxyModels/SortFilterProxyModelBase.h:192]
[08:55:18.205] (1ds8igj8ow) WARNING : QModelIndex SortFilterProxyModelBase<Derived, NeTableModel, NeListModel>::doMapToSource(const QModelIndex&) const [with Derived = SaltSortFilterProxyModel; NeTableModel = SaltTableModel; NeListModel = SaltListModel] Index refers to source-model instead of proxy-model in call to mapToSource(). [qtModels/sortFilterProxyModels/SortFilterProxyModelBase.h:192]
[08:55:18.210] (1ds8igj8ow) WARNING : QModelIndex SortFilterProxyModelBase<Derived, NeTableModel, NeListModel>::doMapToSource(const QModelIndex&) const [with Derived = YeastSortFilterProxyModel; NeTableModel = YeastTableModel; NeListModel = YeastListModel] Index refers to source-model instead of proxy-model in call to mapToSource(). [qtModels/sortFilterProxyModels/SortFilterProxyModelBase.h:192]
[08:55:18.276] (1ds8igj8ow) ERROR : std::shared_ptr<Recipe> OwnedByRecipe::recipe() const No recipe for ID -1 [model/OwnedByRecipe.cpp:84]
[08:55:18.276] (1ds8igj8ow) ERROR : ASSERT: "false" in file ../brewtarget/src/model/OwnedByRecipe.cpp, line 85 [model/OwnedByRecipe.cpp:85]
zsh: IOT instruction (core dumped) brewtarget
Downgrading to 5.0.1 restored functionality, and I don't have to wing my brewday ^^
(That's just the previous version in my pacman cache.)
I wonder if this might have something to do with declining the new ingredient/recipe updates on new versions? I try to avoid cluttering my lists with stuff not available locally, but maybe these imports do other kinds of database housekeeping as well? I could try this later.
Hey, after upgrading to 5.0.4 brewtarget crashes on startup. This appears to be related to some particular DB state.
OS: Arch Linux
Package: brewtarget 5.0.4-1 from AUR
CLI output:
Downgrading to 5.0.1 restored functionality, and I don't have to wing my brewday ^^
(That's just the previous version in my pacman cache.)
I wonder if this might have something to do with declining the new ingredient/recipe updates on new versions? I try to avoid cluttering my lists with stuff not available locally, but maybe these imports do other kinds of database housekeeping as well? I could try this later.