-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Fix infinite loop in windows memory manager #12248
Conversation
OT question, why is |
OK, it compiles and cherry picking this commit on top of 56342be fixes the bootstrap issue... |
crosses fingers |
lgtm. thanks for solving this! |
Assuming this is the reason we have |
0ac771d
to
be2027a
Compare
Many thanks, this badly needed fixing. |
Anything wrong with Travis Mac ? There doesn't seem to be a active build running right now.. |
@tkelman It can't possibly be that my PR that fixes the Windows freeze is the first commit that hit a upstream compiler flag issue, or is it........... T-T AppVeyor command compiling AppVeyor command compiling |
that happens when something goes wrong with running |
And IIRC last time it was because sth changed on OBS... |
be2027a
to
e4ccd13
Compare
I don't understand why removing Merge now. Let's see if we still see any AppVeyor Win64 freeze in the next few days. Hopefully we can be free of crying Tony for some time... |
Fix infinite loop in windows memory manager
GCC 5.2.0 came out recently so there's a nonzero chance the ABI broke again. I'll look into it, but man I can't believe this was a 2-line change. If this is it, you're my freaking hero. Should also probably backport this? |
yep, looks like that's one of the new features (https://gcc.gnu.org/gcc-5/changes.html#libstdcxx) |
@tkelman I opened a new PR for the parallel test.
At least it is coherent with everything I've seen so far.
Not sure about this but @carnaval predict that you will be dancing on the table. =) |
I dunno if @timholy ever got his |
Feel free to replace |
I did, but it was a temporary so it got garbage collected 😄 |
So there hasn't been any Win64 freeze on AppVeyor for the past two days. Comparing to 8 freezes per day on average for the 4 days before that, I think it's safe to say that this patch has fixed the issue. That said, there is a new LLVM assertion on AppVeyor Win32. It happens twice for the past two days https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.7131/job/5445bhruvj90382g I have never seen these before although I wasn't checking every build and the Win64 freezing background may also make it hard to see before. @tkelman Have you seen these before? |
I think it's fairly well-established that I'm doing everything in my power to break Julia on Windows. |
Yep I'm pretty sure you resolved the long-standing freeze #7942 (which @mbauman and a few others had a knack for getting to trigger earlier in bootstrap as opposed to at startup), but ever exciting, that win32 assertion failure looks new and not present on master yet. I can try to build the branch for #12273 locally if it would help, though looks like there are more changes pending there. |
FWIW, (and you probably already know) I restarted #12270 twice and the assertion only happens once (which is not too surprising since we have multi process testing). Would be nice to have a backtrace... |
I'll do more testing on various commit later (haven't actually even tested this compiles yet). Currently debugging with the most reliable failure from #11569 (comment).
When it fails, this function is called with
ActualSize == 0
and somehowJMM->startFunctionBody
returns exactly the same size as requested. This breaks the retry logic which is doubling the size every time (because doubling a0
is getting no where...)@tkelman Would be nice if you can do a few tests locally.
@Keno @vtjnash
I didn't run blame butwould be nice if you could check if this makes sense.Close #7942