Closed bdukes closed 1 year ago
Steps to reproduce and system information always helps!
Edition: Windows 11 Enterprise Version: 22H2 OS build: 22621.1265 Experience: Windows Feature Experience Pack 1000.22638.1000.0
Processor: 12th Gen Intel(R) Core(TM) i7-1260P 2.10 GHz Installed RAM: 32.0 GB (31.6 GB usable) System type: 64-bit operating system, x64-based processor
elm-format.exe
elm.format.exe --help
from PowershellStdout: none Stderr: none Exit Code: -1073741515
I am also experiencing this issue on Windows 10
Booted my Windows machine, and it happens to me as well.
Here are the commands I used in case it helps @avh4:
curl.exe -fLo elm-format.zip https://github.com/avh4/elm-format/releases/download/0.8.6/elm-format-0.8.6-win-x64.zip
tar xf elm-format.zip
.\elm-format.exe
$lastExitCode
Observations:
The elm-tooling tests (which run elm-format --help
) passed in GitHub Actions, but not when I run the elm-tooling tests locally on my Windows machine. (The binary fails just like above then too.)
elm-format.exe 0.8.6 is ~4 times bigger than 0.8.5:
❯ file elm-format-0.8.5/elm-format.exe elm-format-0.8.6/elm-format.exe
elm-format-0.8.5/elm-format.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
elm-format-0.8.6/elm-format.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
❯ ls -lah elm-format-0.8.5/elm-format.exe elm-format-0.8.6/elm-format.exe
-rw-r--r--@ 1 simon staff 7.0M Feb 9 2021 elm-format-0.8.5/elm-format.exe
-rw-r--r--@ 1 simon staff 31M Mar 1 20:51 elm-format-0.8.6/elm-format.exe
Hmm, "Exit code: -1073741515" apparently means an issue with .DLL linking https://stackoverflow.com/questions/38246420/what-does-exitcode-1073741502-mean
I've just been relying on ghc (the Haskell compiler) for Windows to do the right thing, and I don't know much about Windows dynamic linking myself.
Does anyone know the right Windows commands to check what dynamic libraries the binary thinks it needs, and compare the output for the 0.8.5 binary vs the 0.8.6 binary?
I tried to turn on more static binary stuff. Can someone with the issue try this binary and see if it's any better? https://github.com/avh4/elm-format/suites/11319096083/artifacts/581295507
That does resolve the issue for me 👍🏻
That one executes on my Windows machine as well!
@avh4 I recommend marking 0.8.6 as deprecated and re-releasing as 0.8.7.
Thanks, I'm a bit hesitant to make this fix a full release, since that will make extra work for the nixpkgs and homebrew folks who will have to do a useless release.
I've published elm-format@0.8.6-windows
to npm, and put the new binaries here https://github.com/avh4/elm-format/releases/tag/0.8.6 (and will make a new elm-tooling PR to have "0.8.6" use the new binaries for Windows).
Ok, I see what you mean, but it feels like Windows npm users are going to suffer from this for a long time. npm install elm-format
is going to be broken on Windows, right?
I was debating about setting the npm latest
tag to 0.8.6-windows
. If I do, then npm install elm-format
would work fine. The downside is that it might confuse other people if they get a release version that says "windows", even though it will still work for all platforms.
Also, I'm planning on 0.8.7 (or maybe called 0.10.0) next month anyway.
0.8.6-1
like the elm package. A downside is that semver wise, 0.8.6
comes after 0.8.6-1
so that’s going to be a bit confusing too, just like it is for node-test-runner.0.8.6-windows
solution, I recommend adding something about it in the readme at least.0.9.0
?Reopening. (not sure why github auto closed it)
I think my plan for the moment is to see if I can get the planned 0.8.7 ready in the next week, and then just mark 0.8.6 deprecated once that's released. :thinking:
Curious: Any reason for skipping 0.9.0?
I've been saving odd-numbered versions like that for "experimental" releases, meaning they have features or formatting decisions that may or may not be reverted in the next stable release. I guess it's been a while (2017) since I've had any experimental features, but there are a few coming up soon.
elm-format 0.8.7 is now released, which should fix the problem. I've also just deprecated the 0.8.6 npm package with a message recommended to upgrade to 0.8.7. Version 0.8.6-windows
can still be used if you really need 0.8.6 for some reason. It's also safe to use 0.8.6 despite the deprecation if your dev environment doesn't need to support Windows.
Please open a new issue if there are problems with 0.8.7.
Thanks!
elm-format 0.8.7 is not released
is now released ;)
We're using 0.8.7 on Windows without issue, thanks all!
Note from maintainer:
Note, this only affects folks using the npm installer on Windows. If your team doesn't use Windows, or if you use Windows but install via elm-tooling or by manually downloading binaries, then you can use 0.8.6 as normal.
If you are installing via npm and using Windows, then you'll need one of the following workarounds until the next (0.8.7) release is published:
0.8.5
0.8.6-windows
(this version still works on any platform, but will use the fixed binaries on when Windows)Original issue follows:
We upgraded to 0.8.6 via elm-tooling (but have also used the release asset directly), and we're getting error codes without any output whenever we try to run
elm-format
(orelm-format --version
orelm-format --help
). We're using a Windows environment.Happy to do any troubleshooting if there's something I can do. Thanks!