Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After swapping IDs pgmodeler crashed while saving; .sdbm unrecoverable #1860

Open
dekiesel opened this issue Mar 5, 2024 · 3 comments
Open

Comments

@dekiesel
Copy link

dekiesel commented Mar 5, 2024

Bug description
I swapped two IDs. While saving pgmodeler crashed. When opening it again it couldn't load the split database model.

Expected behavior

  • Doesn't crash after swapping IDs
  • Doesn't take my model file with it.

Info about your desktop

  • OS: Ubuntu
  • Version: 22.4
  • Window manager: KDE
  • pgModeler version: 1.1.0
  • Qt version: QT 6

Stacktrace / Debug info

[0] src/splitmodelplugin.cpp (137)
  auto SplitModelPlugin::postInitPlugin()::(anonymous class)::operator()(const QString &) const
    [Custom] Reference to an user-defined data type that not exists in the model!

[1] src/splitmodelplugin.cpp (534)
  void SplitModelPlugin::loadSplitModel(const QString &)
    [Custom] Reference to an user-defined data type that not exists in the model!

[2] src/mainwindow.cpp (1299)
  void MainWindow::addModel(const QString &)
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!

[3] src/mainwindow.cpp (1273)
  void MainWindow::addModel(const QString &)
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!

[4] src/widgets/modelwidget.cpp (1801)
  void ModelWidget::loadModel(const QString &)
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!

[5] src/databasemodel.cpp (3591)
  void DatabaseModel::loadModel(const QString &)
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!
       ** /home/user/.config/pgmodeler-1.0/tmp/acmmkhvdF.dbm (line: 521)

[6] src/databasemodel.cpp (3523)
  void DatabaseModel::loadModel(const QString &)
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!
       ** /home/user/.config/pgmodeler-1.0/tmp/acmmkhvdF.dbm (line: 521)

[7] src/databasemodel.cpp (3606)
  BaseObject *DatabaseModel::createObject(ObjectType)
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!

[8] src/databasemodel.cpp (5123)
  Table *DatabaseModel::createTable()
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!

[9] src/databasemodel.cpp (9920)
  TableClass *DatabaseModel::createPhysicalTable() [TableClass = Table]
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!
       ** /home/user/.config/pgmodeler-1.0/tmp/acmmkhvdF.dbm (line: 522)

[10] src/databasemodel.cpp (5187)
  Column *DatabaseModel::createColumn()
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!
       ** /home/user/.config/pgmodeler-1.0/tmp/acmmkhvdF.dbm (line: 522)

[11] src/databasemodel.cpp (4432)
  PgSqlType DatabaseModel::createPgSQLType()
    [RefUserTypeInexistsModel] Reference to an user-defined data type that not exists in the model!


Additional info
I can send you the model via email.

@rkhaotix
Copy link
Member

rkhaotix commented Mar 5, 2024

Send me your file and if possible provide the steps you taken before the crash.

@dekiesel
Copy link
Author

dekiesel commented Mar 5, 2024

Mail has been sent.

@rkhaotix
Copy link
Member

pgModeler now is able to fix split database models (sdbm) so when the app crashes it'll recover the file in the next execution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants