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

Slime now fails to compile on current dev build of SBCL, and will fail in 1.4.5 #429

Closed
pfdietz opened this issue Feb 8, 2018 · 0 comments

Comments

@pfdietz
Copy link

pfdietz commented Feb 8, 2018

swank is referring to the internal symbol SB-DISASSEM::ALIGN, but this symbol is gone so this causes a package lock failure. Dougk had this to say:

https://bugs.launchpad.net/sbcl/+bug/1748041

"[...] ALIGN was never supposed to be for users (including swank)
align-up is declared inline, so it's inlined and the tree shaker removes it.
Even if it were renamed back to ALIGN it would have that issue. This is sad.

That said, going back to the initial commit in which swank/sbcl started to call disassemble-code-component, it's bogus (certainly now, probably before).

commit 70d4dc9
Author: Helmut Eller heller@common-lisp.net
Date: Wed Nov 24 19:58:37 2004 +0000

(cond ((sb-kernel:%code-debug-info o)
(sb-disassem:disassemble-code-component o :stream s))
(t
(sb-disassem:disassemble-memory
(sb-disassem::align
(+ (logandc2 (sb-kernel:get-lisp-obj-address o)
sb-vm:lowtag-mask)
(* sb-vm:code-constants-offset
sb-vm:n-word-bytes))
(ash 1 sb-vm:n-lowtag-bits))
(ash (sb-kernel:%code-code-size o) sb-vm:word-shift)
:stream s)))))))

It SHOULD NOT be trying to compute the bounds on what to disassemble.
It should just call disassemble-code-component in any case. (The COND should go away)
The second branch became even more wrong after Stas changed SB-KERNEL:%CODE-CODE-SIZE to return bytes instead of words. (The ASH shouldn't be there)

So fundamentally, this is all wrong and somebody with Slime commit access should simplify that code"

joaotavora pushed a commit to joaotavora/sly that referenced this issue Feb 8, 2018
* slynk/backend/sbcl.lisp (emacs-inspect sb-kernel:code-component):
Just call disassemble-code-component and not much else.

See also slime/slime#429.

(cherry picked from SLIME commit
81017fb)
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

1 participant