[Pkg-rust-maintainers] Bug#973414: libmozjs-78-0: invalid opcodes in libmozjs when launching GDM3

Simon McVittie smcv at debian.org
Sun Nov 8 12:39:50 GMT 2020


Control: retitle -1 libmozjs-78-0: invalid opcodes when launching GDM on AMD Geode
Control: tags -1 = help

On Fri, 30 Oct 2020 at 14:07:17 +0200, Martin-Éric Racine wrote:
> pe 30. lokak. 2020 klo 13.50 Simon McVittie (smcv at debian.org) kirjoitti:
> > On Fri, 30 Oct 2020 at 10:35:21 +0200, Martin-Éric Racine wrote:
> > > [  165.903916] traps: gnome-shell[869] trap invalid opcode ip:b5518f8a sp:b17d6d80 error:0 in libmozjs-78.so.78.3.0[b4b98000+98c000]
> >
> > Which specific x86 CPU is this?
> 
> Geode LX800. This is technically a 686 but it doesn't support PAE, so
> the CPU family remains 586.

> > The /proc/cpuinfo would be useful information, since that includes a list
> > of capability flags.
> flags        : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext
> 3dnowext 3dnow cpuid 3dnowprefetch vmmcall

Notably, this doesn't include SSE (any version), or various smaller
extensions like POPCNT.

My guess would be that there's a hidden SSE assumption somewhere
in mozjs. I'm fairly sure Mozilla upstream doesn't really support
non-SSE CPUs any more (several tests fail because we're using i387
rather than SSE for arithmetic), so any porting to older x86 CPUs would
be Debian-specific. The Debian GNOME team packages mozjs because we need
it for GNOME Shell and gjs, but we don't really have the knowledge or
resources to port it to (sub)architectures that don't meet upstream's
assumptions - any help you can provide would be appreciated.

Because your syslog also included similar crashes in librsvg, which is
unrelated to mozjs except that both involve Rust code, I wonder whether
it might be the rust compiler rather than mozjs' JIT that is emitting
non-i586 opcodes on x86?

    smcv



More information about the Pkg-rust-maintainers mailing list