Bug#1080000: mozjs128: SharedArrayBuffer feature unavailable on armel

Simon McVittie smcv at debian.org
Thu Aug 29 11:43:09 BST 2024


Source: mozjs128
Version: 128.1.0-3
Severity: important
Tags: ftbfs
User: debian-arm at lists.debian.org
Usertags: armel
X-Debbugs-CC: debian-arm at lists.debian.org

After fixing #1079077, mozjs128 still fails to build on armel, because
the lack of lockless atomic operations results in the SharedArrayBuffer
feature being disabled, and that makes several tests fail.

This feature seems to be used in the implementation of features that don't
obviously require it, for example:

> ## non262/RegExp/split-trace.js: rc = 3, run time = 0.011209
> 887016: Trace RegExp.prototype[@@split] behavior.
> /home/smcv/mozjs/js/src/tests/non262/RegExp/split-trace.js:99:42 TypeError: SharedArrayBuffer is disabled
> Stack:
>   @/home/smcv/mozjs/js/src/tests/non262/RegExp/split-trace.js:99:42
> TEST-UNEXPECTED-FAIL | non262/RegExp/split-trace.js | (args: "") [0.0 s]

where split-trace.js:99 is:

> var ret = RegExp.prototype[Symbol.split].call(myRegExp, target);

I don't know enough JavaScript to know whether this is likely to be
fixable or ignorable, or whether we will have to remove mozjs128 and
therefore gjs from armel (which would require workarounds similar to
what we did when we removed them from s390x during the buster cycle).

The main reason we need gjs is GNOME Shell, and I suspect nobody is
actually using GNOME Shell on armel: it seems unlikely to work well
with an older CPU emulating floating-point in software using integer
operations. Removing GNOME Shell from armel would be annoying, because
we would either have to ensure that task-gnome-desktop is still installable
(as we did for s390x in buster) or convince the release/d-i teams that it's
OK for it not to be, but is probably more achievable than adding features
to an architecture that mozjs upstream doesn't intend to support.

A secondary reason why we have gjs is that some leaf GNOME applications
(e.g. clapper, foliate, gnome-maps) are written in JavaScript, and those
are somewhat more likely to have real users on armel.

    smcv



More information about the pkg-gnome-maintainers mailing list