SUMMARY Rotating image causes crash STEPS TO REPRODUCE 1. View preview of this particular image 2. attempt to rotate right 3. OBSERVED RESULT digiKam crashes EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: Win 10 Home ADDITIONAL INFORMATION V7.0.0 rc1 File is too large to attach (5MB). It is available here: https://www.dropbox.com/sh/5vtq8yb94kabvow/AAARW7m5xInT5SddMhOoUfaNa?dl=0
Git commit 7a98463487996bc91b79e5ad67d307a7199e6c2b by Maik Qualmann. Committed on 31/05/2020 at 06:21. Pushed by mqualmann into branch 'master'. polish and don't use QFileInfo::absolutePath() QFileInfo::absolutePath() replaces "//" with "UNC", this means that the file cannot be opened with fopen(). M +5 -12 core/libs/jpegutils/jpegutils.cpp https://invent.kde.org/graphics/digikam/commit/7a98463487996bc91b79e5ad67d307a7199e6c2b
I cannot reproduce a crash, neither on Linux nor on Windows. However, this JPG image is special, it cannot be rotated lossless. There is a slightly different but similar error message from libjpeg under Windows: Empty JPEG image (DNL not supported) ----- libjpeg doesn't support DNL markers in JPEG files. Files which contains such markers will declare to be of zero height. ----- Maik
yes, DNL (define-number-of-line) JPEG markers are not supported by libjpeg used in background by digiKam : https://stackoverflow.com/questions/16470268/empty-jpeg-image-dnl-not-supported-node-canvas
I can sometimes reproduce the crash on Windows. The JPEG error handler doesn't always seem to work. Maik
Since I loaded 7.0.0 rc1 it seems I cannot rotate any image, either as thumbnail or preview.
Git commit c8809100d8a3fb3f76433b79d16af83c4dd56398 by Maik Qualmann. Committed on 31/05/2020 at 08:03. Pushed by mqualmann into branch 'master'. remove static declarations from error handlers M +0 -4 core/libs/jpegutils/jpegutils.cpp https://invent.kde.org/graphics/digikam/commit/c8809100d8a3fb3f76433b79d16af83c4dd56398
No rotation works anymore? How exactly? Install the latest version from here: https://files.kde.org/digikam/ 1. Download "DebugView" from Microsoft. 2. Set this environment variable in the Windows editor for environment variables: Variable: QT_LOGGING_RULES Value: digikam.*=true 3. Start DebgugView and start digiKam. Try a rotation, send the log from DebugView. Maik
Created attachment 128954 [details] Debug log when doing rotate
The debug log contains hardly anything from digiKam. Setting the environment variable does not have to be correct. Maik
Git commit e038d6662b77f1e5c0f868d824f3b3d8dd6e4240 by Maik Qualmann. Committed on 31/05/2020 at 18:54. Pushed by mqualmann into branch 'master'. check for perfect JPEG transformation We use the option for perfect JPEG transformation. For images whose aspect ratio is not the correct aspect ratio, a line would otherwise remain without the trim option. In this case, we perform a lossy rotation. FIXED-IN: 7.0.0 M +2 -1 NEWS M +12 -3 core/libs/jpegutils/jpegutils.cpp https://invent.kde.org/graphics/digikam/commit/e038d6662b77f1e5c0f868d824f3b3d8dd6e4240
Do I need to install the debug version of digiKam? I'm guessing I do.
Created attachment 128964 [details] Debug log when doing rotate of a thumbnail. I think this is more like what you need. Using 7.0.0 rc1 debug. Rotating the same image file I sent you earlier.
The digiKam debug version is not required for the text debug output. Maik