Bug 411612 - When using Tags Manager and then closing crashes digikam
Summary: When using Tags Manager and then closing crashes digikam
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Tags-Manager (show other bugs)
Version: 6.3.0
Platform: macOS (DMG) macOS
: NOR grave
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-05 10:05 UTC by tsader
Modified: 2019-09-21 17:36 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.4.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tsader 2019-09-05 10:05:32 UTC
SUMMARY
When using Task Manager and then closing crashes digikam

STEPS TO REPRODUCE
1. Open Task Manager from menubar, Tags section or from Captions
2. Make any change within Tags Manager
3. Close Task Manager

OBSERVED RESULT
Digikam crash

EXPECTED RESULT
No crash

SOFTWARE/OS VERSIONS
Windows: 
macOS: 10.14.4
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Also happens on Digikam 6.2
Comment 1 tsader 2019-09-05 10:07:19 UTC
Sorry, meant Tags Manager (not task)
Comment 2 Maik Qualmann 2019-09-05 12:07:18 UTC
Did you also change the tag icon in the Tags Manager?

Maik
Comment 3 tsader 2019-09-05 15:24:26 UTC
No, I haven't changed anything
Comment 4 Maik Qualmann 2019-09-08 10:56:04 UTC
Git commit bbbe2c65211e7dec6940c9ba6a4ba576e8b7302b by Maik Qualmann.
Committed on 08/09/2019 at 10:54.
Pushed by mqualmann into branch 'master'.

add parent to QSplitter

M  +1    -1    core/libs/tags/manager/tagsmanager.cpp

https://invent.kde.org/kde/digikam/commit/bbbe2c65211e7dec6940c9ba6a4ba576e8b7302b
Comment 5 Maik Qualmann 2019-09-13 16:32:21 UTC
A new developer version is available. Is the problem still to reproduce?

https://files.kde.org/digikam/

Maik
Comment 6 tsader 2019-09-16 12:45:10 UTC
Yes, it still crashes right after closing the Tags Manager window
Comment 7 Maik Qualmann 2019-09-17 06:37:50 UTC
Gilles, can you confirm the crash and possibly create a debug trace? I do not see anything in the Tags Manager code that could trigger the crash.

Maik
Comment 8 Maik Qualmann 2019-09-17 06:41:30 UTC
Maybe a double delete in the TagsList...

Maik
Comment 9 caulier.gilles 2019-09-17 06:59:19 UTC
I will test this point this evening.

gilles
Comment 10 caulier.gilles 2019-09-17 07:00:52 UTC
TSader,

Which digiKam Macos package do you use to test exactly ?

I pushed today a new 6.4.0 pre-version of PKG...

Gilles Caulier
Comment 11 Maik Qualmann 2019-09-17 10:27:55 UTC
Git commit 47b84326e1852405bcd3a3975068196864e45a96 by Maik Qualmann.
Committed on 17/09/2019 at 10:27.
Pushed by mqualmann into branch 'master'.

fix possible double delete in the Tags Manager

M  +0    -2    core/libs/tags/manager/taglist.cpp

https://invent.kde.org/kde/digikam/commit/47b84326e1852405bcd3a3975068196864e45a96
Comment 12 tsader 2019-09-17 11:21:35 UTC
I updated to the 6.4.0
Comment 13 caulier.gilles 2019-09-17 16:50:30 UTC
I just updated the 6.4.0 pre-release PKG with last Maik commits.

Please try again...

Gilles Caulier
Comment 14 caulier.gilles 2019-09-18 05:35:31 UTC
TSader,

Any feedback here with last compiled PKG done this morning ?

Gilles Caulier
Comment 15 tsader 2019-09-18 11:42:44 UTC
It is doing still the same with the new Build
Comment 16 Maik Qualmann 2019-09-18 21:10:48 UTC
Git commit aca3a9fa010114e7613f79226ddc7378a86d37e3 by Maik Qualmann.
Committed on 18/09/2019 at 21:09.
Pushed by mqualmann into branch 'master'.

polish and fix memory leaks

M  +9    -4    core/libs/tags/manager/models/tagmngrlistitem.cpp
M  +2    -2    core/libs/tags/manager/models/tagmngrlistmodel.cpp
M  +1    -1    core/libs/tags/manager/models/tagmngrlistview.cpp
M  +2    -2    core/libs/tags/manager/taglist.cpp
M  +4    -3    core/libs/tags/manager/tagmngrtreeview.cpp
M  +6    -5    core/libs/tags/manager/tagsmanager.cpp
M  +1    -1    core/libs/tags/manager/tagsmanager.h

https://invent.kde.org/kde/digikam/commit/aca3a9fa010114e7613f79226ddc7378a86d37e3
Comment 17 caulier.gilles 2019-09-19 08:58:05 UTC
TSader,

I just recompiled the 6.4.0 pre-release PKG with last Maik commit. Can you reproduce the crash ?

Gilles Caulier
Comment 18 tsader 2019-09-20 13:49:02 UTC
Still the same crash
Comment 19 Maik Qualmann 2019-09-20 14:19:04 UTC
We need a hint through a backtrace.
Gilles, I suppose you can not reproduce it?

Maik
Comment 20 caulier.gilles 2019-09-20 14:51:19 UTC
I don't yet tried. I will do it tomorrow morning at home.

Gilles
Comment 21 caulier.gilles 2019-09-20 16:50:13 UTC
Fully reproducible.

Here tag manager crash when i close the windows of tags manager as well:

digikam.general: Using  8  CPU core to run threads
digikam.general: Action Thread run  1  new jobs
digikam.general: Cancel Main Thread
digikam.general: One job is done
digikam.general: Cancel Main Thread
digikam.database: items to tag ()
digikam.database: Complete scan took: 4169 msecs.
digikam.general: Event is dispatched to OSX desktop notifier
QFSFileEngine::open: No file name specified
digikam.databaseserver: Running 30 seconds...
Segmentation fault: 11

The backtrace :

Process:               digikam [49188]
Path:                  /opt/digikam/*/digikam.app/Contents/MacOS/./digikam
Identifier:            digikam
Version:               6.4.0 (6.4.0-git)
Code Type:             X86-64 (Native)
Parent Process:        bash [49175]
Responsible:           digikam [49188]
User ID:               501

Date/Time:             2019-09-20 18:46:03.896 +0200
OS Version:            Mac OS X 10.14.6 (18G95)
Report Version:        12
Anonymous UUID:        070280B9-577B-F1B8-0545-8D7E1B44173A

Sleep/Wake UUID:       CD79486C-17FB-496D-99AF-AE236190D4C4

Time Awake Since Boot: 180000 seconds
Time Since Wake:       360 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [49188]

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   org.qt-project.QtCore         	0x000000010967e620 QMetaObject::cast(QObject*) const + 24
1   org.qt-project.QtWidgets      	0x0000000108822765 QWidget::isActiveWindow() const + 267
2   org.qt-project.QtWidgets      	0x000000010881bd63 QWidget::palette() const + 33
3   org.qt-project.QtWidgets      	0x0000000108830184 QWidget::initPainter(QPainter*) const + 26
4   org.qt-project.QtGui          	0x0000000108e98eb7 QPainter::initFrom(QPaintDevice const*) + 37
5   org.qt-project.QtGui          	0x0000000108e9c0a8 QPainter::begin(QPaintDevice*) + 714
6   org.qt-project.QtGui          	0x0000000108e9bdd2 QPainter::QPainter(QPaintDevice*) + 78
7   libdigikamcore.6.4.0.dylib    	0x00000001056a9212 Digikam::DMultiTabBarTab::paintEvent(QPaintEvent*) + 66
8   org.qt-project.QtWidgets      	0x000000010882bc15 QWidget::event(QEvent*) + 1949
9   org.qt-project.QtWidgets      	0x00000001087fbfd3 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
10  org.qt-project.QtWidgets      	0x00000001087fd369 QApplication::notify(QObject*, QEvent*) + 733
11  org.qt-project.QtCore         	0x0000000109679f40 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
12  org.qt-project.QtWidgets      	0x0000000108825857 QWidgetPrivate::sendPaintEvent(QRegion const&) + 43
13  org.qt-project.QtWidgets      	0x00000001088254ca QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 2366
14  org.qt-project.QtWidgets      	0x0000000108825cca QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
15  org.qt-project.QtWidgets      	0x0000000108825b73 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
16  org.qt-project.QtWidgets      	0x0000000108825783 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
17  org.qt-project.QtWidgets      	0x0000000108825cca QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
18  org.qt-project.QtWidgets      	0x0000000108825783 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
19  org.qt-project.QtWidgets      	0x0000000108825cca QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
20  org.qt-project.QtWidgets      	0x0000000108825b73 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
21  org.qt-project.QtWidgets      	0x0000000108825b73 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
22  org.qt-project.QtWidgets      	0x0000000108825783 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
23  org.qt-project.QtWidgets      	0x0000000108825cca QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
24  org.qt-project.QtWidgets      	0x0000000108825b73 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
25  org.qt-project.QtWidgets      	0x0000000108825b73 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
26  org.qt-project.QtWidgets      	0x0000000108825783 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
27  org.qt-project.QtWidgets      	0x0000000108807c9e 0x1087ee000 + 105630
28  org.qt-project.QtWidgets      	0x000000010882be3b QWidget::event(QEvent*) + 2499
29  libKF5XmlGui.5.dylib          	0x0000000107b4d8fd KMainWindow::event(QEvent*) + 1261
30  libKF5XmlGui.5.dylib          	0x0000000107ba6b3a KXmlGuiWindow::event(QEvent*) + 42
31  org.qt-project.QtWidgets      	0x00000001087fbfd3 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
32  org.qt-project.QtWidgets      	0x00000001087fd369 QApplication::notify(QObject*, QEvent*) + 733
33  org.qt-project.QtCore         	0x0000000109679f40 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
34  org.qt-project.QtCore         	0x000000010967abcd QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 495
35  libqcocoa.dylib               	0x0000000116cdc85d 0x116cae000 + 190557
36  libqcocoa.dylib               	0x0000000116cdceb7 0x116cae000 + 192183
37  com.apple.CoreFoundation      	0x00007fff40e543bb __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
38  com.apple.CoreFoundation      	0x00007fff40e54361 __CFRunLoopDoSource0 + 108
39  com.apple.CoreFoundation      	0x00007fff40e3826b __CFRunLoopDoSources0 + 195
40  com.apple.CoreFoundation      	0x00007fff40e37833 __CFRunLoopRun + 1196
41  com.apple.CoreFoundation      	0x00007fff40e37135 CFRunLoopRunSpecific + 459
42  com.apple.HIToolbox           	0x00007fff400881ab RunCurrentEventLoopInMode + 292
43  com.apple.HIToolbox           	0x00007fff40087ded ReceiveNextEventCommon + 355
44  com.apple.HIToolbox           	0x00007fff40087c76 _BlockUntilNextEventMatchingListInModeWithFilter + 64
45  com.apple.AppKit              	0x00007fff3e42079d _DPSNextEvent + 1135
46  com.apple.AppKit              	0x00007fff3e41f48b -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
47  com.apple.AppKit              	0x00007fff3e4195a8 -[NSApplication run] + 699
48  libqcocoa.dylib               	0x0000000116cdc05e 0x116cae000 + 188510
49  org.qt-project.QtCore         	0x0000000109676a1c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 318
50  org.qt-project.QtCore         	0x000000010967a3b8 QCoreApplication::exec() + 116
51  digikam                       	0x0000000104fefd57 main + 11575
52  libdyld.dylib                 	0x00007fff6ce2a3d5 start + 1

Thread 1:
0   libsystem_pthread.dylib       	0x00007fff6d01d3f0 start_wqthread + 0

Thread 2:: Digikam::ScanController
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtCore         	0x00000001095321c7 0x10950e000 + 147911
3   org.qt-project.QtCore         	0x0000000109532136 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
4   libdigikamgui.6.4.0.dylib     	0x00000001064771b2 Digikam::ScanController::run() + 562
5   org.qt-project.QtCore         	0x000000010952c0f0 0x10950e000 + 123120
6   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 3:: com.apple.CFSocket.private
0   libsystem_kernel.dylib        	0x00007fff6cf6661a __select + 10
1   com.apple.CoreFoundation      	0x00007fff40e65988 __CFSocketManager + 630
2   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
3   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
4   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 4:: Digikam::DatabaseServer
0   libsystem_kernel.dylib        	0x00007fff6cf62f32 __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fff6ceee914 nanosleep + 199
2   org.qt-project.QtCore         	0x00000001096bbbaa 0x10950e000 + 1760170
3   libdigikamcore.6.4.0.dylib    	0x0000000105015876 Digikam::DatabaseServer::run() + 310
4   org.qt-project.QtCore         	0x000000010952c0f0 0x10950e000 + 123120
5   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 5:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff6cf5f22a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff6cf5f76c mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff40e3846d __CFRunLoopServiceMachPort + 327
3   com.apple.CoreFoundation      	0x00007fff40e379da __CFRunLoopRun + 1619
4   com.apple.CoreFoundation      	0x00007fff40e37135 CFRunLoopRunSpecific + 459
5   com.apple.AppKit              	0x00007fff3e4284c2 _NSEventThread + 175
6   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 6:: QDBusConnectionManager
0   libsystem_kernel.dylib        	0x00007fff6cf6736e poll + 10
1   org.qt-project.QtCore         	0x00000001096bc099 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 424
2   org.qt-project.QtCore         	0x00000001096bcf1c QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 532
3   org.qt-project.QtCore         	0x0000000109676a1c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 318
4   org.qt-project.QtCore         	0x000000010952b500 QThread::exec() + 108
5   org.qt-project.QtDBus         	0x00000001092967d5 0x109293000 + 14293
6   org.qt-project.QtCore         	0x000000010952c0f0 0x10950e000 + 123120
7   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
8   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
9   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 7:: QThread
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtCore         	0x00000001095321c7 0x10950e000 + 147911
3   org.qt-project.QtCore         	0x0000000109532136 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
4   libdigikamcore.6.4.0.dylib    	0x00000001053d1315 Digikam::ParkingThread::run() + 165
5   org.qt-project.QtCore         	0x000000010952c0f0 0x10950e000 + 123120
6   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 8:: Qt bearer thread
0   libsystem_kernel.dylib        	0x00007fff6cf6736e poll + 10
1   org.qt-project.QtCore         	0x00000001096bc099 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 424
2   org.qt-project.QtCore         	0x00000001096bcf1c QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 532
3   org.qt-project.QtCore         	0x0000000109676a1c QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 318
4   org.qt-project.QtCore         	0x000000010952b500 QThread::exec() + 108
5   org.qt-project.QtCore         	0x000000010952c0f0 0x10950e000 + 123120
6   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 9:: JavaScriptCore::BlockFree
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtWebKit       	0x000000010d0fab9c 0x10c3c7000 + 13843356
3   org.qt-project.QtWebKit       	0x000000010d2c4384 0x10c3c7000 + 15717252
4   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
5   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
6   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 10:: JavaScriptCore::Marking
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtWebKit       	0x000000010d0fb7c1 0x10c3c7000 + 13846465
3   org.qt-project.QtWebKit       	0x000000010d0fb87f 0x10c3c7000 + 13846655
4   org.qt-project.QtWebKit       	0x000000010d2c4384 0x10c3c7000 + 15717252
5   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 11:: JavaScriptCore::Marking
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtWebKit       	0x000000010d0fb7c1 0x10c3c7000 + 13846465
3   org.qt-project.QtWebKit       	0x000000010d0fb87f 0x10c3c7000 + 13846655
4   org.qt-project.QtWebKit       	0x000000010d2c4384 0x10c3c7000 + 15717252
5   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 12:: JavaScriptCore::Marking
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtWebKit       	0x000000010d0fb7c1 0x10c3c7000 + 13846465
3   org.qt-project.QtWebKit       	0x000000010d0fb87f 0x10c3c7000 + 13846655
4   org.qt-project.QtWebKit       	0x000000010d2c4384 0x10c3c7000 + 15717252
5   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 13:: JavaScriptCore::Marking
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtWebKit       	0x000000010d0fb7c1 0x10c3c7000 + 13846465
3   org.qt-project.QtWebKit       	0x000000010d0fb87f 0x10c3c7000 + 13846655
4   org.qt-project.QtWebKit       	0x000000010d2c4384 0x10c3c7000 + 15717252
5   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 14:: JavaScriptCore::Marking
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtWebKit       	0x000000010d0fb7c1 0x10c3c7000 + 13846465
3   org.qt-project.QtWebKit       	0x000000010d0fb87f 0x10c3c7000 + 13846655
4   org.qt-project.QtWebKit       	0x000000010d2c4384 0x10c3c7000 + 15717252
5   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 15:: JavaScriptCore::Marking
0   libsystem_kernel.dylib        	0x00007fff6cf6286a __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff6d02156e _pthread_cond_wait + 722
2   org.qt-project.QtWebKit       	0x000000010d0fb7c1 0x10c3c7000 + 13846465
3   org.qt-project.QtWebKit       	0x000000010d0fb87f 0x10c3c7000 + 13846655
4   org.qt-project.QtWebKit       	0x000000010d2c4384 0x10c3c7000 + 15717252
5   libsystem_pthread.dylib       	0x00007fff6d01e2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff6d021249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff6d01d40d thread_start + 13

Thread 16:
0   libsystem_pthread.dylib       	0x00007fff6d01d3f0 start_wqthread + 0

Thread 17:
0   libsystem_pthread.dylib       	0x00007fff6d01d3f0 start_wqthread + 0

Thread 18:
0   libsystem_pthread.dylib       	0x00007fff6d01d3f0 start_wqthread + 0

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x40134b0000000000  rbx: 0x0000000108b795e8  rcx: 0x000000010886c836  rdx: 0x0000000000000000
  rdi: 0x00007fdeb943c120  rsi: 0x00007fdeb943c120  rbp: 0x00007ffeeac16800  rsp: 0x00007ffeeac167f0
   r8: 0x0000000000000000   r9: 0x0000000108b7c490  r10: 0x00000000000003a7  r11: 0x0000000000000000
  r12: 0x0000000108b798b0  r13: 0x00007fdeb943c120  r14: 0x00007fdeb943c120  r15: 0x0000000108b795e8
  rip: 0x000000010967e620  rfl: 0x0000000000010202  cr2: 0x000000010bc1e000
Comment 22 caulier.gilles 2019-09-20 16:51:15 UTC
Note : Macos 10.14.6, last updates installed. digiKam is now compiled with KF5 5.61 and Qt 5.12.5

Gilles
Comment 23 caulier.gilles 2019-09-20 16:54:35 UTC
With lldb debugger, there is one interresting info : a pointer is null :

2019-09-20 18:53:04.573370+0200 digikam[49235:1645889] [digikam.general] Using  8  CPU core to run threads
2019-09-20 18:53:04.573599+0200 digikam[49235:1646311] [digikam.general] Action Thread run  1  new jobs
2019-09-20 18:53:04.577944+0200 digikam[49235:1645889] [digikam.general] One job is done
2019-09-20 18:53:04.578123+0200 digikam[49235:1645889] [digikam.general] Cancel Main Thread
Process 49235 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x1)
    frame #0: 0x0000000000000001
error: memory read failed for 0x0
Target 0: (digikam) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x1)
  * frame #0: 0x0000000000000001
    frame #1: 0x0000000103d9d16a QtGui`QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate::ActivatedWindowEvent*) + 144
    frame #2: 0x0000000103d86998 QtGui`bool QWindowSystemInterfacePrivate::handleWindowSystemEvent<QWindowSystemInterface::SynchronousDelivery>(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 74
    frame #3: 0x0000000104709245 QtCore`QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const + 843
    frame #4: 0x0000000114283206 libqcocoa.dylib`___lldb_unnamed_symbol432$$libqcocoa.dylib + 1777
    frame #5: 0x00007fff430f31b8 Foundation`-[__NSObserver _doit:] + 299
    frame #6: 0x00007fff40e9a97a CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
    frame #7: 0x00007fff40e9a8f4 CoreFoundation`___CFXRegistrationPost_block_invoke + 63
    frame #8: 0x00007fff40e9a85e CoreFoundation`_CFXRegistrationPost + 404
    frame #9: 0x00007fff40ea2c8d CoreFoundation`___CFXNotificationPost_block_invoke + 87
    frame #10: 0x00007fff40e0bc9c CoreFoundation`-[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1834
    frame #11: 0x00007fff40e0af47 CoreFoundation`_CFXNotificationPost + 840
    frame #12: 0x00007fff430aeaab Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 66
    frame #13: 0x00007fff3e65911f AppKit`-[NSWindow resignKeyWindow] + 779
    frame #14: 0x00007fff3e6b7d5a AppKit`-[NSWindow _orderOutAndCalcKeyWithCounter:stillVisible:docWindow:] + 256
    frame #15: 0x00007fff3e458990 AppKit`NSPerformVisuallyAtomicChange + 132
    frame #16: 0x00007fff3e5ce4b3 AppKit`-[NSWindow _doWindowOrderOutWithWithKeyCalc:forCounter:orderingDone:docWindow:] + 80
    frame #17: 0x00007fff3e5cdf10 AppKit`-[NSWindow _reallyDoOrderWindowOutRelativeTo:findKey:forCounter:force:isModal:] + 423
    frame #18: 0x00007fff3e57395a AppKit`-[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 172
    frame #19: 0x00007fff3e572521 AppKit`-[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 283
    frame #20: 0x00007fff3e5723a5 AppKit`-[NSWindow orderWindow:relativeTo:] + 152
    frame #21: 0x000000011427cb92 libqcocoa.dylib`___lldb_unnamed_symbol308$$libqcocoa.dylib + 1028
    frame #22: 0x0000000103da3926 QtGui`QWindowPrivate::setVisible(bool) + 590
    frame #23: 0x00000001038c99a5 QtWidgets`QWidgetPrivate::hide_sys() + 173
    frame #24: 0x00000001038cbd17 QtWidgets`QWidgetPrivate::hide_helper() + 165
    frame #25: 0x00000001038cc16d QtWidgets`QWidgetPrivate::setVisible(bool) + 377
    frame #26: 0x00000001038be818 QtWidgets`QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) + 266
    frame #27: 0x0000000101735895 libdigikamgui.6.4.0.dylib`Digikam::DigikamApp::slotExit() + 21
    frame #28: 0x000000010171fee7 libdigikamgui.6.4.0.dylib`Digikam::DigikamApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 359
    frame #29: 0x0000000104727631 QtCore`QMetaObject::activate(QObject*, int, int, void**) + 2353
    frame #30: 0x000000010389588d QtWidgets`QAction::activate(QAction::ActionEvent) + 307
    frame #31: 0x000000010472173e QtCore`QObject::event(QEvent*) + 124
    frame #32: 0x000000010389cfd3 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
    frame #33: 0x000000010389e369 QtWidgets`QApplication::notify(QObject*, QEvent*) + 733
    frame #34: 0x0000000104701f40 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
    frame #35: 0x0000000104702bcd QtCore`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 495
    frame #36: 0x000000011429485d libqcocoa.dylib`___lldb_unnamed_symbol715$$libqcocoa.dylib + 183
    frame #37: 0x0000000114294eb7 libqcocoa.dylib`___lldb_unnamed_symbol727$$libqcocoa.dylib + 33
    frame #38: 0x00007fff40e543bb CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #39: 0x00007fff40e54361 CoreFoundation`__CFRunLoopDoSource0 + 108
    frame #40: 0x00007fff40e3826b CoreFoundation`__CFRunLoopDoSources0 + 195
    frame #41: 0x00007fff40e37833 CoreFoundation`__CFRunLoopRun + 1196
    frame #42: 0x00007fff40e37135 CoreFoundation`CFRunLoopRunSpecific + 459
    frame #43: 0x00007fff400881ab HIToolbox`RunCurrentEventLoopInMode + 292
    frame #44: 0x00007fff40087ded HIToolbox`ReceiveNextEventCommon + 355
    frame #45: 0x00007fff40087c76 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #46: 0x00007fff3e42079d AppKit`_DPSNextEvent + 1135
    frame #47: 0x00007fff3e41f48b AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
    frame #48: 0x00007fff3e4195a8 AppKit`-[NSApplication run] + 699
    frame #49: 0x000000011429405e libqcocoa.dylib`___lldb_unnamed_symbol707$$libqcocoa.dylib + 2246
    frame #50: 0x00000001046fea1c QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 318
    frame #51: 0x00000001047023b8 QtCore`QCoreApplication::exec() + 116
    frame #52: 0x000000010000ad57 digikam`main + 11575
    frame #53: 0x00007fff6ce2a3d5 libdyld.dylib`start + 1

Gilles
Comment 24 caulier.gilles 2019-09-20 16:55:20 UTC
Note : under lldb is do not crash when i close tag manager but when i close application as well. So i suspect a race condition here ...

Gilles
Comment 25 caulier.gilles 2019-09-21 08:14:49 UTC
I regenerate the MAcOS package without to drop any debug symbols. I compared digikam + libdigikam* binaries, and the file sizes grow considerably.

Now inside lldb it crash or not when i open close Tag manager ! is this one :

2019-09-21 10:07:20.936275+0200 digikam[7118:2175480] [digikam.database] items to tag ()
2019-09-21 10:07:20.937713+0200 digikam[7118:2175480] [digikam.database] Complete scan took: 3249 msecs.
2019-09-21 10:07:20.939097+0200 digikam[7118:2175429] [digikam.general] Event is dispatched to OSX desktop notifier
2019-09-21 10:07:39.436817+0200 digikam[7118:2175485] [digikam.databaseserver] Running 30 seconds...
2019-09-21 10:07:55.315336+0200 digikam[7118:2175429] QFSFileEngine::open: No file name specified
2019-09-21 10:08:09.517339+0200 digikam[7118:2175485] [digikam.databaseserver] Running 60 seconds...
Process 7118 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x00000001058b9ea5 QtCore`QObject::metaObject() const + 21
QtCore`QObject::metaObject:
->  0x1058b9ea5 <+21>: movq   (%rdi), %rax
    0x1058b9ea8 <+24>: callq  *0x18(%rax)
    0x1058b9eab <+27>: movq   %rax, %rcx
    0x1058b9eae <+30>: leaq   0x8(%rax), %rax
Target 0: (digikam) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
  * frame #0: 0x00000001058b9ea5 QtCore`QObject::metaObject() const + 21
    frame #1: 0x0000000105896622 QtCore`QMetaObject::cast(QObject*) const + 26
    frame #2: 0x0000000104a53765 QtWidgets`QWidget::isActiveWindow() const + 267
    frame #3: 0x0000000104a4cd63 QtWidgets`QWidget::palette() const + 33
    frame #4: 0x0000000104a61184 QtWidgets`QWidget::initPainter(QPainter*) const + 26
    frame #5: 0x00000001050c6eb7 QtGui`QPainter::initFrom(QPaintDevice const*) + 37
    frame #6: 0x00000001050ca0a8 QtGui`QPainter::begin(QPaintDevice*) + 714
    frame #7: 0x00000001050c9dd2 QtGui`QPainter::QPainter(QPaintDevice*) + 78
    frame #8: 0x0000000100791392 libdigikamcore.6.4.0.dylib`Digikam::DMultiTabBarTab::paintEvent(QPaintEvent*) + 66
    frame #9: 0x0000000104a5cc15 QtWidgets`QWidget::event(QEvent*) + 1949
    frame #10: 0x0000000104a2cfd3 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
    frame #11: 0x0000000104a2e369 QtWidgets`QApplication::notify(QObject*, QEvent*) + 733
    frame #12: 0x0000000105891f40 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
    frame #13: 0x0000000104a56857 QtWidgets`QWidgetPrivate::sendPaintEvent(QRegion const&) + 43
    frame #14: 0x0000000104a564ca QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 2366
    frame #15: 0x0000000104a56cca QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
    frame #16: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #17: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #18: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #19: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #20: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #21: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #22: 0x0000000104a56783 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
    frame #23: 0x0000000104a56cca QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
    frame #24: 0x0000000104a56783 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
    frame #25: 0x0000000104a56cca QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
    frame #26: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #27: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #28: 0x0000000104a56783 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
    frame #29: 0x0000000104a56cca QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1100
    frame #30: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #31: 0x0000000104a56b73 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 757
    frame #32: 0x0000000104a56783 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3063
    frame #33: 0x0000000104a38d13 QtWidgets`___lldb_unnamed_symbol145$$QtWidgets + 4121
    frame #34: 0x0000000104a5ce3b QtWidgets`QWidget::event(QEvent*) + 2499
    frame #35: 0x0000000103db28fd libKF5XmlGui.5.dylib`KMainWindow::event(QEvent*) + 1261
    frame #36: 0x0000000103e0bb3a libKF5XmlGui.5.dylib`KXmlGuiWindow::event(QEvent*) + 42
    frame #37: 0x0000000104a2cfd3 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
    frame #38: 0x0000000104a2e369 QtWidgets`QApplication::notify(QObject*, QEvent*) + 733
    frame #39: 0x0000000105891f40 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
    frame #40: 0x0000000105892bcd QtCore`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 495
    frame #41: 0x0000000112b2e85d libqcocoa.dylib`___lldb_unnamed_symbol715$$libqcocoa.dylib + 183
    frame #42: 0x0000000112b2eeb7 libqcocoa.dylib`___lldb_unnamed_symbol727$$libqcocoa.dylib + 33
    frame #43: 0x00007fff40e543bb CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #44: 0x00007fff40e54361 CoreFoundation`__CFRunLoopDoSource0 + 108
    frame #45: 0x00007fff40e3826b CoreFoundation`__CFRunLoopDoSources0 + 195
    frame #46: 0x00007fff40e37833 CoreFoundation`__CFRunLoopRun + 1196
    frame #47: 0x00007fff40e37135 CoreFoundation`CFRunLoopRunSpecific + 459
    frame #48: 0x00007fff400881ab HIToolbox`RunCurrentEventLoopInMode + 292
    frame #49: 0x00007fff40087ded HIToolbox`ReceiveNextEventCommon + 355
    frame #50: 0x00007fff40087c76 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #51: 0x00007fff3e42079d AppKit`_DPSNextEvent + 1135
    frame #52: 0x00007fff3e41f48b AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
    frame #53: 0x00007fff3e4195a8 AppKit`-[NSApplication run] + 699
    frame #54: 0x0000000112b2e05e libqcocoa.dylib`___lldb_unnamed_symbol707$$libqcocoa.dylib + 2246
    frame #55: 0x000000010588ea1c QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 318
    frame #56: 0x00000001058923b8 QtCore`QCoreApplication::exec() + 116
    frame #57: 0x000000010000aac1 digikam`main + 11681
    frame #58: 0x00007fff6ce2a3d5 libdyld.dylib`start + 1
(lldb) 

Look well this line : 

libdigikamcore.6.4.0.dylib`Digikam::DMultiTabBarTab::paintEvent(QPaintEvent*) + 66

I think it relevant of the right sidebar of Tag manager, perhaps something badly initialized.

Here i tested with no tag in tree view and it crash. Same if there are plenty of tags.

It crash also if right side bar is open or not when Tag Manager is started.

Note : USing a sidebar on the right side is a non sense in Tag Manager, as there is only just one tab, and by default tab is hidden. So it can be not very intuitive to check the side bar tab content for new user. Making this tab alway visible as the left side of Tag Manager sound like more logic.

Another point : Tag Manager is not based on DXmlGuiWindow. It's not necessary but not homogeneous with the rest of digiKam.

Gilles
Comment 26 Maik Qualmann 2019-09-21 14:09:31 UTC
Git commit a4bfbec493c2d719dfa8fac264ff9ff26c336a36 by Maik Qualmann.
Committed on 21/09/2019 at 14:08.
Pushed by mqualmann into branch 'master'.

add parent to DMultiTabBar

M  +1    -1    core/libs/tags/manager/tagsmanager.cpp

https://invent.kde.org/kde/digikam/commit/a4bfbec493c2d719dfa8fac264ff9ff26c336a36
Comment 27 caulier.gilles 2019-09-21 15:34:17 UTC
MAik,

It aways crash:

2019-09-21 17:31:11.485383+0200 digikam[70584:2382863] QFSFileEngine::open: No file name specified
2019-09-21 17:31:24.417104+0200 digikam[70584:2382904] [digikam.databaseserver] Running 60 seconds...
2019-09-21 17:31:54.466341+0200 digikam[70584:2382904] [digikam.databaseserver] Running 90 seconds...
Process 70584 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x119000001bc)
    frame #0: 0x0000000105896620 QtCore`QMetaObject::cast(QObject*) const + 24
QtCore`QMetaObject::cast:
->  0x105896620 <+24>: callq  *(%rax)
    0x105896622 <+26>: cmpq   %rbx, %rax
    0x105896625 <+29>: je     0x105896632               ; <+42>
    0x105896627 <+31>: movq   (%rax), %rax
Target 0: (digikam) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x119000001bc)
  * frame #0: 0x0000000105896620 QtCore`QMetaObject::cast(QObject*) const + 24
    frame #1: 0x0000000104a53765 QtWidgets`QWidget::isActiveWindow() const + 267
    frame #2: 0x0000000104a86dd0 QtWidgets`QStyleOption::init(QWidget const*) + 108
    frame #3: 0x0000000104c27ddf QtWidgets`QAbstractItemView::viewOptions() const + 41
    frame #4: 0x0000000104c78b77 QtWidgets`QTreeView::drawBranches(QPainter*, QRect const&, QModelIndex const&) const + 329
    frame #5: 0x0000000104c784f6 QtWidgets`QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const + 2648
    frame #6: 0x0000000104c76c71 QtWidgets`QTreeView::drawTree(QPainter*, QRegion const&) const + 941
    frame #7: 0x0000000104c768a0 QtWidgets`QTreeView::paintEvent(QPaintEvent*) + 282
    frame #8: 0x0000000104a5cc15 QtWidgets`QWidget::event(QEvent*) + 1949
    frame #9: 0x0000000104ae67f3 QtWidgets`QFrame::event(QEvent*) + 45
    frame #10: 0x0000000104c1ff43 QtWidgets`QAbstractItemView::viewportEvent(QEvent*) + 1279
    frame #11: 0x0000000104c765ff QtWidgets`QTreeView::viewportEvent(QEvent*) + 515
    frame #12: 0x00000001021a8008 libdigikamgui.6.4.0.dylib`Digikam::AbstractAlbumTreeView::viewportEvent(QEvent*) + 40
    frame #13: 0x00000001021bd913 libdigikamgui.6.4.0.dylib`Digikam::AlbumSelectionTreeView::viewportEvent(QEvent*) + 67
    frame #14: 0x00000001058921d7 QtCore`QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 197
    frame #15: 0x0000000104a2cfbe QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 250
    frame #16: 0x0000000104a2e369 QtWidgets`QApplication::notify(QObject*, QEvent*) + 733
    frame #17: 0x0000000105891f40 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
    frame #18: 0x0000000104a56857 QtWidgets`QWidgetPrivate::sendPaintEvent(QRegion const&) + 43
    frame #19: 0x0000000104a564ca QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 2366
    frame #20: 0x0000000104a38c9e QtWidgets`___lldb_unnamed_symbol145$$QtWidgets + 4004
    frame #21: 0x0000000104a5ce3b QtWidgets`QWidget::event(QEvent*) + 2499
    frame #22: 0x0000000103db28fd libKF5XmlGui.5.dylib`KMainWindow::event(QEvent*) + 1261
    frame #23: 0x0000000103e0bb3a libKF5XmlGui.5.dylib`KXmlGuiWindow::event(QEvent*) + 42
    frame #24: 0x0000000104a2cfd3 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
    frame #25: 0x0000000104a2e369 QtWidgets`QApplication::notify(QObject*, QEvent*) + 733
    frame #26: 0x0000000105891f40 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
    frame #27: 0x0000000105892bcd QtCore`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 495
    frame #28: 0x000000011332e85d libqcocoa.dylib`___lldb_unnamed_symbol715$$libqcocoa.dylib + 183
    frame #29: 0x000000011332eeb7 libqcocoa.dylib`___lldb_unnamed_symbol727$$libqcocoa.dylib + 33
    frame #30: 0x00007fff40e543bb CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #31: 0x00007fff40e54361 CoreFoundation`__CFRunLoopDoSource0 + 108
    frame #32: 0x00007fff40e382c3 CoreFoundation`__CFRunLoopDoSources0 + 283
    frame #33: 0x00007fff40e37833 CoreFoundation`__CFRunLoopRun + 1196
    frame #34: 0x00007fff40e37135 CoreFoundation`CFRunLoopRunSpecific + 459
    frame #35: 0x00007fff400881ab HIToolbox`RunCurrentEventLoopInMode + 292
    frame #36: 0x00007fff40087ded HIToolbox`ReceiveNextEventCommon + 355
    frame #37: 0x00007fff40087c76 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #38: 0x00007fff3e42079d AppKit`_DPSNextEvent + 1135
    frame #39: 0x00007fff3e41f48b AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
    frame #40: 0x00007fff3e4195a8 AppKit`-[NSApplication run] + 699
    frame #41: 0x000000011332e05e libqcocoa.dylib`___lldb_unnamed_symbol707$$libqcocoa.dylib + 2246
    frame #42: 0x000000010588ea1c QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 318
    frame #43: 0x00000001058923b8 QtCore`QCoreApplication::exec() + 116
    frame #44: 0x000000010000aac1 digikam`main + 11681
    frame #45: 0x00007fff6ce2a3d5 libdyld.dylib`start + 1
(lldb) 

Unfortunately, i cannot get more debug info. Look like the crash is now located outside digiKam. There is no line about DMultiTabBar

Gilles
Comment 28 caulier.gilles 2019-09-21 15:48:53 UTC
Git commit dd818f2329321694e60e889e19c32f605db8c975 by Gilles Caulier.
Committed on 21/09/2019 at 15:47.
Pushed by cgilles into branch 'master'.

no need to use sidebars on Tag Manager. There is only one tab to shaow and it's important to set this view always visible

M  +2    -36   core/libs/tags/manager/tagsmanager.cpp
M  +0    -6    core/libs/tags/manager/tagsmanager.h

https://invent.kde.org/kde/digikam/commit/dd818f2329321694e60e889e19c32f605db8c975
Comment 29 caulier.gilles 2019-09-21 16:16:13 UTC
Git commit 7d6b3812ee9f0a99682c5e7e53a9155c4d1d5e5f by Gilles Caulier.
Committed on 21/09/2019 at 16:13.
Pushed by cgilles into branch 'master'.

Do not embed KMainWindow in a KMainWindow just to create a layout and plug KToolBar as well.
KMainWindow => QMainWindow => it's not the main parent dialog everywhere.
KToolBar => QToolBar
Code cleanup, simplifications, and optimisations

M  +32   -34   core/libs/tags/manager/tagsmanager.cpp
M  +3    -7    core/libs/tags/manager/tagsmanager.h

https://invent.kde.org/kde/digikam/commit/7d6b3812ee9f0a99682c5e7e53a9155c4d1d5e5f
Comment 30 caulier.gilles 2019-09-21 17:36:49 UTC
Problem definitively fixed with my last commit...