Application: tellico (3.0.2) Qt Version: 5.7.1 Frameworks Version: 5.32.0 Operating System: Linux 4.9.16-1-default x86_64 Distribution: "openSUSE Tumbleweed" -- Information about the crash: - What I was doing when the application crashed: I set the "Image Storage Options" to "Store images in data file" and saved. File completes saving but then the application crashes. The data file has 3027 entries and almost all have images associated with them. On restarting the application, the storage option is set back to "Store images in common application directory". The crash can be reproduced every time. -- Backtrace: Application: Tellico (tellico), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f0ad86eee00 (LWP 4496))] Thread 3 (Thread 0x7f0ab3a03700 (LWP 4498)): #0 0x00007f0acee377bd in poll () at /lib64/libc.so.6 #1 0x00007f0ac7b42a86 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f0ac7b42b9c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f0acfa6d18b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #4 0x00007f0acfa16aea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f0acf844813 in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #6 0x00007f0ad2bfd385 in () at /usr/lib64/libQt5DBus.so.5 #7 0x00007f0acf8494c8 in () at /usr/lib64/libQt5Core.so.5 #8 0x00007f0acb71e537 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f0acee4104f in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f0aba802700 (LWP 4497)): #0 0x00007f0acee377bd in poll () at /lib64/libc.so.6 #1 0x00007f0ac9f3c3e0 in () at /usr/lib64/libxcb.so.1 #2 0x00007f0ac9f3e179 in xcb_wait_for_event () at /usr/lib64/libxcb.so.1 #3 0x00007f0abcb28889 in () at /usr/lib64/libQt5XcbQpa.so.5 #4 0x00007f0acf8494c8 in () at /usr/lib64/libQt5Core.so.5 #5 0x00007f0acb71e537 in start_thread () at /lib64/libpthread.so.0 #6 0x00007f0acee4104f in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f0ad86eee00 (LWP 4496)): [KCrash Handler] #6 0x00007f0ad0efd234 in KPageDialog::button(QDialogButtonBox::StandardButton) const () at /usr/lib64/libKF5WidgetsAddons.so.5 #7 0x000000000048a886 in () #8 0x0000000000513645 in () #9 0x00007f0acfa44709 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5 #10 0x00007f0ad07ef722 in QAbstractButton::clicked(bool) () at /usr/lib64/libQt5Widgets.so.5 #11 0x00007f0ad07ef974 in () at /usr/lib64/libQt5Widgets.so.5 #12 0x00007f0ad07f0d67 in () at /usr/lib64/libQt5Widgets.so.5 #13 0x00007f0ad07f0f44 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQt5Widgets.so.5 #14 0x00007f0ad074e588 in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #15 0x00007f0ad0706eac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #16 0x00007f0ad070f51d in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #17 0x00007f0acfa18b00 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #18 0x00007f0ad070dbcd in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQt5Widgets.so.5 #19 0x00007f0ad0768c06 in () at /usr/lib64/libQt5Widgets.so.5 #20 0x00007f0ad076b613 in () at /usr/lib64/libQt5Widgets.so.5 #21 0x00007f0ad0706eac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #22 0x00007f0ad070e661 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #23 0x00007f0acfa18b00 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #24 0x00007f0acff65c43 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5 #25 0x00007f0acff677c5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5 #26 0x00007f0acff4575b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5 #27 0x00007f0abcb5f210 in () at /usr/lib64/libQt5XcbQpa.so.5 #28 0x00007f0ac7b42887 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #29 0x00007f0ac7b42af0 in () at /usr/lib64/libglib-2.0.so.0 #30 0x00007f0ac7b42b9c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #31 0x00007f0acfa6d16f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #32 0x00000000004b271c in () #33 0x000000000051420d in () #34 0x00007f0acfa44709 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5 #35 0x00007f0acfa50e73 in () at /usr/lib64/libQt5Core.so.5 #36 0x00007f0acfa45573 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5 #37 0x00007f0ad0706eac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #38 0x00007f0ad070e661 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #39 0x00007f0acfa18b00 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #40 0x00007f0acfa6c10e in QTimerInfoList::activateTimers() () at /usr/lib64/libQt5Core.so.5 #41 0x00007f0acfa6c631 in () at /usr/lib64/libQt5Core.so.5 #42 0x00007f0ac7b42887 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #43 0x00007f0ac7b42af0 in () at /usr/lib64/libglib-2.0.so.0 #44 0x00007f0ac7b42b9c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #45 0x00007f0acfa6d16f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #46 0x00007f0acfa16aea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #47 0x00007f0acfa1f25c in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5 #48 0x000000000046b9f9 in () #49 0x00007f0aced74541 in __libc_start_main () at /lib64/libc.so.6 #50 0x000000000046d16a in _start () Reported using DrKonqi
I'm having trouble re-producing this. Does it crash right after you change the setting or after closing the config dialog and saving the data file? Do you know if Tumbleweed has debug packages for including the backtrace from Tellico? Right now, the backtrace just shows a few items from the underlying KDE and Qt libraries, which makes it hard to tell where in Tellico the crash is occurring
Unfortunately Tumbleweed does not have the debug packages for tellico so no help there. The steps I used to recreate the problem were: 1) Load the data file 2) Add a new item 3) Select "Configure Tellico" from the "Settings" menu Note: Image Storage Options is set to "Store images in common application directory" even though the images were previously stored in the data file. 4) Check the "Store images in data file" box and click Apply. 5) A dialog box pops up saying something like, some of the images are not stored in data file, do you want to save and I clicked Yes At this point the file starts saving and continues to completion (i.e. shows 100% in the progress bar) at which point the application crashes. Restarting the application, all of the items are present including the item added in step 2. Going into the configure dialog, it is back set to "Store images in common application directory". In hopes of getting some additional debug information, I downloaded the source and compiled it and tried the same set of steps and fortunately or unfortunately, I'm not sure which, it did not crash this time. Also starting the Tumbleweed supplied application, the confituration now shows "Store images in data file" and saving the file works fine without crashing (although I didn't need to change the image storage location because it was already set to what I wanted). My suspicion is that the crash occurs while saving the changed configuration file but I don't have any proof of this. It's probably not significant but I have the environment variables KDEHOME, XDG_CONFIG_HOME, and XDG_DATA_HOME all set to non-default directories. The good news in this is that the problem does not appear to be in the code as compiling from source works just fine so it must be a problem with the Tumbleweed compilation. And from my point of view, now that the storage location is set to what I want it to be, even the Tumbleweed version works fine so I don't have to stick with source version and can continue getting updates. Thanks, Bruce Anderson On 04/08/2017 05:52 PM, Robby Stephenson wrote: > https://bugs.kde.org/show_bug.cgi?id=378331 > > --- Comment #1 from Robby Stephenson <robby@periapsis.org> --- > I'm having trouble re-producing this. Does it crash right after you change the > setting or after closing the config dialog and saving the data file? > > Do you know if Tumbleweed has debug packages for including the backtrace from > Tellico? Right now, the backtrace just shows a few items from the underlying > KDE and Qt libraries, which makes it hard to tell where in Tellico the crash is > occurring >
Trying to decipher what is available in the backtrace, it looks like Tellico receives a timer event, which causes a nested event loop somewhere. Btw, K:U:E repository has tellico5 with debug information.
I'm going to go ahead and close this. There have been a few commits related to fixing timer-related crashes, most recently 4b3e69d80077ed5d7c2b678149c4901bb3a56e17.