Subject: bug#65890: VICE encounters illegal instruction

From: Csepp <[email-masked]>
Date: Wed, 13 Sep 2023 04:55:51 +0200

Csepp <[email-masked]> writes:

> trying to run a music disk, but even if I pass no parameter, I get the
> same error at the end
>
> % xplus4 TED-Vibes-2.d64                            :(
> Detecting ISA HardSID boards.
> Could not open '/dev/port'.
> Cannot get permission to access $300.
> Detecting PCI HardSID boards.
> No PCI HardSID boards found.
>  
> *** VICE Version 3.7.1 ***
>  
> Welcome to xplus4, the free portable PLUS4 Emulator.
>  
> Current VICE team members:
> Martin Pottendorfer, Marco van den Heuvel, Fabrizio Gennari, Groepaz, 
> Errol Smith, Ingo Korb, Olaf Seibert, Marcus Sutton, Kajtar Zsolt, AreaScout, 
> Bas Wassink, Michael C. Martin, Christopher Phillips, David Hogan, 
> Empathic Qubit, Roberto Muscedere, June Tate-Gans, Pablo Roldan.
>  
> This is free software with ABSOLUTELY NO WARRANTY.
> See the "About VICE" command for more info.
>  
> random seed was: 0x65004c19
> command line was: xplus4 TED-Vibes-2.d64
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PLUS4/kernal-318004-05.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PLUS4/basic-318006-01.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PLUS4/3plus1-317053-01.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PLUS4/3plus1-317054-01.bin'.
> GTK3MOUSE: Status changed: 0 (disabled)
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PRINTER/mps803.bin'.
> Palette: Loading palette `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PRINTER/mps803.vpl'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PRINTER/nl10.bin'.
> Palette: Loading palette `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PRINTER/nl10.vpl'.
> NL10: Printer driver initialized.
> Palette: Loading palette `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PRINTER/1520.vpl'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/DRIVES/dos1540-325302+3-01.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/DRIVES/dos1541-325302-01+901229-05.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/DRIVES/dos1541ii-251968-03.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/DRIVES/dos1570-315090-01.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/DRIVES/dos1571-310654-05.bin'.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/DRIVES/dos1581-318045-02.bin'.
> DriveROM: Error - 2000 ROM image not found. Hardware-level 2000 emulation is not available.
> DriveROM: Error - 4000 ROM image not found. Hardware-level 4000 emulation is not available.
> DriveROM: Error - CMDHD ROM image not found. Hardware-level CMDHD emulation is not available.
> Loading system file `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/DRIVES/dos1551-318008-01.bin'.
> Drive: Finished loading ROM images.
> Sound: Available sound devices: pulse alsa dummy fs dump wav voc iff aiff soundmovie
> using GTK3 backend: OpenGL
> chip_name: TED
>  screen_size: 384 x 312
>  first/lastline: 0 x 0
>  gfx_size: 320 x 200
>  gfx_position: 32 x 59
>  first/last displayed line: 19 x 306
>  extra offscreen border left/right: 28 x 228
>  screen_display_wh: 0.000000 x 0.000000
>  canvas_physical_wh: 0 x 0
>  scalexy: 2 x 2
>  sizexy: 1 x 1
>  rmode: 1
>  aspect ratio: 1.037435
>  hstretch: 0
>  vstretch: 0
>  initializing with width, height: 704 x 574
> GLX version: 1.4
> Getting matching framebuffer configs
> Found 6 matching FB configs.
> Error - Failed to obtain an OpenGL 3.2 context, requesting a legacy context
>
> Obtained OpenGL 2.1 context
> 	  Vendor: Intel
> 	Renderer: Mesa Mobile Intel® GM45 Express Chipset (CTG)
> 	 Version: 2.1 Mesa 23.1.4
> 	  Legacy: yes
> Direct GLX rendering context obtained
> Swap control support. glXSwapIntervalMESA: 1 glXSwapIntervalEXT: 1 glXSwapIntervalSGI: 1
> Created render thread 0
> Render thread initialised
> Joystick: Linux joystick interface initialization...
> Joystick: Warning - Cannot open joystick device `/dev/input/js0'.
> Joystick: Warning - Cannot open joystick device `/dev/input/js1'.
> Joystick: Warning - Cannot open joystick device `/dev/input/js2'.
> Joystick: Warning - Cannot open joystick device `/dev/input/js3'.
> Joystick: Warning - Cannot open joystick device `/dev/input/js4'.
> Joystick: Warning - Cannot open joystick device `/dev/input/js5'.
> Joystick: Warning - Cannot open joystick device `/dev/input/js6'.
> Joystick: Warning - Cannot open joystick device `/dev/input/js7'.
> Loading keymap `/gnu/store/xl99j30yh624c4zzq3wzrkqv1v4zs9lm-vice-3.7.1/share/vice/PLUS4/gtk3_sym.vkm'.
> HOTKEYS: Hotkeys: Initializing.
> HOTKEYS: Hotkeys: Parsing PLUS4 hotkeys file:
> HOTKEYS: Hotkeys: OK.
> AUTOSTART: Autodetecting image type of `TED-Vibes-2.d64'.
> AUTOSTART: Attached file `TED-Vibes-2.d64' as a disk image.
> AUTOSTART: mounted image is type: 1541, not changing drive.
> AUTOSTART: Resetting drive 8
> AUTOSTART: Resetting the machine to autostart '*'
> Sound: Opened device `pulse', speed 48000Hz, fragment size 2.67ms, buffer size 32.00ms
> [1]    4880 illegal hardware instruction  xplus4 TED-Vibes-2.d64

Looks to be an AVX instruction.
The backtrace looks roughly like this:
1: AVX instruction
2-10: ??
11: libc.so.6 start_thread
12: libc.so.6 clone3

Haven't yet found an obvious way to compile VICE without AVX.