You are not logged in.
Hi all,
I haven't used GIMP in a couple of months, and now it won't start.
I have no experience whatsoever in debugging - could you please guide and help me? Thank you!
$ gimp
Illegal instruction (core dumped)
$ gdb /usr/bin/gimp
GNU gdb (GDB) 13.2
Copyright (C) 2023 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-pc-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 /usr/bin/gimp...
This GDB supports auto-downloading debuginfo from the following URLs:
<https://debuginfod.archlinux.org/>
Enable debuginfod for this session? (y or [n]) n
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
(No debugging symbols found in /usr/bin/gimp)
(gdb) run
Starting program: /usr/bin/gimp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Program received signal SIGILL, Illegal instruction.
0x00007ffff4f2536b in init () from /usr/lib/babl-0.1/x86-64-v3-CIE.so
(gdb)
$ cat gdb.txt
Thread 1 (Thread 0x7ffff52f8480 (LWP 4522) "gimp"):
#0 0x00007ffff4f2536b in init () at /usr/lib/babl-0.1/x86-64-v3-CIE.so
#1 0x00007ffff72b1749 in babl_init () at /usr/lib/libbabl-0.1.so.0
#2 0x00007ffff743dfc1 in () at /usr/lib/libgegl-0.4.so.0
#3 0x00007ffff6e9dae9 in g_option_context_parse () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff6e9e89b in g_option_context_parse_strv () at /usr/lib/libglib-2.0.so.0
#5 0x00000001000ce555 in main ()
Searching on the internet for "Illegal instruction (code dumped)" indicated possible issues with the CPU. GIMP worked just fine in the past, but here is:
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
CPU family: 6
Model: 94
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Stepping: 3
CPU(s) scaling MHz: 60%
CPU max MHz: 3600.0000
CPU min MHz: 800.0000
BogoMIPS: 6402.62
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe sysca
ll nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmu
lqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_time
r aes xsave f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow flexpriority
ept vpid ept_ad fsgsbase tsc_adjust bmi1 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xget
bv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp vnmi md_clear flush_l1d arch_capabilities
Virtualization features:
Virtualization: VT-x
Caches (sum of all):
L1d: 128 KiB (4 instances)
L1i: 128 KiB (4 instances)
L2: 1 MiB (4 instances)
L3: 6 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
Vulnerabilities:
Gather data sampling: Mitigation; AVX disabled, no microcode
Itlb multihit: KVM: Mitigation: VMX disabled
L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT disabled
Mds: Mitigation; Clear CPU buffers; SMT disabled
Meltdown: Mitigation; PTI
Mmio stale data: Mitigation; Clear CPU buffers; SMT disabled
Retbleed: Mitigation; IBRS
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; IBRS, IBPB conditional, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Srbds: Mitigation; Microcode
Tsx async abort: Mitigation; TSX disabled
Please let me know what I should do next to debug this. Thank you.
Offline
Hello. It seems that the error comes from babl. Guessing from the name of the library (“x86-64-v3-CIE.so”), it attempts to use x86-64 v3 instructions, but for some reason your CPU refuses to support these. Based on i5-6500 entry in Wikipedia, it should. I am confused.
The good news is that it is very unlikely to be a hardware breakage and you shouldn’t be worried about your CPU. The bad news is I do not know, what causes this behavior and why some v3 extensions (AVX for one) are missing.
Your lscpu output reports, among others, GDS mitigation by disabling AVX. Which brings me to the conclusion, that I should ask if you have microcode updates enabled. If it doesn’t help, perhaps this will at least point to the right direction.
Sometimes I seem a bit harsh — don’t get offended too easily!
Offline
Are you using the linux-hardened kernel? https://bugs.archlinux.org/task/79444
Edit:
https://gitlab.gnome.org/GNOME/babl/-/b … =tags#L271
Appears to be another case of only checking for hardware support without checking for OS support.
Last edited by loqs (2023-09-15 17:27:40)
Offline
Are you using the linux-hardened kernel? https://bugs.archlinux.org/task/79444
Edit:
https://gitlab.gnome.org/GNOME/babl/-/b … =tags#L271
Appears to be another case of only checking for hardware support without checking for OS support.
I am, indeed! Thank you for the pointer. I will read the bug tracker and see what is said there.
Offline