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

raco setup hangs under Racket 8.11.1 BC x64 on Apple silicon #4894

Open
otherjoel opened this issue Jan 8, 2024 · 6 comments
Open

raco setup hangs under Racket 8.11.1 BC x64 on Apple silicon #4894

otherjoel opened this issue Jan 8, 2024 · 6 comments
Labels
arch:aarch64 Problems related to Aarch64 architecture platform:macos MacOS specific topics racket-bc Specific to Racket BC (Before Chez)

Comments

@otherjoel
Copy link
Sponsor Contributor

otherjoel commented Jan 8, 2024

What version of Racket are you using?
8.11.1 BC x64 on M1 Max

What program did you run?
raco setup

What should have happened?
Setup should complete successfully.

If you got an error message, please include it here.
When it reaches parallel build using 8 jobs, setup seems to hang indefinitely until killed, without showing any errors. Activity Monitor reports racket process using % CPU.

Please include any other relevant details
I am trying to install/use BC to troubleshoot a strange CI test failure that might be unique to BC (and which may result in filing a separate issue).

I do still have 8.11 CS for aarch64 installed. I am in a fresh terminal session with PATH set to the bin for 8.11.1 BC.

Details

❯ raco setup
raco setup: version: 8.11.1
raco setup: platform: x86_64-macosx [3m]
raco setup: target machine: racket
raco setup: installation name: 8.11.1-bc
raco setup: variants: 3m
raco setup: main collects: /Applications/Racket v8.11.1/collects
raco setup: collects paths: 
raco setup:   /Users/joel/Library/Racket/8.11.1-bc/collects
raco setup:   /Applications/Racket v8.11.1/collects
raco setup: main pkgs: /Applications/Racket v8.11.1/share/pkgs
raco setup: pkgs paths: 
raco setup:   /Applications/Racket v8.11.1/share/pkgs
raco setup:   /Users/joel/Library/Racket/8.11.1-bc/pkgs
raco setup: links files: 
raco setup:   /Applications/Racket v8.11.1/share/links.rktd
raco setup:   /Users/joel/Library/Racket/8.11.1-bc/links.rktd
raco setup: main docs: /Applications/Racket v8.11.1/doc
raco setup: --- updating info-domain tables ---                    [9:51:25]
raco setup: --- pre-installing collections ---                     [9:51:25]
raco setup: --- installing foreign libraries ---                   [9:51:25]
raco setup: --- installing shared files ---                        [9:51:25]
raco setup: --- compiling collections ---                          [9:51:25]
raco setup: making: /racket
raco setup: --- parallel build using 8 jobs ---                    [9:51:26]
raco setup: 7 making: /compiler
raco setup: 6 making: /cext-lib/compiler
raco setup: 6 making: /cext-lib/compiler/commands
raco setup: 5 making: /compiler-lib/compiler
raco setup: 4 making: /mzscheme-lib/compiler
raco setup: 3 making: /zo-lib/compiler
raco setup: 2 making: /raco
raco setup: 1 making: /racket
raco setup: 0 making: /class-iop-lib/racket
raco setup: 0 making: /class-iop-lib/racket/class
raco setup: 0 making: /class-iop-lib/racket/class/private

At this point no further output is produced until the process is killed.

@rfindler

This comment was marked as resolved.

@otherjoel

This comment was marked as resolved.

@rfindler

This comment was marked as resolved.

@mflatt
Copy link
Member

mflatt commented Jan 8, 2024

Racket BC x86_64 with places has never worked right on Apple Silicon. As far as I can tell, something goes wrong in Rosetta with signal delivery (to the wrong thread?), which breaks the write-barrier implementation for BC's garbage collector.

If there's demand, we could try to find a workaround. I have been just ignoring this for years, and this is the first time anyone else has noticed, as far as I know.

@shhyou shhyou added racket-bc Specific to Racket BC (Before Chez) arch:aarch64 Problems related to Aarch64 architecture platform:macos MacOS specific topics labels Jan 8, 2024
@otherjoel
Copy link
Sponsor Contributor Author

Given that no one else has noticed, I wouldn’t count what I’m doing as sufficient demand, not by itself anyways. As I said, I’m just trying to troubleshoot a weird CI error; I’ll be removing the BC installation for good once I'm done with that.

If I do raco setup --processes then setup completes without error. If you were to add a workaround, perhaps defaulting to --processes in this particular set of circumstances would be enough.

@benknoble
Copy link
Contributor

I'm not convinced this is related, but I've been seeing setup hangs on GitHub Actions with BC 8.12.0.1 x86_64-linux [3m] on Ubuntu 22.04: https://pipelinesghubeus7.actions.githubusercontent.com/JX0a4PHnpbGkpVHPxxrr5RC3R7ZxmydlozVhsyS8eZYjdsJr5Z/_apis/pipelines/1/runs/359/signedlogcontent/3?urlExpires=2024-01-09T01%3A00%3A26.4715715Z&urlSigningMethod=HMACV1&urlSignature=xZHb%2BydtrevMl0fWx9d%2BIbLX6hOn4bRazzyGrC%2BDpR4%3D

Last few lines

2024-01-08T16:20:50.7557108Z raco setup: 1 running: <pkgs>/metapict/metapict/scribblings/metapict.scrbl
2024-01-08T16:20:52.2928960Z raco setup: 0 running: <pkgs>/nat-traversal/scribblings/nat-traversal.scrbl
2024-01-08T16:20:52.7490194Z WARNING: collected information for key multiple times: '(dep ((lib "nat-traversal/main.rkt") mapping-change-listener)); values: #t #t
2024-01-08T16:20:52.7496115Z WARNING: collected information for key multiple times: '(def ((lib "nat-traversal/main.rkt") mapping-change-listener)); values: (vector #f '(def ((lib "nat-traversal/main.rkt") mapping-change-listener)) #f (list (mobile-root #<path:/home/runner/.local/share/racket/snapshot/pkgs/nat-traversal/doc/nat-traversal>) #"index.html") #f) (vector #f '(def ((lib "nat-traversal/main.rkt") mapping-change-listener)) #f (list (mobile-root #<path:/home/runner/.local/share/racket/snapshot/pkgs/nat-traversal/doc/nat-traversal>) #"index.html") #f)
2024-01-08T16:20:52.7506115Z WARNING: collected information for key multiple times: '(index-entry (def ((lib "nat-traversal/main.rkt") mapping-change-listener))); values: (list '("mapping-change-listener") (list (sized-element (style "RktSym" (list 'tt-chars (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex")))) (cached-delayed-element #<procedure:...ibble/racket.rkt:1... (list '("mapping-change-listener") (list (element (style "RktSym" (list 'tt-chars (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex")))) (element (style "RktValLink" (list 'tt-chars (css-addition '(co...
2024-01-08T16:20:52.8094465Z raco setup: 0 running: <pkgs>/parsack-doc/parsack/scribblings/parsack.scrbl
2024-01-08T16:20:53.6810881Z raco setup: 0 running: <pkgs>/ppict/ppict.scrbl
2024-01-08T16:20:55.0693601Z raco setup: 0 running: <pkgs>/pretty-expressive/scribblings/pretty-expressive.scrbl
2024-01-08T16:20:56.1037873Z raco setup: 0 running: <pkgs>/qi-doc/scribblings/qi.scrbl
2024-01-08T16:20:58.9318118Z raco setup: 3 running: <pkgs>/rackunit-abbrevs/scribblings/rackunit-abbrevs.scrbl
2024-01-08T16:20:59.2809243Z raco setup: 2 running: <pkgs>/rebellion/main.scrbl
2024-01-08T16:20:59.6438206Z raco setup: 3 running: <pkgs>/racket-index/scribblings/main/user/release.scrbl
2024-01-08T16:20:59.9822444Z raco setup: 3 running: <pkgs>/scribble-abbrevs/scribblings/scribble-abbrevs.scrbl
2024-01-08T16:21:01.8619640Z raco setup: 3 running: <pkgs>/scribble-math/scribblings/scribble-math.scrbl
2024-01-08T16:21:01.9683136Z raco setup: 0 running: <pkgs>/racket-index/scribblings/main/user/search.scrbl
2024-01-08T16:21:02.2983156Z raco setup: 0 running: <pkgs>/racket-index/scribblings/main/user/start.scrbl
2024-01-08T16:21:02.4980309Z /home/runner/.local/share/racket/snapshot/pkgs/scribble-math/e56b09d1a37d8830bd93ce152f045f46
2024-01-08T16:21:02.5130004Z raco setup: 3 running: <pkgs>/static-rename-doc/scribblings/static-rename/main.scrbl
2024-01-08T16:21:02.6870594Z raco setup: 0 running: <pkgs>/sugar/sugar/scribblings/sugar.scrbl
2024-01-08T16:21:03.0007430Z raco setup: 3 running: <pkgs>/threading-doc/scribblings/threading.scrbl
2024-01-08T16:21:04.5101354Z raco setup: 3 running: <pkgs>/txexpr/txexpr/scribblings/txexpr.scrbl
2024-01-08T22:17:56.0250632Z ##[error]The operation was canceled.

This only started occurring over the weekend for me, I think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch:aarch64 Problems related to Aarch64 architecture platform:macos MacOS specific topics racket-bc Specific to Racket BC (Before Chez)
Projects
None yet
Development

No branches or pull requests

5 participants