Shinmera / parachute

An extensible and cross-compatible testing framework.
https://shinmera.github.io/parachute
zlib License
94 stars 9 forks source link

Failed to pass test on pathname-utils #47

Closed Hellseher closed 1 year ago

Hellseher commented 1 year ago

Hi,

By trying to update pathname-utils to the latest commit in Guix I've faced with issue to make tests passed with latest parachute commit. SBCL and ECL tests failed with stack overflow due to heavily nested recursive function.

SBCL

INFO: Control stack guard page unprotected
Control stack guard page temporarily disabled: proceed with caution
Unhandled SB-KERNEL::CONTROL-STACK-EXHAUSTED in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                          {100AE98113}>:
  Control stack exhausted (no more space for function call frames).
This is probably due to heavily nested or infinitely recursive function
calls, or a tail call that SBCL cannot or has not optimized away.

PROCEED WITH CAUTION.

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100AE98113}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-KERNEL::CONTROL-STACK-EXHAUSTED {1006AE0783}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<SB-KERNEL::CONTROL-STACK-EXHAUSTED {1006AE0783}>)
2: (INVOKE-DEBUGGER #<SB-KERNEL::CONTROL-STACK-EXHAUSTED {1006AE0783}>)
3: (ERROR SB-KERNEL::CONTROL-STACK-EXHAUSTED)
4: (SB-KERNEL::CONTROL-STACK-EXHAUSTED-ERROR)
5: ("foreign function: call_into_lisp_")
6: ("foreign function: post_signal_tramp")
7: (SB-IMPL::OUTPUT-BYTES/UTF-8 #<SB-SYS:FD-STREAM for "standard output" {100AEC3963}> "?" NIL 0 1)
8: ((LAMBDA (&REST REST) :IN SB-IMPL::GET-EXTERNAL-FORMAT) #<SB-SYS:FD-STREAM for "standard output" {100AEC3963}> "?" NIL 0 1)
9: (SB-IMPL::FD-SOUT #<SB-SYS:FD-STREAM for "standard output" {100AEC3963}> "?" 0 1)
10: (SB-IMPL::%WRITE-STRING "?" #<SB-SYS:FD-STREAM for "standard output" {100AEC3963}> 0 1)
...
998: ((:METHOD EVAL-IN-CONTEXT :AROUND (PLAIN RESULT)) #<PLAIN 116, UNKNOWN results> #<TEST-RESULT :UNKNOWN PATHNAME-UTILS-TEST::SUBPATH-P>) [fast-method]
999: ((:METHOD EVAL-IN-CONTEXT :AFTER (T TEST)) #<PLAIN 116, UNKNOWN results> #<TEST PATHNAME-UTILS-TEST::PREDICATES>) [fast-method]

ECL

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 #<test-op > on #<system "pathname-utils-test">.
3. (ACCEPT) Continue, treating #<test-op > on #<system "pathname-utils-test"> as having been successful.
4. (RETRY) Retry ASDF operation.
5. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
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 0x7ffff77aef80>.