Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various issues -- I only get a sbcl and ecl working on linux and mac #24

Open
simendsjo opened this issue Mar 8, 2024 · 15 comments
Open

Comments

@simendsjo
Copy link

I'm developing a small library that I'd like to be portable across several implementations.

The library itself doesn't have any dependencies, so it should be fairly portable.

The test project depends on str, lisp-unit2 and sijo-doctest.

But unfortunately, it seems I only get sbcl-bin working on ubuntu-latest and macos-latest.

Some are also reported as green even though there's errors raised.

Heres the workflow I tested

on: [push]
jobs:
  tests:
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - windows-latest
          - macos-latest
        lisp:
          - sbcl-bin
          - ccl-bin
          - ecl
          - abcl-bin
          - clasp-bin
          - cmu-bin
          - clisp-head
    runs-on: ${{ matrix.os }}
    env:
      LISP: ${{ matrix.lisp }}
    steps:
      - uses: actions/checkout@v4
      - uses: 40ants/setup-lisp@v4
        with:
          asdf-system: sijo-version/tests
          qlfile-template: |
            dist ultralisp http://dist.ultralisp.org
      - uses: 40ants/run-tests@v2
        with:
          asdf-system: sijo-version
@svetlyak40wt
Copy link
Member

These links are unavailable – I see 404 error instead on all of them and also cant open the project https://github.com/simendsjo/sijo-version

@simendsjo
Copy link
Author

Sorry, that repo isn't open source yet.

Here's another repo showing the same issues. ABCL fails with the HOME component error: https://github.com/simendsjo/sijo-doctest/actions/runs/8232306308/job/22510284197#step:3:269

But locally it works:

$ guix shell --pure abcl -- abcl --eval '(asdf:test-system :sijo-doctest/tests)' --eval '(quit)'
Armed Bear Common Lisp 1.9.2
Java 1.8.0_292 IcedTea
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.127 seconds.
Startup completed in 0.552 seconds.
Loading /home/simendsjo/.abclrc completed in 4.969 seconds.
;;; Computing Hangul syllable names
------- STARTING Testing: SIJO-DOCTEST 

Starting: SIJO-DOCTEST/TESTS::DOCTEST
SIJO-DOCTEST/TESTS::DOCTEST - PASSED (0.25s) : 28 assertions passed

Test Summary for :SIJO-DOCTEST (1 tests 0.26 sec)
  | 28 assertions total
  | 28 passed
  | 0 failed
  | 0 execution errors
  | 0 warnings
  | 0 empty
  | 0 missing tests

CCL has the same issue: https://github.com/simendsjo/sijo-doctest/actions/runs/8232306308/job/22510284008#step:4:389

SBCL Windows doesn't actually run any tests: https://github.com/simendsjo/sijo-doctest/actions/runs/8232306308/job/22510286756

ECL on Windows fails too: https://github.com/simendsjo/sijo-doctest/actions/runs/8232676398/job/22510614053#step:3:343

I've successfully ran sbcl, abcl, ccl and ecl on Linux locally using a pure guix shell as the above ABCL example.

@simendsjo
Copy link
Author

My rc files has the following to load quicklisp, and I'm using ultralisp too.

#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

@simendsjo
Copy link
Author

Sorry, that repo isn't open source yet.

Should be public now.

@svetlyak40wt
Copy link
Member

Interesting!

Now I see this problem on the test in setup-lisp's repository too.

Here is the build for ccl-bin: https://github.com/40ants/setup-lisp/actions/runs/8218461606/job/22475353500
At the first glance it is OK, but if you open logs the will see the same problem:

Screenshot 2024-03-12 at 11 15 42

@svetlyak40wt
Copy link
Member

I'll try to fix it today.

@svetlyak40wt
Copy link
Member

Cool! I've made action's tests fail on this error and they will capture other issues in quicklisp-fix too!

https://github.com/40ants/setup-lisp/actions/runs/8246384012/job/22552303121

@simendsjo
Copy link
Author

Great, thanks! Got sbcl, ecl, ccl and abcl working on linux and mac. Problems with clasp, clisp, cmu and windows.

Haven't tested clasp, clisp, cmu or windows locally though, so it might not work. Should be pretty portable though.

simendsjo added a commit to simendsjo/sijo-version that referenced this issue Mar 12, 2024
simendsjo added a commit to simendsjo/sijo-version that referenced this issue Mar 12, 2024
@svetlyak40wt
Copy link
Member

Are you testing on the branch from this PR?

#25

@simendsjo
Copy link
Author

Are you testing on the branch from this PR?

#25

Yes, fix-ql-fix-loading

@svetlyak40wt
Copy link
Member

Ah, I see, you do. There is caching issue on OSX. Seems ASDF does does not refreshes a path to the TEMP dir at the startup. I still not sure how to fix it. Probably will merge patch as is and will solve this problem in a separate PR.

Note, this line in the setup-lisp's README:

Most implementations are tested on Linux, but for some of them Windows and OSX are also should work.

Actually I've only tested SBCL on Windows and SBCL & CCL-BIN on OSX. Other implementations probably will fail. If you want to support them, you can try to figure solve problems one by one in a separate pull requests.

Note, CMU-BIN on Linux fails not in the setup-lisp it fails in the run-tests action. It fails with this trace on tests:

2024-03-12T20:20:51.2561843Z An unhandled error condition has been signalled: Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:  148206 is not of type (UNSIGNED-BYTE 16)
2024-03-12T20:20:51.2563034Z 
2024-03-12T20:20:51.2563055Z 
2024-03-12T20:20:51.2585128Z 0: (DEBUG:BACKTRACE 536870911 #<Synonym Stream to *TERMINAL-IO*>)
2024-03-12T20:20:51.2586432Z 1: (TRIVIAL-BACKTRACE:PRINT-BACKTRACE-TO-STREAM #<Synonym Stream to *TERMINAL-IO*>)
2024-03-12T20:20:51.2602867Z 2: (TRIVIAL-BACKTRACE:PRINT-BACKTRACE #<error printing object {60AE1545}> :OUTPUT NIL :IF-EXISTS :APPEND :VERBOSE NIL)
2024-03-12T20:20:51.2615862Z 3: (NIL #<error printing object {60AE1545}>)
2024-03-12T20:20:51.2628685Z 4: (NIL #<error printing object {60AE1545}>)
2024-03-12T20:20:51.2630947Z 5: (NIL 1 #<error printing object {60AE1545}>)[:EXTERNAL]
2024-03-12T20:20:51.2631915Z 6: (SIGNAL #<error printing object {60AE1545}>)
2024-03-12T20:20:51.2635600Z 7: (ERROR TYPE-ERROR :FUNCTION-NAME EXTENSIONS:STREAM-READ-CHAR :DATUM 148206 :EXPECTED-TYPE (UNSIGNED-BYTE 16))
2024-03-12T20:20:51.2640644Z 8: (KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER EXTENSIONS:STREAM-READ-CHAR #.(SYSTEM:INT-SAP #xF7A7AB9C) #<error printing object {60ADF4BD}> (208 16))
2024-03-12T20:20:51.2642450Z 9: (KERNEL::INTERNAL-ERROR #.(SYSTEM:INT-SAP #xF7A7A6CC) #<unused-arg>)
2024-03-12T20:20:51.2643826Z 10: ("call_into_lisp+#x74 [#x805A6E0] /home/runner/.roswell/impls/x86-64/linux/cmu-bin/21e/bin/lisp")
2024-03-12T20:20:51.2645564Z 11: ("funcall2+#x20 [#x805A540] /home/runner/.roswell/impls/x86-64/linux/cmu-bin/21e/bin/lisp")
2024-03-12T20:20:51.2647447Z 12: ("interrupt_internal_error+#x62 [#x8051A72] /home/runner/.roswell/impls/x86-64/linux/cmu-bin/21e/bin/lisp")
2024-03-12T20:20:51.2649098Z 13: ("sigill_handler+#x36B [#x805A35B] /home/runner/.roswell/impls/x86-64/linux/cmu-bin/21e/bin/lisp")
2024-03-12T20:20:51.2650632Z 14: (EXTENSIONS:STREAM-READ-CHAR #<unavailable-arg> #<unavailable-arg> #<unavailable-arg>)
2024-03-12T20:20:51.2658503Z 15: ("DEFMETHOD STREAM-READ-LINE (FUNDAMENTAL-CHARACTER-INPUT-STREAM)" #<error printing object {60EF2C8B}> #<unused-arg> #<error printing object {619D879D}>)
2024-03-12T20:20:51.2660260Z 16: (READ-LINE #<error printing object {619D879D}> NIL NIL NIL)
2024-03-12T20:20:51.2661146Z 17: ("DEFUN DUMP-NORMALIZATION-TESTS")
2024-03-12T20:20:51.2661918Z 18: ("DEFUN DUMP-NORMALIZATION-TESTS" 0)[:EXTERNAL]
2024-03-12T20:20:51.2663003Z 19: (LISP::%WITH-STANDARD-IO-SYNTAX #<error printing object {619D63D9}>)
2024-03-12T20:20:51.2663892Z 20: (DUMP-NORMALIZATION-TESTS)
2024-03-12T20:20:51.2664513Z 21: (DUMP-NORMALIZATION-TESTS 0)[:EXTERNAL]
2024-03-12T20:20:51.2665154Z 22: (DUMP-DATA-STRUCTURES)
2024-03-12T20:20:51.2665717Z 23: (DUMP-DATA-STRUCTURES 0)[:EXTERNAL]
2024-03-12T20:20:51.2666365Z 24: (CREATE-SOURCE-FILES)
2024-03-12T20:20:51.2675355Z 25: (CREATE-SOURCE-FILES 0)[:EXTERNAL]
2024-03-12T20:20:51.2688639Z 26: (UIOP/PACKAGE:SYMBOL-CALL :CL-UNICODE #:CREATE-SOURCE-FILES)[:OPTIONAL]
2024-03-12T20:20:51.2700831Z 27: (UIOP/PACKAGE:SYMBOL-CALL :CL-UNICODE #:CREATE-SOURCE-FILES)[:OPTIONAL]
2024-03-12T20:20:51.2712688Z 28: (NIL :CL-UNICODE #:CREATE-SOURCE-FILES NIL 0)[:OPTIONAL]
2024-03-12T20:20:51.2713849Z 29: (UIOP/PACKAGE:SYMBOL-CALL 2 :CL-UNICODE #:CREATE-SOURCE-FILES)[:EXTERNAL]
2024-03-12T20:20:51.2715241Z 30: (#<error printing object {605A003B}> #<unused-arg> #<unused-arg> #<unused-arg> #<unused-arg>)
2024-03-12T20:20:51.2716820Z 31: (#<error printing object {605A003B}> 4 #<unused-arg> #<unused-arg> #<unused-arg> #<unused-arg>)[:EXTERNAL]
2024-03-12T20:20:51.2718690Z 32: ("LAMBDA (G4681 G4682 G4683)" #<unused-arg> #<unused-arg> #<error printing object {6240D9DD}> #<error printing object {605E7EBD}>)
2024-03-12T20:20:51.2732392Z 33: ("LAMBDA (G4681 G4682 G4683)" 4 #<unused-arg> #<unused-arg> #<error printing object {6240D9DD}> #<error printing object {605E7EBD}>)[:EXTERNAL]
2024-03-12T20:20:51.2743589Z 34: (NIL)
2024-03-12T20:20:51.2755330Z 35: (NIL)
2024-03-12T20:20:51.2767429Z 36: (NIL)
2024-03-12T20:20:51.2779112Z 37: (NIL 0)[:EXTERNAL]
2024-03-12T20:20:51.2793346Z 38: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<error printing object {6112AB91}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)[:OPTIONAL]
2024-03-12T20:20:51.2806639Z 39: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<error printing object {6112AB91}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)[:OPTIONAL]
2024-03-12T20:20:51.2819548Z 40: (NIL #<error printing object {6112AB91}> (:OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL) 8)[:OPTIONAL]
2024-03-12T20:20:51.2832799Z 41: (ASDF/SESSION:CALL-WITH-ASDF-SESSION 9 #<error printing object {6112AB91}>)[:EXTERNAL]
2024-03-12T20:20:51.2849034Z 42: (ASDF/ACTION:CALL-WHILE-VISITING-ACTION #<error printing object {6240D9DD}> #<error printing object {605E7EBD}> #<error printing object {6112AAE1}>)
2024-03-12T20:20:51.2863455Z 43: (ASDF/ACTION:CALL-WHILE-VISITING-ACTION #<error printing object {6240D9DD}> #<error printing object {605E7EBD}> #<error printing object {6112AAE1}>)
2024-03-12T20:20:51.2866423Z 44: (ASDF/ACTION:CALL-WHILE-VISITING-ACTION 3 #<error printing object {6240D9DD}> #<error printing object {605E7EBD}> #<error printing object {6112AAE1}>)[:EXTERNAL]
2024-03-12T20:20:51.2869701Z 45: ((PCL:FAST-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<unused-arg> #<error printing object {6149CB3D}> #<error printing object {6240D9DD}> #<error printing object {605E7EBD}>)
2024-03-12T20:20:51.2872207Z 46: ((PCL:FAST-METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<unused-arg> #<unused-arg> #<error printing object {612E1105}> #<unused-arg>)
2024-03-12T20:20:51.2874557Z 47: ((PCL:FAST-METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<unused-arg> #<error printing object {60903B2D}> #<error printing object {612E1105}> NIL)
2024-03-12T20:20:51.2877323Z 48: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<unused-arg> #<unused-arg> #<error printing object {612B787D}> #<error printing object {6131CDDD}> NIL)
2024-03-12T20:20:51.2879631Z 49: ("LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OPERATION COMPONENT .REST-ARG.)")
2024-03-12T20:20:51.2881657Z 50: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<unused-arg> #<error printing object {612DF06D}> #<error printing object {612B787D}> #<error printing object {6131CDDD}> NIL)
2024-03-12T20:20:51.2883554Z 51: ("LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OPERATION COMPONENT .REST-ARG.)")
2024-03-12T20:20:51.2892332Z 52: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<unused-arg> #<error printing object {61714D25}> ASDF/LISP-ACTION:TEST-OP "sijo-doctest" NIL)
2024-03-12T20:20:51.2905128Z 53: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<error printing object {612B15A1}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)[:OPTIONAL]
2024-03-12T20:20:51.2907515Z 54: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<error printing object {612B15A1}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)[:OPTIONAL]
2024-03-12T20:20:51.2918020Z 55: ("LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OPERATION COMPONENT .REST-ARG.)")
2024-03-12T20:20:51.2932119Z 56: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<error printing object {61249BF9}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)[:OPTIONAL]
2024-03-12T20:20:51.2934617Z 57: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<error printing object {61249BF9}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)[:OPTIONAL]
2024-03-12T20:20:51.2946377Z 58: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<unused-arg> #<error printing object {61714D25}> ASDF/LISP-ACTION:TEST-OP "sijo-doctest" NIL)
2024-03-12T20:20:51.2957801Z 59: (ASDF/OPERATE:TEST-SYSTEM "sijo-doctest")[:OPTIONAL]
2024-03-12T20:20:51.2969895Z 60: (ASDF/OPERATE:TEST-SYSTEM "sijo-doctest")[:OPTIONAL]
2024-03-12T20:20:51.2981805Z 61: (NIL "sijo-doctest" NIL 0)[:OPTIONAL]
2024-03-12T20:20:51.2993809Z 62: (ASDF/OPERATE:TEST-SYSTEM 1 "sijo-doctest")[:EXTERNAL]
2024-03-12T20:20:51.3006054Z 63: (ROS.SCRIPT.RUN-TESTS::RUN-TESTS "sijo-doctest")
2024-03-12T20:20:51.3018026Z 64: (ROS.SCRIPT.RUN-TESTS::RUN-TESTS "sijo-doctest")
2024-03-12T20:20:51.3030044Z 65: (ROS.SCRIPT.RUN-TESTS::RUN-TESTS 1 "sijo-doctest")[:EXTERNAL]

@svetlyak40wt
Copy link
Member

@simendsjo I've made this test run where all implementation which work on ubuntu are tested on Windows and OSX: https://github.com/40ants/setup-lisp/actions/runs/8260570459

Some of them have failed. I'll open issues on these matrix combinations and will make a full table of supported/non-supported combinations in the documentation.

@simendsjo
Copy link
Author

Thanks! Starting to look really good. Windows+SBCL doesn't run tests on my project though
https://github.com/40ants/setup-lisp/actions/runs/8260570459/job/22596297018

image

@simendsjo
Copy link
Author

Btw, should I rather add an issue to https://github.com/40ants/run-tests as it looks like this workflow works just fine?

@svetlyak40wt
Copy link
Member

Sure, if run-tests does not work, then issue should be there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants