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

Windows support is gone: MSVC's JIT bullshit is fucking over the CI tests #14

Closed
LunarWatcher opened this issue Jun 18, 2020 · 1 comment

Comments

@LunarWatcher
Copy link
Owner

LunarWatcher commented Jun 18, 2020

Post-"fix" edit:

The specific bug referenced has been fixed with the help of a friend of mine. MSVC's JIT error popup in a headless CI bullshit remains unchanged. The CI will remain active until the next time this happens - MSVC will still screw over the CI the next time there's an error, and I can't bother someone who happens to run Windows every single time MSVC decides to resist exiting. Windows support is on an extremely thin thread until this issue gets addressed - the core issue with MSVC preventing program exit and preventing the error from showing up where I can see it is still real, and might risk killing off Windows support eventually.

Background

This has been triggered by 554d071

MSVC pushes some JIT debugging bullshit into GitHub actions. It being headless means the popup is not possible to control. In the event of an error, the tests will never succeed or fail.

There's currently a bug that makes the Windows tests fail. The JIT bullshit is preventing me from fixing it. Taskranger on Windows is effectively broken until the details get worked out. I have no idea what's wrong either, because the JIT debugging is preventing me from getting any information. I also don't have easy access to a MSVC Windows box to test on, so I won't.

I've asked around, but if I don't get an answer there by tomorrow, I'm going to stop trying, because pouring all my time and effort into MSVC isn't something I want to do. I hate MSVC. It's so backwards in so many ways, and working to maintain support to it when pretty much all solutions fail is something I can't do. There might be some easy way to solve this that I'm completely missing, but all my attempts have failed, and I can't keep spewing out more commits to run CI over and over For Science:tm:

This issue is written in the likely event my asking around leads nowhere, and no windows support is a legitimate concern.

Proposed solutions

Attempts:

Proof of concept:

Implications

Until this issue is closed, Windows will be disregarded.

if my questions lead nowhere, starting tomorrow (June 19th 2020), no more CI time will be allocated to Windows tests.

Until CI is back up and running, Taskranger on Windows is classified as broken. Windows support is still a goal, but if MSVC decides to continue to be an absolute fucking cunt, I can't work towards it. No automated testing on Windows can and should be interpreted as a sign that Taskranger doesn't work on Windows. A major part of the purpose behind running the CI is being able to debug issues. If the Windows CI fails to live up to that, it will be stopped.

Pull requests fixing Windows issues are still welcome. I want to be able to support Windows, but without access to or a desire to get access to a Windows box, I have nothing aside the CI to tell if Taskranger is broken. That's why MSVC breaking the CI classifies as Windows support being broken.

Finally, if anyone happens to know how to suppress the GUI popups or otherwise make the tests fail properly, a PR or a comment on this issue is more than welcome. Fundemental issues in the way MSVC is handled should be addressed in this repo instead (SConsStandard is a submodule in this repo used to cut down buildscript code)

@LunarWatcher
Copy link
Owner Author

LunarWatcher commented Jun 19, 2020

Theoretically fixed on the develop branch (TL;DR: build release build instead of debug build to shut MSVC up). Segfault, throw, and REQUIRE failed successfully instead of freezing. Should hopefully be good enough

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

No branches or pull requests

1 participant