One problem may be found in rKill (Singular/ipshell.cc, line 5436-5441).
When the current base ring is removed (for example, if it was a local variable
of a procedure we now leave) it is checked if this ring is used anythere else
and if not, currRing is set to NULL.
This is fine in Singular but can be a bad idea if currRing comes from outside Singular. It may help to remove this test as it is not really needed.
See
https://github.com/Singular/Sources/commit/2202f91f6024f7fb401cf57d7b9e656a2ea05444
One problem may be found in rKill (Singular/ipshell.cc, line 5436-5441).
When the current base ring is removed (for example, if it was a local variable
of a procedure we now leave) it is checked if this ring is used anythere else
and if not, currRing is set to NULL.
This is fine in Singular but can be a bad idea if currRing comes from outside Singular. It may help to remove this test as it is not really needed.
See [url]https://github.com/Singular/Sources/commit/2202f91f6024f7fb401cf57d7b9e656a2ea05444[/url]