digikam crashes with illegal instruction on AMD Athlon II

Bug #2000718 reported by Graeme Hewson
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
digikam (Ubuntu)
Confirmed
Undecided
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned

Bug Description

The crash happens early in the initialisation, since it occurs just trying to display the version:

$ digikam --version
Illegal instruction (core dumped)
$

Gdb shows the failing instruction:

$ gdb digikam
GNU gdb (Ubuntu 12.1-3ubuntu2) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from digikam...

This GDB supports auto-downloading debuginfo from the following URLs:
https://debuginfod.ubuntu.com
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/ghewson/.cache/debuginfod_client/c793f63692bc8f2f3ec63f47803ccc5398e78dcb/debuginfo...
(gdb) r
Starting program: /usr/bin/digikam
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffd13966c0 (LWP 319127)]

Thread 1 "digikam" received signal SIGILL, Illegal instruction.
0x00007ffff6c748b4 in operator* (m1=..., m2=...) at /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h:642
642 /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h: Directory not empty.
(gdb) disas /s $pc-10,+20
Dump of assembler code from 0x7ffff6c748aa to 0x7ffff6c748be:
/usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h:
642 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
643 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
644 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
645 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
646 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
647 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
648 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
649 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
   0x00007ffff6c748aa <_ZmlRK10QMatrix4x4S1_+154>: sub %dh,%bl
   0x00007ffff6c748ac <_ZmlRK10QMatrix4x4S1_+156>: movlhps %xmm0,%xmm7

642 in /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix4x4.h
   0x00007ffff6c748af <_ZmlRK10QMatrix4x4S1_+159>: movups 0x30(%r9),%xmm0
=> 0x00007ffff6c748b4 <_ZmlRK10QMatrix4x4S1_+164>: extractps $0x2,%xmm12,%r11d
   0x00007ffff6c748bb <_ZmlRK10QMatrix4x4S1_+171>: extractps $0x1,%xmm12,%edi
End of assembler dump.
(gdb)

EXTRACTPS is part of the SSE4.1 instruction set, which is not supported by AMD Athlon II Regor processors (or any other in the family, I believe): they support only the SSE4a instruction group.

References:

https://en.wikipedia.org/wiki/SSE4#SSE4.1

https://en.wikipedia.org/wiki/List_of_AMD_Athlon_II_processors#%22Regor%22_(C2/C3,_45_nm,_Dual-core)

ProblemType: Bug
DistroRelease: Ubuntu 22.10
Package: digikam 4:8.0.0~git20221002-0ubuntu1
ProcVersionSignature: Ubuntu 5.19.0-26.27-generic 5.19.7
Uname: Linux 5.19.0-26-generic x86_64
ApportVersion: 2.23.1-0ubuntu3
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: KDE
Date: Thu Dec 29 10:41:20 2022
EcryptfsInUse: Yes
InstallationDate: Installed on 2015-09-08 (2668 days ago)
InstallationMedia: Kubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
SourcePackage: digikam
UpgradeStatus: Upgraded to kinetic on 2022-10-25 (64 days ago)

Revision history for this message
Graeme Hewson (ghewson) wrote :
Revision history for this message
Graeme Hewson (ghewson) wrote :

To be clear, digikam always crashes, with any option or none.

Revision history for this message
Rik Mills (rikmills) wrote :

An update to digikam in 22.10 is currently being prepared.

See: https://bugs.launchpad.net/ubuntu/+source/digikam/+bug/2000490

Might be useful if you could test the ppa build referenced there to see if perhaps the update would fix your issue.

Revision history for this message
Graeme Hewson (ghewson) wrote :

Unfortunately the crash still happens with beta1.

Revision history for this message
Graeme Hewson (ghewson) wrote :

Tried again with 8.0.0~+beta1-0ubuntu0.22.10.1 (bug 2000490), but digikam still crashes on the EXTRACTPS instruction.

The executable is dated before the kinetic-proposed build. Is this expected?

$ ls -l $(which digikam)
-rwxr-xr-x 1 root root 47576 Jan 27 00:53 /usr/bin/digikam

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Graeme,

I have filed https://bugs.kde.org/show_bug.cgi?id=465548 on your behalf, however, I suggest signing up for a KDE account as they may have more questions for you that I cannot answer since this is an upstream bug.

I cannot guarantee that the developers will support your processor, so they might decide they won't fix the bug, in which case we can't help you as we're not digikam developers nor are we versed in the code of every single piece of software we maintain.

Revision history for this message
Graeme Hewson (ghewson) wrote :

Erich, thanks. I had assumed the problem was with the compiler options being used.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Grame, there are no compiler options deviating from the default compiler options used to compile all Ubuntu packages, so sadly, no that's not the case. If there were any deviation, that would be merely to get it to build at all. Look at it this way: if the default compiler options were the problem your plasma desktop probably wouldn't work.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in digikam (Ubuntu Kinetic):
status: New → Confirmed
Changed in digikam (Ubuntu):
status: New → Confirmed
Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Ubuntu 22.10 (Kinetic Kudu) has reached end of life, so this bug will not be fixed for that specific release.

Changed in digikam (Ubuntu Kinetic):
status: Confirmed → Won't Fix
Revision history for this message
Pierre LEJEUNE (pierre-lejeune) wrote (last edit ):

The bug is still present in Ubuntu Lunar.

Revision history for this message
Graeme Hewson (ghewson) wrote :

Agreed. The bug should be fixed in digiKam 8.1.0, which I see is in the Mantic Minotaur (23.10) repository. I suspect it's a matter of waiting for that to be released. I would re-open this bug report against Lunar, but I can't work out how.

Meanwhile, if you want to get digiKam working, you could download an AppImage of 8.1.0 and run that. The repository is linked from the release announcement:

https://www.digikam.org/news/2023-07-09-8.1.0_release_announcement/

For instructions on running an AppImage see https://appimage.org/ or many articles and blog posts.

Revision history for this message
Graeme Hewson (ghewson) wrote :

I added a tag for lunar.

tags: added: lunar
Revision history for this message
Pierre LEJEUNE (pierre-lejeune) wrote :

Thanks.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.