I have seen this problem occurring previously when asdf was trying to update itself. Unfortunately, the update process is so complicated that I wasn't able to determine whether the error is due to a bug in asdf or in ECL.

Therefore, I can only offer you two possible workarounds: a) make sure that no copy of asdf is located somewhere where asdf is searching for its systems or b) create a monolithic asdf.lisp file from the asdf sources, drop it in place of contrib/asdf/asdf.lisp in the ECL sources and recompile ECL.

Marius Gerbershagen

----- Reply message -----
Von: "querent" <querent@yandex.com>
An: <ecl-devel@common-lisp.net>
Betreff: ASDF problem on second load of ECL
Datum: Do., Feb. 27, 2020 10:57

Hi there,

I am just trying to use ECL for a little project of mine, but I have a problem.

Immediately after installation, things seem to work fine.  I can run things, produce executables, etc.

However, the second time I load ECL I get the error listed below.

Deleting .cache/common-lisp/ecl-16.1.3 removes the error, but of course the world gets recompiled every time I load something.  

And then again the next time I load ECL after that I get the error again. 

I am using Ubuntu 19.10.  I have tried compiling the development branch from gitlab (wouldn't be the first time Ubuntu ships with a buggy package when upstream is fine) but I get the same behaviour.  

I did try using restart 1. to increase the stack size, but I just keep getting the error until I get an error about being unable to increase the stack size anymore. 

The error is the same that Zhou Qianliang reported in January, but I'm not doing anything odd, just trying to start ecl for a second time. 


I have searched for the error message but not come up with anything much more than the above mailing list message. 

Error message: 

;; Loading #P"/usr/local/lib/ecl-16.1.3/asdf.fas"
An error occurred during initialization:
The slot ASDF/PLAN::STAMP in the object #<action-status

Condition of type: STACK-OVERFLOW
BINDING-STACK overflow at size 10240. Stack can probably be resized.
Proceed with caution.
Available restarts:

1. (CONTINUE) Extend stack size
2. (RETRY) Retry ASDF operation.
3. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
4. (RETRY) Retry completing compilation for #<package-inferred-system "asdf">.
5. (ACCEPT) Continue, treating completing compilation for #<package-inferred-system "asdf"> as having been successful.
6. (RETRY) Retry ASDF operation.
7. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
8. (CONTINUE) Ignore initialization errors and continue.
9. (ABORT) Quit ECL unsafely, ignoring all existing threads.

Top level in: #<process TOP-LEVEL 0x55b73cdd2f80>.

Thanks for any help you can give me.  I'm looking forward to using ECL, seems like a nice platform!