Le ven. 29 mars 2019 à 14:22, Bernhard Übelacker <bernha...@mailbox.org> a écrit :
> Hello Jérémy, > > Am 29.03.19 um 12:44 schrieb Jérémy Lal: > > This fails too: > > yarnpkg add electron-spellchecker@1.1.2 > > > > Are you all doing this on qemu or on real hardware ? > > On i686 ? > > I'm asking because buster does not support i586, nor does nodejs, > > and it seems qemu defaults to something < i686 (to be verified). > > I tested just inside qemu. > Teemu Ikonen's original report looks like on real hardware. > > Other cases where cpu features were related, the process > usually gets a SIGILL on a instruction not supported. > In this case we get SIGSEGV on a mov instruction, which > is quite common I guess. > So I am not sure, if in this case the cpu is the issue. > > Qemu can also use other cpu configurations like "-M max" > or "-M host". That way it should be able to do all what the > host is able to? Have not tested such a configuration. > > I have repeated the test on real hardware and it crashes > the same as in the VM. I hope buster is supported on > this hardware? > Buster release notes: """ Nearly all x86-based (IA-32) processors still in use in personal computers are supported. This also includes 32-bit AMD and VIA (former Cyrix) processors, and processors like the Athlon XP and Intel P4 Xeon. However, Debian GNU/Linux buster will not run on 586 (Pentium) or earlier processors. """ I let you check if that's all right for your host cpu. So if i run qemu with the first P6 cpu that comes to mind, pentiumpro, npm install electron-spellchecker@1.1.2 no longer crashes. That doesn't prove there is no crash on a supported cpu, but that's a start. Comparing the flags and address sizes might help. Also upstream nodejs does not support 32bit cpu on linux platform. Jérémy Kind regards, > Bernhard > > > > Real hardware: > root@debian-athlonx2-32:~# lscpu > Architecture: i686 > CPU op-mode(s): 32-bit, 64-bit > Byte Order: Little Endian > Address sizes: 40 bits physical, 48 bits virtual > CPU(s): 2 > On-line CPU(s) list: 0,1 > Thread(s) per core: 1 > Core(s) per socket: 2 > Socket(s): 1 > Vendor ID: AuthenticAMD > CPU family: 15 > Model: 107 > Model name: AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ > Stepping: 1 > CPU MHz: 1000.000 > CPU max MHz: 2600,0000 > CPU min MHz: 1000,0000 > BogoMIPS: 2009.24 > Virtualization: AMD-V > L1d cache: 64K > L1i cache: 64K > L2 cache: 512K > 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 > rdtscp lm 3dnowext 3dnow rep_good cpuid extd_apicid pni cx16 lahf_lm > cmp_legacy svm extapic cr8_legacy 3dnowprefetch vmmcall lbrv > > Mär 29 14:10:10 debian-athlonx2-32 kernel: npm[5417]: segfault at 1085 ip > b6f9023b sp bfd1a1b4 error 4 in libnode.so.64[b6eb4000+b4a000] > Mär 29 14:10:10 debian-athlonx2-32 kernel: Code: 01 00 00 85 c0 74 16 8d > 96 6c 01 00 00 39 d0 74 0c 83 ec 0c 50 e8 f5 14 f5 ff 83 c4 10 8b 86 4c 01 > 00 00 85 c0 74 0c 83 ec 0c <8b> > 10 50 ff 52 04 83 c4 10 8b 83 54 69 01 00 8b 4e 04 83 c0 08 89 > > ###### > > > Inside my qemu i386 VM with default cpu: > root@debian:~# lscpu > Architecture: i686 > CPU op-mode(s): 32-bit > Byte Order: Little Endian > Address sizes: 36 bits physical, 32 bits virtual > CPU(s): 14 > On-line CPU(s) list: 0-13 > Thread(s) per core: 1 > Core(s) per socket: 1 > Socket(s): 14 > Vendor ID: AuthenticAMD > CPU family: 6 > Model: 6 > Model name: QEMU Virtual CPU version 2.5+ > Stepping: 3 > CPU MHz: 2994.374 > BogoMIPS: 5988.74 > Hypervisor vendor: KVM > Virtualization type: full > Flags: fpu de pse tsc msr pae mce cx8 apic sep pge cmov pat > mmx fxsr sse sse2 cpuid tsc_known_freq pni x2apic hypervisor vmmcall > > > ###### > > > $ qemu-system-i386 -cpu help > ... > x86 host KVM processor with all supported host features > x86 max Enables all features supported by the > accelerator in the current host >