Subject: vice: processor dependency?

From: Christopher Howard <[email-masked]>
Date: Tue, 11 May 2021 18:33:07 -0800

Hi, when I install vice from guix, and attempt to run a ROM, I get this
error, and the GUI does not launch:

Illegal instruction

However, if I pull the source with `guix -S vice', create a build
environment with `guix environment vice', and build it myself (with
./configure --prefix=/home/christopher/local --disable-pdf-docs) and
then run the ROM, vice GUI opens up and the ROM runs without trouble.

As a guess, I suspect your build made use of some advanced multimedia
CPU flag not available on my computer.

I am not very knowledgeable in C debugging, but gdb gave this
backtrace:

Thread 10 "x64sc" received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7fffce3fd700 (LWP 2511)]
0x0000000000641a61 in reSID::WaveformGenerator::WaveformGenerator() ()
(gdb) bt
#0  0x0000000000641a61 in reSID::WaveformGenerator::WaveformGenerator()
()
#1  0x0000000000641982 in reSID::Voice::Voice() ()
#2  0x000000000063e017 in reSID::SID::SID() ()
#3  0x0000000000531f5f in resid_open ()
#4  0x000000000043db9d in sound_open ()
#5  0x000000000043eb85 in sound_flush ()
#6  0x000000000044315e in vsync_do_end_of_line ()
#7  0x00000000005a70a3 in vicii_raster_draw_handler ()
#8  0x000000000059eedd in vicii_cycle ()
#9  0x000000000045221d in maincpu_mainloop ()
#10 0x0000000000430244 in vice_thread_main ()
#11 0x00007ffff693af64 in start_thread () from
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-
2.31/lib/libpthread.so.0
#12 0x00007ffff686c9af in clone () from
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6

Here is my system information:

christopher@nightshade ~$ neofetch --stdout
christopher@nightshade 
---------------------- 
OS: Guix System 87b4b0e4385149b40ee87ae2d57712679452746b x86_64 
Host: GA-880GM-UD2H 
Kernel: 5.11.19-gnu 
Uptime: 15 mins 
Packages: 105 (guix-system), 92 (guix-user) 
Shell: bash 5.0.16 
Resolution: 1920x1200 
DE: GNOME 3.34.5 
Theme: Adwaita [GTK2/3] 
Icons: Adwaita [GTK2/3] 
Terminal: kitty 
CPU: AMD Athlon II X3 455 (3) @ 3.300GHz 
GPU: NVIDIA GeForce 8400 GS Rev. 3 
Memory: 842MiB / 7959MiB

Host: GA-880GM-UD2H 
Kernel: 5.11.19-gnu 
Uptime: 15 mins 
Packages: 105 (guix-system), 92 (guix-user) 
Shell: bash 5.0.16 
Resolution: 1920x1200 
DE: GNOME 3.34.5 
Theme: Adwaita [GTK2/3] 
Icons: Adwaita [GTK2/3] 
Terminal: kitty 
CPU: AMD Athlon II X3 455 (3) @ 3.300GHz 
GPU: NVIDIA GeForce 8400 GS Rev. 3 
Memory: 842MiB / 7959MiB 

christopher@nightshade ~$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 5
model name	: AMD Athlon(tm) II X3 455 Processor
stepping	: 3
microcode	: 0x10000c8
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 3
core id		: 0
cpu cores	: 3
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl
nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs		: tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
null_seg amd_e400 spectre_v1 spectre_v2
bogomips	: 6629.32
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 5
model name	: AMD Athlon(tm) II X3 455 Processor
stepping	: 3
microcode	: 0x10000c8
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 3
core id		: 1
cpu cores	: 3
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl
nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs		: tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
null_seg amd_e400 spectre_v1 spectre_v2
bogomips	: 6629.32
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor	: 2
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 5
model name	: AMD Athlon(tm) II X3 455 Processor
stepping	: 3
microcode	: 0x10000c8
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 3
core id		: 2
cpu cores	: 3
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl
nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs		: tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
null_seg amd_e400 spectre_v1 spectre_v2
bogomips	: 6629.32
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

-- 
Christopher Howard
blog: https://librehacker.com
social: https://gnusocial.club/librehacker