Bug 290961

Summary: digiKam crashes after closing the configure dialog
Product: [Applications] digikam Reporter: Deep-Sea <Deep-Sea>
Component: Bundle-WindowsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: anantapalani, caulier.gilles
Priority: NOR    
Version: 2.5.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 3.3.0
Sentry Crash Report:
Attachments: gdb output

Description Deep-Sea 2012-01-08 11:52:09 UTC
Version:           2.5.0 (using KDE 4.7.4) 
OS:                MS Windows

After closing the configure dialog ("Configure digiKam..."), the application will freeze. It's always, independent from the used button ("Ok" or "Cancel").

Reproducible: Always

Steps to Reproduce:
Open the configure dialog and then close it.

Actual Results:  
Application will freeze/crash.

Expected Results:  
No freeze/crash.
Comment 1 caulier.gilles 2012-01-08 13:09:51 UTC
We need a backtrace to hack code.

Gilles Caulier
Comment 2 Ananta Palani 2012-01-08 15:00:59 UTC
Hi Deep-Sea,

To do a backtrace on Windows, open a command prompt and change directory (cd) to where you installed digikam (probably c:\Program Files\digikam or c:\Program Files (x86)\digikam) then cd into 'bin'. Then do the following:

Type

   gdb digikam

and press 'Enter'

Once gdb launches type the following, changing the path to the log file as desired:

   gdb digikam
   set logging file c:\Temp\digikam.txt
   set logging on
   set disable-address-randomization off
   run

After digikam crashes, do this:

   bt
   quit

Then attach your backtrace (the log file) to this bug report.
Comment 3 Deep-Sea 2012-01-08 15:44:28 UTC
Created attachment 67584 [details]
gdb output
Comment 4 Deep-Sea 2012-01-08 15:45:59 UTC
I used the official Windows installer from sourceforge (digiKam-installer-2.5.0-win32.exe). It don't contents gdb, but i downloaded it separately.

The line "set disable-address-randomization off" will cause the error "No symbol table is loaded.  Use the "file" command.". Is this a problem?

When digiKam freezes, i have to kill it using the Windows Task-Manager. Before it was not possible to type something into the gdb console. Then the command "bt" says "No stack.".

I posted the gdb output anyway.
Comment 5 Ananta Palani 2012-01-08 16:50:57 UTC
(In reply to comment #4)
> I used the official Windows installer from sourceforge
> (digiKam-installer-2.5.0-win32.exe). It don't contents gdb, but i downloaded it
> separately.

It does have it, but no matter. The one you downloaded should be fine.

> The line "set disable-address-randomization off" will cause the error "No
> symbol table is loaded.  Use the "file" command.". Is this a problem?

No, it isn't a problem. The command just tells gdb to allow address randomization so that if the crash occurs because of a race condition when not debugging then it is more likely to crash while debugging (sometimes a crash will not occur while debugging because gdb will turn off address randomization so behavior will be different).

> When digiKam freezes, i have to kill it using the Windows Task-Manager. Before
> it was not possible to type something into the gdb console. Then the command
> "bt" says "No stack.".

How long do you wait before you kill it? If digiKam actually crashed gdb would inform you and then you can type 'bt'. If you can't type 'bt' then it hasn't crashed yet and digiKam is simply waiting for something to happen, but it hasn't crashed. If you kill it in the task manager, there is no stack because the program is gone! You must wait until gdb informs you that there was a crash (gdb will give a message like "Program received signal SIGSEGV, Segmentation fault" or similar) and then you can type 'bt'. This could take quite a few minutes.

Also, during all of this does your hard drive have high disk-activity? Does it say "Scanning collection0%" at the bottom-left of digiKam's main window?
Comment 6 caulier.gilles 2012-01-08 16:55:01 UTC
It will be fine to run debugview before to run digiKam:

http://technet.microsoft.com/en-us/sysinternals/bb896647

...and to see what's printed by application on the system console before to crash.

Gilles Caulier
Comment 7 Deep-Sea 2012-01-08 20:18:33 UTC
To check the questions and use debugview, I do new tests. At the first test, digiKam don't freeze! And I don't know why, I have change nothing. But at the second test, all was like before.

> How long do you wait before you kill it?
A few minutes at the old test.
30 Minutes at the second test. But then I press Ctrl + C at the gdb console and can type "bt" (and "quit"). The output:

[New Thread 412.0x16a8]

Program received signal SIGINT, Interrupt.
[Switching to Thread 412.0x16a8]
0x76e3e37d in KERNEL32!FormatMessageW () from C:\Windows\system32\kernel32.dll
#0  0x76e3e37d in KERNEL32!FormatMessageW ()
   from C:\Windows\system32\kernel32.dll
#1  0x76e0ed6c in KERNEL32!AcquireSRWLockExclusive ()
   from C:\Windows\system32\kernel32.dll
#2  0x773437f5 in ntdll!RtlInsertElementGenericTableAvl ()
   from C:\Windows\system32\ntdll.dll
#3  0x773437c8 in ntdll!RtlInsertElementGenericTableAvl ()
   from C:\Windows\system32\ntdll.dll
#4  0x00000000 in ?? ()
A debugging session is active.

	Inferior 1 [process 412] will be killed.

Quit anyway? (y or n) 



> Also, during all of this does your hard drive have high disk-activity?
No.

> Does it say "Scanning collection0%" at the bottom-left of digiKam's main window?
No.



debugview shows no new entries after digiKam was started. Do you want the complete log file anyway?
Comment 8 caulier.gilles 2012-01-08 21:32:53 UTC
To see digiKam trace from debugview, run kdebugdialog and turn on digiKam debug space.

Gilles Caulier
Comment 9 Deep-Sea 2012-01-08 22:29:16 UTC
digiKam is activated in the kdebugdialog. And debugview has traced some events. But nothing after the start of digiKam was finished.
Or what do you mean?
Comment 10 caulier.gilles 2012-06-22 08:53:30 UTC
Official digiKam 2.6.0 release is out since few days now :

http://www.digikam.org/drupal/node/656

Please, check if this entry still valid, or update report accordingly.

Thanks in advance.

Gilles Caulier
Comment 11 Deep-Sea 2012-06-22 13:09:02 UTC
I will check this immediately when a Windows version of the 2.6.0 is available. I'm waiting for it since month :-)
Comment 12 Deep-Sea 2012-07-15 16:50:30 UTC
I have checked out the 2.6.0 and the problem seems to be fixed.