Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 792480 - sci-mathematics/maxima-5.45.0[sbcl]: Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
Summary: sci-mathematics/maxima-5.45.0[sbcl]: Type HELP for debugger help, or (SB-EXT:...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Mathematics related packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-27 12:59 UTC by Andrew Savchenko
Modified: 2021-06-02 08:59 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge.info,12.87 KB, text/plain)
2021-05-27 12:59 UTC, Andrew Savchenko
Details
build.log.gz (build.log.gz,16.22 KB, application/gzip)
2021-05-27 13:02 UTC, Andrew Savchenko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Savchenko gentoo-dev 2021-05-27 12:59:31 UTC
Created attachment 711732 [details]
emerge --info

Hi!

During maxima-5.45.0 build it stops by dropping to interactive sbcl shell:

>>> Verifying ebuild manifests
>>> Emerging (1 of 1) sci-mathematics/maxima-5.45.0::local
>>> Jobs: 0 of 1 complete, 1 running                Load avg: 0.85, 0.23, 0.08
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Retry ASDF operation.
  1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  2: [ABORT                        ] Exit debugger, returning to top level.

(UIOP/PATHNAME:ENSURE-PATHNAME #P"${XDG_CONFIG_DIRS}/" :ON-ERROR (ERROR "In (~S ~S), invalid pathname ~*~S: ~*~?" UIOP/FILESYSTEM:GETENV-PATHNAMES "XDG_CONFIG_DIRS") :DEFAULTS NIL :TYPE NIL :DOT-DOT NIL :NAMESTRING NIL :EMPTY-IS-NIL T :WANT-PATHNAME NIL :WANT-LOGICAL NIL :WANT-PHYSICAL NIL :ENSURE-PHYSICAL NIL :WANT-RELATIVE NIL :WANT-ABSOLUTE T :ENSURE-ABSOLUTE NIL :ENSURE-SUBPATH NIL :WANT-NON-WILD NIL :WANT-WILD NIL :WILDEN NIL :WANT-FILE NIL :WANT-DIRECTORY NIL :ENSURE-DIRECTORY T :WANT-EXISTING NIL :ENSURE-DIRECTORIES-EXIST NIL :TRUENAME NIL :RESOLVE-SYMLINKS NIL :TRUENAMIZE NIL)
   error finding frame source: Bogus form-number: the source file has probably
                               changed too much to cope with.
   source: NIL
>>> Jobs: 0 of 1 complete, 1 running                Load avg: 0.94, 0.36, 0.13
>>> Jobs: 0 of 1 complete, 1 running                Load avg: 0.35, 0.30, 0.13;      - Binary file /var/tmp/portage/sci-mathematics/maxima-5.45.0/work/maxima-5.45.0/src/binary-sbcl/server.fasl is old or does not exist.
>>> Jobs: 0 of 1 complete, 1 running                Load avg: 0.32, 0.30, 0.13^C

Exiting on signal 2

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Return from SB-UNIX:SIGINT.
  1: [ABORT   ] Exit debugger, returning to top level.

("bogus stack frame")
0]
^C

I had to kill sbcl multiple times (including -9) to finally stop this.

First problem is that on error build drops to interactive shell prompt. This should never happen, please fix.

Second problem is build failure. Likely it happens because both clisp and sbcl are enabled and maxima was not building nice with several clisp interpreters enabled at once as I remember. Maybe restrict it to using only one interpreter? (^^ ( ... ))
Comment 1 Andrew Savchenko gentoo-dev 2021-05-27 13:02:05 UTC
Created attachment 711741 [details]
build.log.gz

Nevermind ::local — it's just a copy from today's repo snapshot. On updating system I wan to keep an older one for a while due to unrelated reasons.

Anyway this problem is reproducible on 5.44.0-r8.
Comment 2 Andrey Grozin gentoo-dev 2021-05-27 15:03:02 UTC
When several lisp implementations are used, emerge sometimes fails in a difficult-to-predict manner. I've just successfully emerged maxima-5.45.0 with clisp clozurecl64 ecls sbcl; gcl sbcl fails, though gcl separately succeeds. I tried several more combinations, some of them fail. These failures are extremely difficult to reproduce and hence to debug :-(
Comment 3 Andrew Savchenko gentoo-dev 2021-05-27 21:15:16 UTC
I understand. In my case the problem is 100% reproducible, so I'll try to debug later, but my need-to-debug-after-upgrade list is growing too long :/

However, there is another issue here which should be easier to address: sbcl drops to interactive debug shell on errors and this interferes badly with normal emerge operation. Any way to force sbcl to be always non-interactive? There should be some option or redirection.
Comment 4 Andrey Grozin gentoo-dev 2021-05-28 04:14:09 UTC
(In reply to Andrew Savchenko from comment #3)
> sbcl
> drops to interactive debug shell on errors and this interferes badly with
> normal emerge operation.
Cannot reproduce. Have never seen such behavior.

You compile maxima with clisp and sbcl. What versions of clisp and sbcl? What happens if you compile maxima with sbcl only? Does -j1 help?

As I said, I've successfully compiled maxima with ecls, clisp, clozurecl64, sbcl. Your set clisp, sbcl is a subset of mine. So, it seems really strange.
Comment 5 Andrey Grozin gentoo-dev 2021-05-28 04:19:17 UTC
your emerge --info says
sh dash 0.5.11.3-r1
while mine is
sh bash 5.1_p8
Maybe, this is something dash-specific?
Another difference is that I'm on ~amd64. I cannot test of ~x86.
Comment 6 Andrey Grozin gentoo-dev 2021-05-28 04:33:30 UTC
What happens if you just say
sbcl
? Does it work normally on a few trivial pure-lisp examples?
(car '(a b c))
(cdr '(a b c))
(+ 2 2)
etc.

Maybe, re-installing sbcl can help?
Comment 7 Andrew Savchenko gentoo-dev 2021-05-28 15:37:46 UTC
(In reply to Andrey Grozin from comment #4)
> (In reply to Andrew Savchenko from comment #3)
> > sbcl
> > drops to interactive debug shell on errors and this interferes badly with
> > normal emerge operation.
> Cannot reproduce. Have never seen such behavior.
> 
> You compile maxima with clisp and sbcl. What versions of clisp and sbcl?

The latest ones:
clisp-2.49.92
sbcl-2.1.4

> What happens if you compile maxima with sbcl only? Does -j1 help?

No, same problem.

> As I said, I've successfully compiled maxima with ecls, clisp, clozurecl64,
> sbcl. Your set clisp, sbcl is a subset of mine. So, it seems really strange.

(In reply to Andrey Grozin from comment #5)
> your emerge --info says
> sh dash 0.5.11.3-r1
> while mine is
> sh bash 5.1_p8
> Maybe, this is something dash-specific?

I switched for bash for testing, changes nothing: the problem is still here.

> Another difference is that I'm on ~amd64. I cannot test of ~x86.

Right now I can't test on ~amd64, maybe later next month. Anyway my ~amd64 hosts are very different in configuration from this one.

(In reply to Andrey Grozin from comment #6)
> What happens if you just say
> sbcl
> ? Does it work normally on a few trivial pure-lisp examples?
> (car '(a b c))
> (cdr '(a b c))
> (+ 2 2)
> etc.

Seems to work:

$ sbcl
This is SBCL 2.1.4, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
* (car '(a b c))
A
* (cdr '(a b c))
(B C)
* (+ 2 2)
4
*

> Maybe, re-installing sbcl can help?

It was built just a few days ago. Now rebuild fails. I'll look closer into this later and will open a new bug if this is not a problem of my setup.
Comment 8 Andrew Savchenko gentoo-dev 2021-05-28 15:42:34 UTC
(In reply to Andrew Savchenko from comment #7)
> It was built just a few days ago. Now rebuild fails. I'll look closer into
> this later and will open a new bug if this is not a problem of my setup.

I have tests disabled in FEATURES, but sbcl still builds and runs them for some reason. Some of they fail, so build fails. I'll open a separate bug for this after some further investigation.
Comment 9 Andrew Savchenko gentoo-dev 2021-05-29 04:02:53 UTC
(In reply to Andrew Savchenko from comment #8)
> I have tests disabled in FEATURES, but sbcl still builds and runs them for
> some reason. Some of they fail, so build fails. I'll open a separate bug for
> this after some further investigation.

See bug 792729
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-05-29 06:40:23 UTC
Does https://bugs.gentoo.org/777153#c3 help?
Comment 11 Andrew Savchenko gentoo-dev 2021-05-29 14:02:52 UTC
(In reply to Sam James from comment #10)
> Does https://bugs.gentoo.org/777153#c3 help?

No, still falls to interactive shell:

>>> Jobs: 1 of 2 complete, 1 running                Load avg: 0.82, 0.34, 0.14
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Retry ASDF operation.
  1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  2: [ABORT                        ] Exit debugger, returning to top level.

(UIOP/PATHNAME:ENSURE-PATHNAME #P"${XDG_CONFIG_DIRS}/" :ON-ERROR (ERROR "In (~S ~S), invalid pathname ~*~S: ~*~?" UIOP/FILESYSTEM:GETENV-PATHNAMES "XDG_CONFIG_
DIRS") :DEFAULTS NIL :TYPE NIL :DOT-DOT NIL :NAMESTRING NIL :EMPTY-IS-NIL T :WANT-PATHNAME NIL :WANT-LOGICAL NIL :WANT-PHYSICAL NIL :ENSURE-PHYSICAL NIL :WANT-
RELATIVE NIL :WANT-ABSOLUTE T :ENSURE-ABSOLUTE NIL :ENSURE-SUBPATH NIL :WANT-NON-WILD NIL :WANT-WILD NIL :WILDEN NIL :WANT-FILE NIL :WANT-DIRECTORY NIL :ENSURE
-DIRECTORY T :WANT-EXISTING NIL :ENSURE-DIRECTORIES-EXIST NIL :TRUENAME NIL :RESOLVE-SYMLINKS NIL :TRUENAMIZE NIL)
   error finding frame source: Bogus form-number: the source file has probably
                               changed too much to cope with.
   source: NIL
>>> Jobs: 1 of 2 complete, 1 running                Load avg: 0.00, 0.00, 0.00^C

Maybe it is being called during maxima build in a different way, because I see no --non-interactive option to sbcl:

# pgrep -a sbcl
170819 sbcl --noinform --noprint
Comment 12 Andrey Grozin gentoo-dev 2021-06-02 08:00:11 UTC
Please try sbcl-2.1.5. For me it seems good enough, because it successfully compiles maxima and fricas. Sorry, I cannot help more, because I cannot reproduce your problem.
Comment 13 Andrew Savchenko gentoo-dev 2021-06-02 08:59:28 UTC
(In reply to Andrey Grozin from comment #12)
> Please try sbcl-2.1.5. 

Will try later (maybe in a couple of weeks or so), right now the system is busy with other packages.

> For me it seems good enough, because it successfully
> compiles maxima and fricas. Sorry, I cannot help more, because I cannot
> reproduce your problem.

But you can add --non-interactive option to sbcl arguments. At least this will help with half of the problem.