There is a bug in solve in Maxima 5.17.1:
(%i1) solve(x^2-4,x);
Universal error handler called recursively (:ERROR NIL
CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER
""
"Couldn't protect")
Universal error handler called recursively (:ERROR NIL
CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER
"" "Couldn't protect")
Maxima encountered a Lisp error:
Error in CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER [or a callee]: Caught
fatal error [memory may be damaged]
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
(%i2)
I have installed an older version on another machine, Maxima 5.13.0,
where this operation works well.