Skip to content

avx: illegal instruction on Intel Celeron #264

@fjebaker

Description

@fjebaker

Hi! First of all this browser is absolutely excellent, thanks for creating and sharing it!

On one of my machines I hit an illegal instruction when trying to run the nightly binary:

user@virgil: ~ % ./lightpanda-get-x86_64-linux 
zsh: illegal hardware instruction  ./lightpanda-get-x86_64-linux

Looking with gdb

(gdb) r
Starting program: /home/user/lightpanda-get-x86_64-linux
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
compiler_rt.memmove.memmove (
    dest=0x2939010 <std::Cr::(anonymous namespace)::make<std::Cr::locale::__imp, unsigned int>(unsigned int)::buf+304> "C", src=0x10c4d32 "C", n=<optimized out>)
    at /opt/hostedtoolcache/zig/0.13.0/x64/lib/compiler_rt/memmove.zig:24
24	/opt/hostedtoolcache/zig/0.13.0/x64/lib/compiler_rt/memmove.zig: No such file or directory.
(gdb) x/10ai $pc-10
   0x287222f <compiler_rt.memmove.memmove+735>:	clc
   0x2872230 <compiler_rt.memmove.memmove+736>:	add    $0xfffffffffffffff8,%rdx
   0x2872234 <compiler_rt.memmove.memmove+740>:	mov    %rdx,%rcx
   0x2872237 <compiler_rt.memmove.memmove+743>:	
    jne    0x28721e0 <compiler_rt.memmove.memmove+656>
=> 0x2872239 <compiler_rt.memmove.memmove+745>:	vzeroupper
   0x287223c <compiler_rt.memmove.memmove+748>:	ret
   0x287223d:	int3
   0x287223e:	int3
   0x287223f:	int3
   0x2872240 <compiler_rt.memcmp.memcmp>:	test   %rdx,%rdx

It's specifically the vzeroupper instruction. The server I am trying to use lightpanda on is quite old and small, and the CPU is not very capable (Intel Celeron). It does not have avx capabilities, which is why this is failing.

I can imagine non-AVX capable CPUs are probably not your target (given #256), but flagging this just in case they are.

Would you also happen to know how to build the browser without avx capabilities? I can't build natively since the machine is too constrained -- the compile takes at least 4 hours (I gave up after 4).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions