Bug 360566

Summary: Crash or hang when adding a tag
Product: [Applications] digikam Reporter: Jens Scheidtmann <Jens.Scheidtmann>
Component: Tags-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: major CC: caulier.gilles, metzpinguin
Priority: NOR    
Version: 4.12.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 5.0.0
Sentry Crash Report:

Description Jens Scheidtmann 2016-03-15 15:25:37 UTC
Application: digiKam (digikam.exe), signal: EXCEPTION_ACCESS_VIOLATION


ntdll.dll!NtWaitForMultipleObjects() [[unknown] @ -1] at 0x7777016d
kernel32.dll!WaitForMultipleObjectsEx() [[unknown] @ -1] at 0x75761a08
kernel32.dll!WaitForMultipleObjects() [[unknown] @ -1] at 0x75764200
QtCore4.dll!QString::contains() [[unknown] @ -1] at 0x59394313
QtCore4.dll!QThread::setTerminationEnabled() [[unknown] @ -1] at 0x592c7ddd
QtCore4.dll!QEventDispatcherWin32::`default constructor closure'() [[unknown] @ -1] at 0x592c76fd


ntdll.dll!ZwRemoveIoCompletion() [[unknown] @ -1] at 0x7776f969
kernel32.dll!BaseThreadInitThunk() [[unknown] @ -1] at 0x7576338a
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x77789902
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x777898d5


ntdll.dll!NtWaitForMultipleObjects() [[unknown] @ -1] at 0x7777016d
kernel32.dll!BaseThreadInitThunk() [[unknown] @ -1] at 0x7576338a
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x77789902
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x777898d5


ntdll.dll!NtWaitForMultipleObjects() [[unknown] @ -1] at 0x7777016d
kernel32.dll!WaitForMultipleObjectsEx() [[unknown] @ -1] at 0x75761a08
kernel32.dll!WaitForMultipleObjects() [[unknown] @ -1] at 0x75764200
QtCore4.dll!QString::contains() [[unknown] @ -1] at 0x59394313
QtCore4.dll!QThread::setTerminationEnabled() [[unknown] @ -1] at 0x592c7ddd
QtCore4.dll!QEventDispatcherWin32::`default constructor closure'() [[unknown] @ -1] at 0x592c76fd


ntdll.dll!NtWaitForWorkViaWorkerFactory() [[unknown] @ -1] at 0x77771f56
kernel32.dll!BaseThreadInitThunk() [[unknown] @ -1] at 0x7576338a
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x77789902
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x777898d5


ntdll.dll!NtWaitForWorkViaWorkerFactory() [[unknown] @ -1] at 0x77771f56
kernel32.dll!BaseThreadInitThunk() [[unknown] @ -1] at 0x7576338a
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x77789902
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x777898d5


ntdll.dll!NtWaitForMultipleObjects() [[unknown] @ -1] at 0x7777016d
kernel32.dll!BaseThreadInitThunk() [[unknown] @ -1] at 0x7576338a
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x77789902
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x777898d5


QtCore4.dll!QBitArray::QBitArray() [[unknown] @ -1] at 0x592c8b56
digikam.exe!QMap<QString,QString>::unite() [[unknown] @ -1] at 0x10d4f5a
digikam.exe!QMap<QString,QString>::unite() [[unknown] @ -1] at 0x11641b6


ntdll.dll!NtWaitForSingleObject() [[unknown] @ -1] at 0x7776f8e1
kernel32.dll!WaitForSingleObjectEx() [[unknown] @ -1] at 0x75761194
kernel32.dll!WaitForSingleObject() [[unknown] @ -1] at 0x75761148
QtCore4.dll!QWaitCondition::wait() [[unknown] @ -1] at 0x592c881b
digikamlib.dll!Digikam::ImagePropertiesTab::setImageRatio() [[unknown] @ -1] at 0x204b72d
QtCore4.dll!QEventDispatcherWin32::`default constructor closure'() [[unknown] @ -1] at 0x592c7709
MSVCR100.dll!endthreadex() [[unknown] @ -1] at 0x5a1ec556
MSVCR100.dll!endthreadex() [[unknown] @ -1] at 0x5a1ec600
kernel32.dll!BaseThreadInitThunk() [[unknown] @ -1] at 0x7576338a
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x77789902
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x777898d5


ntdll.dll!NtWaitForSingleObject() [[unknown] @ -1] at 0x7776f8e1
kernel32.dll!WaitForSingleObjectEx() [[unknown] @ -1] at 0x75761194
kernel32.dll!WaitForSingleObject() [[unknown] @ -1] at 0x75761148
QtCore4.dll!QWaitCondition::wait() [[unknown] @ -1] at 0x592c881b
digikam.exe!QMap<QString,QString>::unite() [[unknown] @ -1] at 0x1114a7a
QtCore4.dll!QEventDispatcherWin32::`default constructor closure'() [[unknown] @ -1] at 0x592c7709
MSVCR100.dll!endthreadex() [[unknown] @ -1] at 0x5a1ec600
kernel32.dll!BaseThreadInitThunk() [[unknown] @ -1] at 0x7576338a
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x77789902
ntdll.dll!RtlInitializeExceptionChain() [[unknown] @ -1] at 0x777898d5


ntdll.dll!NtWaitForMultipleObjects() [[unknown] @ -1] at 0x7777016d
kernel32.dll!WaitForMultipleObjectsEx() [[unknown] @ -1] at 0x75761a08
kernel32.dll!WaitForMultipleObjects() [[unknown] @ -1] at 0x75764200
QtCore4.dll!QString::contains() [[unknown] @ -1] at 0x59394313
QtCore4.dll!QThread::setTerminationEnabled() [[unknown] @ -1] at 0x592c7ddd
QtCore4.dll!QEventDispatcherWin32::`default constructor closure'() [[unknown] @ -1] at 0x592c76fd


Reproducible: Didn't try

Steps to Reproduce:
1. Open Digikam
2. Switch to Tags perspective (left hand side)
3. Choose "No Tags" to only display picture with-out tags
4. Choose a picture from the list of pictures
5. Open Tag Manager
6. Enter a new tag in the top left entry field in Tag Manager.
7. Press "+"
8. Crash Report

Actual Results:  
Crash Report

Expected Results:  
New Tag is added to list of tags.

(The same installation hangs - reproducibly, ie. greyed out window, no response, you have to kill it -, when going to the Tags perspective, choosing "No Tags", then pressing a key in the "Enter tag here." entry box in the "Tags" tab on the right hand side.)
Comment 1 Jens Scheidtmann 2016-03-15 15:30:43 UTC
Cannot Reproduce. 
On second try, I was able to create the Tag (on same picture, which gave crash report).

Still I cannot add a Tag to a picture, because the application hangs as descriped in the last sentence.
Comment 2 Jens Scheidtmann 2016-03-15 15:54:24 UTC
I have followed instructions from https://www.digikam.org/contrib for "hangs", but unfortunately, no logs are generated after triggering the hang (ie. there's nothing displayed in DebugView).
Comment 3 Maik Qualmann 2016-03-15 17:34:39 UTC
The cause of the crash will be Bug 343548. If no Tag in the Tag Manager is selected and it is pressed "+", then digiKam crashes. Bug was fixed in digiKam-4.13.

Maik
Comment 4 caulier.gilles 2016-03-15 22:17:21 UTC
And 5.0.0 will be typically packaged by a contributor for Windows. Be patient....

Gilles Caulier