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

Does not work with sbcl 1.4.10 - internals change #14

Closed
quicklisp opened this issue Jul 27, 2018 · 12 comments
Closed

Does not work with sbcl 1.4.10 - internals change #14

quicklisp opened this issue Jul 27, 2018 · 12 comments

Comments

@quicklisp
Copy link

Build log is here: http://report.quicklisp.org/2018-07-27/failure-report/stmx.html#stmx

@cosmos72
Copy link
Owner

I will have to ask how to update assembler-building functions for sbcl 1.4.10 on sbcl-devel mailing list

@quicklisp
Copy link
Author

Any word on this?

@cosmos72
Copy link
Owner

cosmos72 commented Sep 7, 2018

Not yet, sorry.
I am currently very busy, any kind of help on this would be much appreciated

@AeroNotix
Copy link

AeroNotix commented Sep 19, 2018

#15 lets stmx compile and complete tests on sbcl 1.4.10.

AeroNotix added a commit to AeroNotix/stmx that referenced this issue Sep 20, 2018
* Lots of symbols were removed/renamed/moved etc
* stmx depends on internal interfaces of sb-* packages leading to
  unfortunate brittleness like this.

Closes cosmos72#14
@cosmos72
Copy link
Owner

cosmos72 commented Sep 21, 2018

As discussed in #15, commit e54d768 should fix stmx to work on SBCL 1.4.10+ as well as older versions.

Now backporting it to the stable branch, used by quicklisp

@cosmos72
Copy link
Owner

fix backported to stable in commit e17f39d

@Harleqin
Copy link

Harleqin commented May 4, 2019

It seems that AeroNotix@2d0bf46 did not yet make it into this repo. From https://stackoverflow.com/questions/55961071/using-library-functions-in-multi-threaded-code-common-lisp/55967338?noredirect=1#comment98608614_55967338:

Also, on Linux Mint the error is caught ERROR: READ error during COMPILE-FILE: Lock on package SB-VM violated when interning EMIT-SKIP while in package SB-X86-64-ASM. See also: The SBCL Manual, Node "Package Locks" (in form starting at line: 123, column: 0, position: 4767)

@cosmos72
Copy link
Owner

cosmos72 commented May 4, 2019

The patch e17f39d was supposed to supersede AeroNotix@2d0bf46, in order to support both sbcl < 1.40 and >= 1.4.0

I am checking right now if some fix is still missing, at the moment I tested the commands

(ql:quickload "stmx")
(ql:quickload "stmx.test")
(fiveam:run! 'stmx.test:suite)

with the following results:

stable branch, commit 4d915e3 (published on quicklisp and github)

  • sbcl 1.5.12 (x86-64) on Linux Debian: load & test ok
  • sbcl 1.4.16 (x86-64) on Linux Debian: load & test ok
  • sbcl 1.4.14 (x86-64) on Windows 7: load & test ok
  • sbcl 1.3.19 (x86-64) on Linux Debian: load & test ok

master branch, commit 805bbc1 (published on github)

  • sbcl 1.5.12 (x86-64) on Linux Debian: load & test ok
  • sbcl 1.4.16 (x86-64) on Linux Debian: load & test ok
  • sbcl 1.3.19 (x86-64) on Linux Debian: load & test ok

I will do more tests and update this post accordingly.
Question: is it possible that the original reporter somehow used an old version of stmx?

@davypough
Copy link

davypough commented May 4, 2019

With reference to issue #14, quickload problem @davypough was caused by out-of-date Quicklisp. Linux Mint now loads fine. However, I'm still getting a problem with quickload hanging in Windows after

(ql:quickload :stmx) ->
To load "stmx":
Load 1 ASDF system:
stmx
; Loading "stmx"
To load "log4cl":
Load 2 ASDF systems:
bordeaux-threads bt-semaphore
Install 1 Quicklisp release:
log4cl

Verson info (newest):
Quicklisp Client 2019-02-16
Quicklisp dist 2019-03-07
Windows 10 version 1803 (OS Build 17134.753)
Windows SBCL 1.4.14 AMD64

Update if it's of any help: found different error during (ql:quickload :stmx) this morning on SBCL+Windows10:

; in: DEFUN START-HIERARCHY-WATCHER-THREAD
; (LOG4CL-IMPL:LOG-DEBUG "Watcher thread already started")
;
; caught ERROR:
; during macroexpansion of (LOG-DEBUG "Watcher thread already started"). Use
; BREAK-ON-SIGNALS to intercept.
;
; The value
; "WITHOUT-INTERRUPTS-BODY-1"
; is not of type
; LIST

@cosmos72
Copy link
Owner

cosmos72 commented May 4, 2019

Currently I don't have a Windows 10 box to try.
My tests on Windows 7 passed (read: I could not reproduce your problem), but SBCL 1.4.14 startup message on Windows is noteworthy:

WARNING: the Windows port is fragile, particularly for multithreaded
code.  Unfortunately, the development team currently lacks the time
and resources this platform demands.

I would not rely on SBCL+Windows for heavily multi-threaded code, unless you are willing to help SBCL core team in troubleshooting the issues you may find.

One thing you can try is to press CTRL+C and see whether SBCL shows where it is stuck (it must be pressed twice in Emacs+SLIME). From your log, it appears to be stuck installing log4cl, but without further details it may be misleading.

@davypough
Copy link

davypough commented May 4, 2019 via email

@cosmos72
Copy link
Owner

cosmos72 commented Feb 25, 2020

Sorry for the long delay.

Unluckily I do not have the resources/expertise to troubleshoot issues related to log4cl, especially on Windows, even if they happen while loading stmx.

I can only "vaguely" state that it seems a thread-related issue, specific to the combination windows+sbcl+log4cl, because the source code (LOG-DEBUG "Watcher thread already started") triggering the error is inside log4cl, in the file watcher.lisp - not inside stmx.

You may get a better outcome by asking in log4cl forums, especially if you get reproduce the same error with a command involving fewer dependencies - maybe (quickload "log4cl") ?

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

5 participants