Fix hang before exit on arm by pinning uilive to non-broken version #493
+10
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've figured out what causes the hang on Apple silicon since version 18.0.5 first reported in #490: an indirect dependency of the progress bar (uilive) causes this hang for Go versions >=1.21 (that's probably why this bug only surfaced in 18.0.5, before then, Go 1.20 was used).
Luckily there's an easy workaround: downgrade uilive to 0.0.3. Version 0.0.4 contains this commit which seems to cause the hang: gosuri/uilive@11a6ee7
Given that uiprogress (and uilive) are no longer maintained, it might make sense to switch to a different progress bar package in the mid term.
An alternative is to downgrade Go to <1.20
Testing
I've verified that with this change,
datasets
no longer hangs on exit.I'll also run a few smoke tests. Unfortunately there seem to be no (unit) tests at all for the client.