Bug 186920

Summary: too many open files
Product: [Applications] digikam Reporter: Edmon <edmon>
Component: Database-FilesAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, laszlo.gombos, matze
Priority: NOR    
Version: 0.9.4   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.0.0
Sentry Crash Report:
Attachments: List of files opened by digikam

Description Edmon 2009-03-12 06:13:03 UTC
Version:           0.9.4 (using KDE 4.2.0)
OS:                Linux
Installed from:    Ubuntu Packages

For albums folder with many files (48497), digikam is not usable. It can't show pictures; kipi plugins are disabled; icons are missing... basically, digikam is not working. Here are the errors from the console:

$ digikam
kbuildsycoca running...
Reusing existing ksycoca
Found dcraw version: 8.83
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
setmntent: Too many open files
Couldn't open /etc/kde3/kdebug.areas
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setPen: Will be reset by begin()
QPainter::end: Missing begin() or begin() failed
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setPen: Will be reset by begin()
QPainter::end: Missing begin() or begin() failed
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setPen: Will be reset by begin()
QPainter::end: Missing begin() or begin() failed
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setPen: Will be reset by begin()
QPainter::end: Missing begin() or begin() failed
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setPen: Will be reset by begin()
QPainter::end: Missing begin() or begin() failed
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setBrush: Will be reset by begin()
QPainter::setPen: Will be reset by begin()
QPainter::end: Missing begin() or begin() failed
Comment 1 Matthias Welwarsky 2009-03-12 17:59:25 UTC
file descriptor leak?
You might want to check with lsof, or have a look at /proc/<pid>/fd directly
Comment 2 Edmon 2009-03-19 06:05:41 UTC
Created attachment 32251 [details]
List of files opened by digikam

17321 being the pid of digikam:
$ sudo lsof -p 17321 | wc -l
1136
Comment 3 caulier.gilles 2011-12-15 09:13:26 UTC
Edmon,

It still valid to use digiKam 2.x serie ?

Gilles Caulier
Comment 4 caulier.gilles 2013-02-04 12:15:14 UTC

*** This bug has been marked as a duplicate of bug 314385 ***
Comment 5 caulier.gilles 2019-12-25 15:49:32 UTC
Not reproducible using digiKam 7.0.0 beta1.