I've been able to analyze that further.

It seems, that ghc produces/uses this 64-bit hppa assembler instruction 
although ghc is built for 32-bit:
  depd,z,*ev dp,63,32,r11

How to reproduce/analysis:

apt install haskell-devscripts-minimal ghc:native
->
 Setting up ghc (9.0.2-3) ...
update-alternatives: using /usr/bin/runghc to provide /usr/bin/runhaskell 
(runhaskell) in auto mode
update-alternatives: using /usr/bin/ghc to provide /usr/bin/haskell-compiler 
(haskell-compiler) in auto mode
qemu: CPU exception 0x8
Failing executable: /usr/lib/ghc/bin/ghc-pkg
IA_F f1e5e4bf IA_B f1e5e4c3 IIR f17be000
PSW  00000100 CB   00000001 ------------------
GR00 00000000 GR01 ffff6779 GR02 f1e5e4bc GR03 f1e5a888
GR04 f1e5c684 GR05 00000001 GR06 f1e5e4bc GR07 f1e5e76c
GR08 f1ae1590 GR09 f17be028 GR10 00000005 GR11 f1e5e888
GR12 f1e5e884 GR13 00000001 GR14 000e9000 GR15 f17be000
GR16 f1e5de84 GR17 f1e5d684 GR18 f1e5e180 GR19 f1e5c684
GR20 000f0000 GR21 00000000 GR22 0000001e GR23 000f0000
GR24 00000000 GR25 00000000 GR26 000f0000 GR27 000d5738
GR28 00000000 GR29 0000001e GR30 fa0010c0 GR31 f1e42fcf

Illegal instruction
-------

IIR=f17be000 means this is this 64-bit (!!!) assembler instruction:
 depd,z,*ev dp,63,32,r11
which is in
 /usr/lib/ghc/rts/libHSrts-ghc9.0.2.so


This happens when running "ghc-pkg recache --global" (try multiple times) in 
the debian postinst script.

QEMU_LOG=strace ghc-pkg recache --global
gives: ...
2394997 
openat(AT_FDCWD,"/usr/lib/ghc/package.conf.d/containers-0.6.4.1.conf",O_RDONLY|O_LARGEFILE|O_NOCTTY|O_NONBLOCK)
 = 4
2394997 statx(4,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0xfa000ec8) 
= 0
2394997 ioctl(4,TCGETS,0xfa000e48) = -1 errno=25 (Inappropriate ioctl for 
device)
2394997 statx(4,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0xfa000ec8) 
= 0
2394997 read(4,0xf178a010,8192) = 2388
2394997 read(4,0xf178a010,8192) = 0
2394997 close(4) = 0
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, 
si_sigval=0} ---
2394997 rt_sigreturn(983040,0,0,983040,30,0) = -1 errno=513 (Successful exit 
from sigreturn)
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, 
si_sigval=0} ---
2394997 rt_sigreturn(20,0,-100659704,-243487028,-236589632,0) = -1 errno=513 
(Successful exit from sigreturn)
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, 
si_sigval=0} ---
qemu: CPU exception 0x8
Failing executable: /usr/lib/ghc/bin/ghc-pkg
IA_F f1e5e4bf IA_B f1e5e4c3 IIR f17be000
PSW  00000100 CB   00000001 ------------------
GR00 00000000 GR01 ffff6779 GR02 f1e5e4bc GR03 f1e5a888
GR04 f1e5c684 GR05 00000001 GR06 f1e5e4bc GR07 f1e5e76c
GR08 f1ae1590 GR09 f17be028 GR10 00000003 GR11 f1e5e888
GR12 f1e5e884 GR13 00000001 GR14 000e9000 GR15 f17be000
GR16 f1e5de84 GR17 f1e5d684 GR18 f1e5e180 GR19 f1e5c684
GR20 000f0000 GR21 00000000 GR22 0000001e GR23 000f0000
GR24 00000000 GR25 00000000 GR26 000f0000 GR27 000d5738
GR28 00000000 GR29 0000001e GR30 fa001040 GR31 f1e42fcf

f1dc4000-f1e56000 r-xp 00000000 08:21 32510835                           
/usr/lib/ghc/rts/libHSrts-ghc9.0.2.so
f1e56000-f1e5c000 rwxp 00092000 08:21 32510835                           
/usr/lib/ghc/rts/libHSrts-ghc9.0.2.so
f1e5c000-f1e5d000 rwxp 00098000 08:21 32510835                           
/usr/lib/ghc/rts/libHSrts-ghc9.0.2.so
f1e5d000-f1e5e000 rwxp 00099000 08:21 32510835                           
/usr/lib/ghc/rts/libHSrts-ghc9.0.2.so
f1e5e000-f1e5f000 rwxp 0009a000 08:21 32510835                           
/usr/lib/ghc/rts/libHSrts-ghc9.0.2.so
f1e5f000-f1e62000 rwxp 00000000 00:00 0

--- SIGILL {si_signo=SIGILL, si_code=1, si_addr=0xf1e5e4bf} ---
Illegal instruction

Reply via email to