I've had similar quirks, although not unsuspected for my use case. One user starts X. Other users try to launch X apps and they fail. The user who started X didn't change permissions $(xhost local
to allow other users to use X. Basically a permissions issue. Also some things are picky about ONLY running for user 1000.
$ id
Although I suspect your case might be more compiler related. armv71 trying to run something for aarch64 or armv4 or armv6 or whatever applies. Although in theory backwards compatible with the earlier generation opcodes.
You could try deleting the .cache and .browser (.mozilla?) and see if those things start again. Assuming they used to work. Could have been an update too, try to update again and see if it gets fixed. Make sure $DISPLAY is set.
$ echo $DISPLAY
Debian changed something and other users who didn't start X don't assume DISPLAY values or inherit it from other users. I have to $(export DISPLAY=":0") before I launch any gui apps, even when X is shared, for users that didn't start X.
And then there's other quirks like read-only / filesystem. $(mount). Or a soundcard requirement and it's locked / in use by another user. By default pulse does not share, nor do jackd. And various audio application that require /etc/hosts to contain an entry for /etc/hostname or they fail. You could strace the application to see what it's trying to "OPEN" when it fails. See if it exists, make it exist (install not installed package / other trickery) and see if it doesn't fail. Lots of trickery, sometimes distros do not get the dependencies just right, but installs the thing anyway. Or you install it by non-distros means and it doesn't check for dependencies and otherwise makes assumptions.