[Digikam-devel] [Bug 243497] New: Digikam does not exit when "quit", stuck in select

Chris Samuel kde at csamuel.org
Sat Jul 3 14:17:04 BST 2010


https://bugs.kde.org/show_bug.cgi?id=243497

           Summary: Digikam does not exit when "quit", stuck in select
           Product: digikam
           Version: 1.3.0
          Platform: Ubuntu Packages
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: general
        AssignedTo: digikam-devel at kde.org
        ReportedBy: kde at csamuel.org


Application: digikam (1.3.0)
KDE Platform Version: 4.4.90 (KDE 4.4.90 (KDE 4.5 RC1))
Qt Version: 4.7.0
Operating System: Linux 2.6.32-23-generic x86_64
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
chris at quad:~$ apt-cache policy digikam
digikam:
  Installed: 2:1.3.0-0ubuntu1~lucid1~ppa2
  Candidate: 2:1.3.0-0ubuntu1~lucid1~ppa2
  Version table:
 *** 2:1.3.0-0ubuntu1~lucid1~ppa2 0
        500 http://ppa.launchpad.net/kubuntu-ppa/beta/ubuntu/ lucid/main
Packages
        100 /var/lib/dpkg/status
     2:1.2.0-0ubuntu2 0
        500 http://mirror.linux.org.au/ubuntu/ lucid/main Packages
        500 http://mirrors.uwa.edu.au/ubuntu/ lucid/main Packages

Digikam 1.3.0 from the Kubuntu 4.5.0 RC1 PPA does not quit properly, it seems
to be stuck in a select() loop and never exits.   Symptom is that when you
login to KDE next time you get N digikams (where N is the number you ran during
the session, I got 5 last time) start up as KDE has spotted them as running on
logout.

Previously I've used strace to see that the process is stuck in a select loop
which is constantly returning EAGAIN.    I'll comment on this report with more
information on that using strace.

- What I was doing when the application crashed:

To generate the backtrace I manually did kill -11 $PID - it is not a real
crash.

I had run it from the command line and after using the File->Quit option the
interface closed but the prompt did not return on the command line.    Here is
the full output from being run through to it dropping into the crash reporting
assistant due to my sending it SIGSEGV by hand.

chris at quad:~$ digikam
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in
use, all queries will cease to work.
QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

Time elapsed: 24 ms
Model: Time elapsed: 89 ms
TextureColorizer: Time elapsed: 25 ms
Time elapsed: 3 ms
Model: Time elapsed: 22 ms
QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QStringList
Solid::Backends::KUPnP::KUPnPManager::findDeviceByDeviceInterface(Solid::DeviceInterface::Type)
 error:  "org.freedesktop.DBus.Error.ServiceUnknown" 

QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such
file or directory
QFileSystemWatcher: failed to add paths: /home/chris/.config/ibus/bus
Bus::open: Can not get ibus-daemon's address. 
IBusInputContext::createInputContext: no connection to ibus-daemon 
KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/chris/.kde/socket-quad/kdeinit4__0

[1]+  Stopped                 digikam

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f1eae6257c0 (LWP 7997))]

Thread 9 (Thread 0x7f1e942dc710 (LWP 8003)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f1ea7603d0b in QWaitConditionPrivate::wait (this=<value optimized
out>, mutex=0x345deb8, time=18446744073709551615) at
thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x345deb8,
time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f1eab6402bc in Digikam::ParkingThread::run (this=0x345dea0) at
/build/buildd/digikam-1.3.0/libs/threads/threadmanager.cpp:101
#4  0x00007f1ea760314e in QThreadPrivate::start (arg=0x345dea0) at
thread/qthread_unix.cpp:266
#5  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#6  0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f1e93adb710 (LWP 8004)):
#0  0x00007f1ea5e12fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f1ea771f06e in qt_safe_select (nfds=22, fdread=0x3644640,
fdwrite=0x36448d8, fdexcept=0x3644b70, orig_timeout=0x0) at
kernel/qcore_unix.cpp:82
#2  0x00007f1ea772439b in QEventDispatcherUNIXPrivate::doSelect
(this=0x3644480, flags=<value optimized out>, timeout=<value optimized out>) at
kernel/qeventdispatcher_unix.cpp:219
#3  0x00007f1ea7724fcb in QEventDispatcherUNIX::processEvents (this=0x346a7e0,
flags=) at kernel/qeventdispatcher_unix.cpp:919
#4  0x00007f1ea76f45b2 in QEventLoop::processEvents (this=<value optimized
out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f1ea76f498c in QEventLoop::exec (this=0x7f1e93adad90, flags=) at
kernel/qeventloop.cpp:201
#6  0x00007f1ea76001cd in QThread::exec (this=<value optimized out>) at
thread/qthread.cpp:490
#7  0x00007f1ea760314e in QThreadPrivate::start (arg=0x34e95e0) at
thread/qthread_unix.cpp:266
#8  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#9  0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f1e932da710 (LWP 8005)):
#0  0x00007f1ea5e12fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f1ea771f06e in qt_safe_select (nfds=26, fdread=0x2fe4250,
fdwrite=0x2fe44e8, fdexcept=0x2fe4780, orig_timeout=0x0) at
kernel/qcore_unix.cpp:82
#2  0x00007f1ea772439b in QEventDispatcherUNIXPrivate::doSelect
(this=0x2fe4090, flags=<value optimized out>, timeout=<value optimized out>) at
kernel/qeventdispatcher_unix.cpp:219
#3  0x00007f1ea7724fcb in QEventDispatcherUNIX::processEvents (this=0x34eab80,
flags=) at kernel/qeventdispatcher_unix.cpp:919
#4  0x00007f1ea76f45b2 in QEventLoop::processEvents (this=<value optimized
out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f1ea76f498c in QEventLoop::exec (this=0x7f1e932d9d90, flags=) at
kernel/qeventloop.cpp:201
#6  0x00007f1ea76001cd in QThread::exec (this=<value optimized out>) at
thread/qthread.cpp:490
#7  0x00007f1ea760314e in QThreadPrivate::start (arg=0x34946c0) at
thread/qthread_unix.cpp:266
#8  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#9  0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f1e8b507710 (LWP 8006)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f1e8ffa4081 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#3  0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f1e89292710 (LWP 8008)):
#0  0x00007f1ea5e12fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f1ea771f06e in qt_safe_select (nfds=30, fdread=0x3ed6920,
fdwrite=0x3ed6bb8, fdexcept=0x3ed6e50, orig_timeout=0x0) at
kernel/qcore_unix.cpp:82
#2  0x00007f1ea772439b in QEventDispatcherUNIXPrivate::doSelect
(this=0x3ed6760, flags=<value optimized out>, timeout=<value optimized out>) at
kernel/qeventdispatcher_unix.cpp:219
#3  0x00007f1ea7724fcb in QEventDispatcherUNIX::processEvents (this=0x3ed6740,
flags=) at kernel/qeventdispatcher_unix.cpp:919
#4  0x00007f1ea76f45b2 in QEventLoop::processEvents (this=<value optimized
out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f1ea76f498c in QEventLoop::exec (this=0x7f1e89291d30, flags=) at
kernel/qeventloop.cpp:201
#6  0x00007f1ea76001cd in QThread::exec (this=<value optimized out>) at
thread/qthread.cpp:490
#7  0x00007f1e902002b0 in ?? () from
/usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#8  0x00007f1ea760314e in QThreadPrivate::start (arg=0x3ed60a0) at
thread/qthread_unix.cpp:266
#9  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#10 0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f1e82145710 (LWP 8021)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f1ea7603c72 in QWaitConditionPrivate::wait (this=<value optimized
out>, mutex=0x5079460, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x5079460,
time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f1ea75f8bd2 in QThreadPoolThread::run (this=0x4bef680) at
concurrent/qthreadpool.cpp:140
#4  0x00007f1ea760314e in QThreadPrivate::start (arg=0x4bef680) at
thread/qthread_unix.cpp:266
#5  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#6  0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f1e83147710 (LWP 8023)):
#0  0x00007f1ea5e12fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f1ea771f06e in qt_safe_select (nfds=50, fdread=0x70c4e80,
fdwrite=0x70c5118, fdexcept=0x70c53b0, orig_timeout=0x0) at
kernel/qcore_unix.cpp:82
#2  0x00007f1ea772439b in QEventDispatcherUNIXPrivate::doSelect
(this=0x70c4cc0, flags=<value optimized out>, timeout=<value optimized out>) at
kernel/qeventdispatcher_unix.cpp:219
#3  0x00007f1ea7724fcb in QEventDispatcherUNIX::processEvents (this=0x499f430,
flags=) at kernel/qeventdispatcher_unix.cpp:919
#4  0x00007f1ea76f45b2 in QEventLoop::processEvents (this=<value optimized
out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f1ea76f498c in QEventLoop::exec (this=0x7f1e83146d50, flags=) at
kernel/qeventloop.cpp:201
#6  0x00007f1ea76001cd in QThread::exec (this=<value optimized out>) at
thread/qthread.cpp:490
#7  0x00007f1ea76d44d8 in QInotifyFileSystemWatcherEngine::run (this=0x53e9000)
at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f1ea760314e in QThreadPrivate::start (arg=0x53e9000) at
thread/qthread_unix.cpp:266
#9  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#10 0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f1e7fe98710 (LWP 8024)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f1ea7603c72 in QWaitConditionPrivate::wait (this=<value optimized
out>, mutex=0x3550160, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3550160,
time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f1ea75f8bd2 in QThreadPoolThread::run (this=0x52d9b70) at
concurrent/qthreadpool.cpp:140
#4  0x00007f1ea760314e in QThreadPrivate::start (arg=0x52d9b70) at
thread/qthread_unix.cpp:266
#5  0x00007f1ea73719ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#6  0x00007f1ea5e1a6cd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f1eae6257c0 (LWP 7997)):
[KCrash Handler]
#6  0x00007f1ea5e12fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#7  0x00007f1ea771f01a in qt_safe_select (nfds=79, fdread=0x2727300,
fdwrite=0x2727598, fdexcept=0x2727830, orig_timeout=0x7fff48be8ca0) at
kernel/qcore_unix.cpp:92
#8  0x00007f1ea772439b in QEventDispatcherUNIXPrivate::doSelect
(this=0x2727140, flags=<value optimized out>, timeout=<value optimized out>) at
kernel/qeventdispatcher_unix.cpp:219
#9  0x00007f1ea7724fcb in QEventDispatcherUNIX::processEvents (this=0x26e5980,
flags=) at kernel/qeventdispatcher_unix.cpp:919
#10 0x00007f1ea83cffaf in QEventDispatcherX11::processEvents (this=<value
optimized out>, flags=) at kernel/qeventdispatcher_x11.cpp:152
#11 0x00007f1ea76f45b2 in QEventLoop::processEvents (this=<value optimized
out>, flags=) at kernel/qeventloop.cpp:149
#12 0x00007f1ea76f498c in QEventLoop::exec (this=0x7fff48be8f60, flags=) at
kernel/qeventloop.cpp:201
#13 0x00007f1ea76f8a3b in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1009
#14 0x000000000077ba6d in main (argc=<value optimized out>, argv=<value
optimized out>) at /build/buildd/digikam-1.3.0/digikam/main.cpp:195

Possible duplicates by query: bug 228326, bug 223547.

Reported using DrKonqi

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Digikam-devel mailing list