Skip to content

5.0.4: Crash at startup #1102

@Iizuki

Description

@Iizuki

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:

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions