[Dachs-support] DaCHS dachs command returns illegal instruction

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Fri Nov 3 14:06:26 CET 2023


Nima,

On Thu, Nov 02, 2023 at 04:22:05PM +0100, Nima Traore wrote:
> We upgraded our DaCHS server from version 2.6 to version 2.8.2 a
> few weeks ago. Since yesterday, the dachs command (examples: 'dachs
> --version', 'dachs serve' etc.) systematically returns 'illegal
> instruction' and we are no longer able to restart the service. What
> do we have to do ?

"Illegal Instruction" is almost certainly the result of *something*
causing a SIGILL trap (cf. man 7 signal), that is, a binary gave the
CPU some instruction that it doesn't understnad.

It's almost impossible that DaCHS, being Python and containing no
machine code, does this by itself. The most plausible reason is that
there's a bug in some dependency that, I'd guess, causes stuff to be
executed that isn't machine code at all (but then you could also have
a library compiled for a different architecture or whatever).

How do you fix it?  Well, I suppose the most straightforward thing is
to install aptitude, run sudo aptitude, navigate to the
python3-gavodachs package, open its dependencies and re-install one
after the other (type "e" in aptitude).

If you want to go a little less blindly, a somewhat more principled
approach is to apt install gdb, and then

$ ulimit -c unlimited   # enable core dumps
$ dachs --version
$ gdb `which python3` core

In the gdb, type "where" to see where the thing crashed.

(provided you don't have something that puts the core dumps somewhere
else, in which case you'd have to replace the "core" here with the
path to the core dump ).  See also
<http://docs.g-vo.org/DaCHS/booster.html#debugging>.

If you send me the output of the where command in the gdb, I may be
able to do somewhere more educated guesses as to the nature of the
problem.

         -- Markus (currently in UTC-4)


More information about the Dachs-support mailing list