Skip to content

planck slow to load library on macOS Sonoma #1101

Open
@kkinnear

Description

First, thanks for planck! It is a great tool for doing clojurescript development!

I use planck to run all of my zprint tests in clojurescript, and it has worked great for years. When I first upgraded to an M1 MacBook Air, I found that it was truly slow to operate in compatibility mode, but after acquiring an ARM version, it has worked great.

Until recently.

I released zprint 1.2.8 while running macOS Ventura, and my overall Clojurescript testing and specific testing using planck was working normally. Then I upgraded to macOS Sonoma. Now, my normal Clojurescript testing regime appears to hang, and even loading zprint into planck takes a very long time. I don't remember what it took to load before -- it wasn't quick, but it was maybe 10-20 seconds. Now it takes over two minutes for the (require 'zprint.core) to complete, which probably explains why the overall tests don't appear to progress. They might if I waited long enough. I'm at a loss to understand what is going on.

I have upgraded to the latest version of planck, and it didn't seem to change.

Here is what I am seeing:

√ clojure/clone % git clone https://github.com/kkinnear/zprint.git
Cloning into 'zprint'...
remote: Enumerating objects: 5518, done.
remote: Counting objects: 100% (1772/1772), done.
remote: Compressing objects: 100% (280/280), done.
remote: Total 5518 (delta 1399), reused 1702 (delta 1354), pack-reused 3746
Receiving objects: 100% (5518/5518), 2.61 MiB | 9.61 MiB/s, done.
Resolving deltas: 100% (3863/3863), done.
√ clojure/clone % cd zprint
√ clone/zprint % planck --version
2.27.0
√ clone/zprint % rm -rf .planck_cache
√ clone/zprint % date
Wed Oct 25 12:16:57 EDT 2023
√ clone/zprint % planck -K -c `lein classpath` -r
ClojureScript 1.11.60
cljs.user=> (require 'zprint.core)
nil
cljs.user=>
√ clone/zprint % date
Wed Oct 25 12:19:20 EDT 2023
√ clone/zprint %

The timing is obviously dependent on my attention and typing speed, but I was watching closely. It took maybe several seconds for me to react, but it is still amazingly slow.

If it is any help, here are the libraries planck is using:

√ 2.27.0_2/bin % pwd
/opt/homebrew/Cellar/planck/2.27.0_2/bin
√ 2.27.0_2/bin % otool -L planck
planck:
	/usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 9.0.0)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.12)
	/opt/homebrew/opt/libzip/lib/libzip.5.dylib (compatibility version 5.0.0, current version 5.5.0)
	/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore (compatibility version 1.0.0, current version 616.1.27)
	/opt/homebrew/opt/icu4c/lib/libicuuc.73.dylib (compatibility version 73.0.0, current version 73.2.0)
	/opt/homebrew/opt/icu4c/lib/libicudata.73.dylib (compatibility version 73.0.0, current version 73.2.0)
	/opt/homebrew/opt/icu4c/lib/libicuio.73.dylib (compatibility version 73.0.0, current version 73.2.0)
	/opt/homebrew/opt/icu4c/lib/libicui18n.73.dylib (compatibility version 73.0.0, current version 73.2.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1336.0.0)

Just to be sure it is ARM:

√ 2.27.0_2/bin % file planck
planck: Mach-O 64-bit executable arm64
√ 2.27.0_2/bin %

I am at a complete loss as to how to move forward to try to solve this problem. I really rely on planck, and now I don't really know what to try next. Any ideas you could give me would be greatly appreciated!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions