Bug 385653 - non handled sqlite exception because of lack of space
Summary: non handled sqlite exception because of lack of space
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Thumbs (other bugs)
Version First Reported In: 5.5.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-12 11:25 UTC by Jaime Torres
Modified: 2017-12-19 08:53 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 5.8.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaime Torres 2017-10-12 11:25:36 UTC
Qt Version: 5.9.1
Frameworks Version: 5.36.0
Operating System: Linux 4.11.8-2-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:

Waiting for the application to recognize faces in a new folder.

Some previous message in the console are:

digikam.dbengine: Failure executing query:
 "INSERT INTO Thumbnails (type, modificationDate, orientationHint, data) VALUES (?, ?, ?, ?);"
Error messages: "No es posible obtener la fila" "disk I/O error" 10 1
Bound values:  (QVariant(int, 2), QVariant(QDateTime, QDateTime(2004-10-01 11:29:42.000 CEST Qt::TimeSpec(LocalTime))), QVariant(int, 1), QVariant(QByteArray, "PGFv\x10\x00\x00\x00\x00\x02\x00\x00\x80\x01\x00\x00\x03\x04 \x04\x11\b\xF7\x80""DO\x00\x00$O\x00\x00\xD6k\x00\x00'\f\xA8\x81\x80YD/\n\x03\x8D""d\x8C\x99%\bd\x06\xC3\x10\x0E\xD1*3jV\x15L\xC1\xA8\b(\x15!P\x8C""a \x17""0)PP\x18""B\x05\xAC\x02\xC0y\x97<B(gf\xE1zh\x96\x00\x04\x10 @\xCC\x01\xE0\x86\x07s*!R\x95TUUUU\x95TUU\x95TUUUUUUUUUUUUUUUUUUUUUUUUUUURUUVUUUUUUUUUIeffUUUU\x95\x94T\x15\
....
up to a line of 200.000 characters long.

After the crash, the disk space should be enough, the minimum space is 4Gb for /home, and 7Gb in /tmp.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
[Current thread is 1 (Thread 0x7f76b1104a40 (LWP 11455))]

Thread 87 (Thread 0x7f743e7fc700 (LWP 18614)):
[KCrash Handler]
#6  0x00007f76af557148 in  () at /usr/lib64/libdigikamcore.so.5.5.0
#7  0x00007f76af561ced in Digikam::JPEGLoader::load(QString const&, Digikam::DImgLoaderObserver*) () at /usr/lib64/libdigikamcore.so.5.5.0
#8  0x00007f76af6b92d4 in Digikam::DImg::load(QString const&, int, Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) () at /usr/lib64/libdigikamcore.so.5.5.0
#9  0x00007f76af76aee8 in  () at /usr/lib64/libdigikamcore.so.5.5.0
#10 0x00007f76af757cc3 in Digikam::LoadSaveThread::run() () at /usr/lib64/libdigikamcore.so.5.5.0
#11 0x00007f76af79947e in Digikam::DynamicThread::DynamicThreadPriv::run() () at /usr/lib64/libdigikamcore.so.5.5.0
#12 0x00007f76acd49181 in QThreadPoolThread::run() () at /usr/lib64/libQt5Core.so.5
#13 0x00007f76acd4cd2e in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#14 0x00007f76abe2d4d7 in start_thread (arg=0x7f743e7fc700) at pthread_create.c:456
#15 0x00007f76ac443b2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 86 (Thread 0x7f7455bfc700 (LWP 18610)):
[KCrash Handler]
#6  0x00007f76acdcd5a8 in operator==(QString const&, QString const&) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f76af767c93 in  () at /usr/lib64/libdigikamcore.so.5.5.0
#8  0x00007f76af75f5d0 in Digikam::LoadingCache::notifyNewLoadingProcess(Digikam::LoadingProcess*, Digikam::LoadingDescription const&) () at /usr/lib64/libdigikamcore.so.5.5.0
#9  0x00007f76af781a57 in  () at /usr/lib64/libdigikamcore.so.5.5.0
#10 0x00007f76af757cc3 in Digikam::LoadSaveThread::run() () at /usr/lib64/libdigikamcore.so.5.5.0
#11 0x00007f76af79947e in Digikam::DynamicThread::DynamicThreadPriv::run() () at /usr/lib64/libdigikamcore.so.5.5.0
#12 0x00007f76acd49181 in QThreadPoolThread::run() () at /usr/lib64/libQt5Core.so.5
#13 0x00007f76acd4cd2e in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#14 0x00007f76abe2d4d7 in start_thread (arg=0x7f7455bfc700) at pthread_create.c:456
#15 0x00007f76ac443b2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Comment 1 caulier.gilles 2017-12-13 22:56:01 UTC
What's about this file using 5.8.0 pre-release buncle :

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

Thanks in advance

Gilles Caulier
Comment 2 Jaime Torres 2017-12-16 18:12:26 UTC
I can't test the development version because I can't compile it.

I get the following error:
g++: error: opencv_core-NOTFOUND: No existe el fichero o el directorio
g++: error: opencv_objdetect-NOTFOUND: No existe el fichero o el directorio
g++: error: opencv_imgproc-NOTFOUND: No existe el fichero o el directorio
g++: error: opencv_imgcodecs-NOTFOUND: No existe el fichero o el directorio

even when the cmake output contains:
-- Found OpenCV: /usr (found version "3.3.1") found components:  core objdetect imgproc imgcodecs 
-- OpenCV Root directory is: /usr/share/OpenCV
-- OpenCV: Found version 3.3.1 (required: 3.1.0)
-- OpenCV headers: /usr/include;/usr/include/opencv
-- OpenCV libs   : opencv_core;opencv_objdetect;opencv_imgproc;opencv_imgcodecs

But in the code, all the SQL exceptions are handled, so it should be fixed.
Comment 3 caulier.gilles 2017-12-16 18:19:05 UTC
To compile with OPenCV3, you need to turn on a cmake flag at configure time : -DENABLE_OPENCV3=ON

Gilles Caulier
Comment 4 caulier.gilles 2017-12-16 18:20:51 UTC
or perhaps you have a problem with cmake cache to clean and reconfigure...

Gilles Caulier
Comment 5 Jaime Torres 2017-12-19 08:22:56 UTC
Confirmed. It never crashes due to lack of space in the database filesystem.

The problem now is that when it finish the job, the notification does not say "there have been n database errors" (so the user can fix them and try again the operation) and also I'm not sure if this will not cause problems in future jobs.
Comment 6 caulier.gilles 2017-12-19 08:53:52 UTC
Ok, i can close this file now.

If you have new problem to fix, please report to a new bugzilla entry.

Thanks
Gilles Caulier