Menu

#22 Crash on connection after changing database

open
nobody
None
Defect
Minor
StartkladdeGui
2012-09-19
2012-09-19
No
  • Make sure that the database startkladde211 does not exist
  • Make sure that the configured database is not current (./startkladde db:down)
  • A dialog will appear stating the database has to be updated. Cancel.
  • In the settings, change the database name to startkladde211
  • Connect
  • A dialog will appear asking to create the database. Confirm.
  • Crash

Program output:

startkladde_defaultInterface_0 connecting to startkladde@localhost:startkladde211 via 127.0.0.1:55528...Unknown database 'startkladde211'
startkladde_defaultInterface_0 connecting to startkladde@localhost:startkladde211 via 127.0.0.1:55528...Unknown database 'startkladde211'
Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch all exceptions there.
terminate called after throwing an instance of 'DatabaseDoesNotExistException'

gdb backtrace:

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff76c3700 (LWP 8859)]
0x00000037dde35655 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0 0x00000037dde35655 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00000037dde368fa in *__GI_abort () at abort.c:93
#2 0x00000037e12bd89d in __gnu_cxx::__verbose_terminate_handler () at /var/tmp/portage/sys-devel/gcc-4.5.3-r2/work/gcc-4.5.3/libstdc++-v3/libsupc++/vterminate.cc:93
#3 0x00000037e12bbb66 in __cxxabiv1::__terminate (handler=<optimized out>) at /var/tmp/portage/sys-devel/gcc-4.5.3-r2/work/gcc-4.5.3/libstdc++-v3/libsupc++/eh_terminate.cc:39
#4 0x00000037e12bbb93 in std::terminate () at /var/tmp/portage/sys-devel/gcc-4.5.3-r2/work/gcc-4.5.3/libstdc++-v3/libsupc++/eh_terminate.cc:49
#5 0x00000037e12bbce5 in __cxxabiv1::__cxa_rethrow () at /var/tmp/portage/sys-devel/gcc-4.5.3-r2/work/gcc-4.5.3/libstdc++-v3/libsupc++/eh_throw.cc:116
#6 0x00000037e8b7c339 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#7 0x00000037e8a7cc65 in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#8 0x00000037e8a7f277 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#9 0x00000037dea07ccc in start_thread (arg=0x7ffff76c3700) at pthread_create.c:301
#10 0x00000037dded9eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Happens on Gentoo and Debian testing. Does not happen on Windows and Ubuntu.

After restarting, the database can be created correctly.

Rated "minor" because it only occurs under very specific circumstances:

  • the database was not current
  • the database name is not changed after not updating

Discussion


Log in to post a comment.