Closed JukkaL closed 4 years ago
I'm encountering what looks like a hard crash (no traceback) on Linux with Python 3.6 when running the latest master against Dropbox internal code.
It started happening after https://github.com/python/mypy/commit/88eb84ec182c3e638aa15fe0ce7c9673059def7b was merged. Looking at that PR, I don't see anything particularly suspicious, but it's doing some pointer casting which might plausibly be a problem. If I can't fix the crash soon, I might cut the release branch from an earlier commit or wait a bit longer until I cut the release branch.
I narrowed down the segfault to https://github.com/mypyc/mypyc/issues/756. It's a release-blocker, unless we cut the release branch from an earlier commit and do some cherry-picks.
Is the branch cut happening today? I've been seeing infinite loops with --follow-imports=normal on https://github.com/edgedb/ and will try to investigate and get a PR up today.
Is the branch cut happening today? I've been seeing infinite loops with --follow-imports=normal on https://github.com/edgedb/ and will try to investigate and get a PR up today.
I think it will happen today since the fix for mypyc/mypyc#756 would be then included and no cherry-picking is needed.
I'd like https://github.com/python/mypy/pull/9302 to make it into the release
I'm late to the party, but it'd be nice if this typeshed sync https://github.com/python/mypy/pull/9317 containing https://github.com/python/typeshed/pull/4447 made it in
I'm late to the party, but it'd be nice if this typeshed sync #9317 containing python/typeshed#4447 made it in
according to the branches page, the release 0.790 branch was already cut last Friday.
The release will be delayed by at least a few days, since I didn't manage to update Dropbox internal mypy version to the release branch last week, and this week I'm on vacation. I want at least 3 days of internal testing at Dropbox before a release.
@hauntsaninja I'll need to make some other typeshed fixes as well before the release, so there should be no problems including your fix as well.
Any updates on release schedule?
I imagine the internal testing might have been prolonged due to the flurry of typeshed changes due to some folks at Microsoft submitting a truckload of new packages and tightening many existing packages.
Yeah, the release is delayed because of the various typeshed changes that either require fixes in typeshed or fixes to our internal codebases. Also some of them exposed mypy bugs that we may want to fix before the release.
I already used all the time I had reserved for preparing for the release, so I'll have to scramble a few hours here and there to finish the release, unfortunately. (But I want to get it out ASAP.)
I'll post an update once we've started testing the release branch internally.
Since Python 3.5 is going to be sunsetting in 11 days, may I recommend we make this the last release to support running mypy with Python 3.5 as well?
Update: I have a bit too much stuff going on right now to make progress with the release. I'll get back to this as soon as things calm down a bit.
@ethanhs I think that we can drop support for running with Python 3.5 soon. Pip will drop support in January 2021 (https://github.com/pypa/pip/pull/8778), and that might be a reasonable timeframe for us as well to give users some time to upgrade.
According to https://www.python.org/downloads/release/python-3510/ Python 3.5 reaches end of life today. I will suggest to drop it from typeshed after the next mypy release.
@JukkaL let me know if there's anything people outside Dropbox can do to help.
Are you still planning to use the current 0.790 release branch? Given the delay it might be better to cut the branch from master again, even if that requires a bit more testing.
There was some extra friction from broken wheel builds, but they seem to work again now. I'll try to update the internal mypy version used at Dropbox tomorrow. I'll post a new release date estimate once the update has been successful.
@JelleZijlstra Cutting from master may result in extra work, since there may be additional typeshed issues that need to be fixed. I'll try to move forward with the current 0.790 branch, but if I hit issues, I'll consider cutting the branch again.
Let us know how we can help!
For whatever it's worth, I ran mypy_primer on HEAD vs release-0.790. Results:
I also wouldn't complain if you found the time to cherry pick #9479 and #9495. Both are mypy crashes that have been reported multiple times (the first one is surfaced by mypy_primer as well).
@hauntsaninja Thanks for the detailed analysis! I'll try running the latest master against our internal repos; if the number of new errors is small enough, I can cut the release branch again from master. (The current release branch generated about 2000 errors initially, I think, but hopefully things are less bad now.)
At least https://github.com/python/typeshed/issues/4591 blocks the use of master for the release.
@hauntsaninja Cherry-picked #9479 and #9495.
The new ETA for the release is around Fri Oct 9, if no major new issues are found. We are now testing the release branch internally at Dropbox.
I'll write a postmortem with ideas about how to make the release process smoother after the release is out.
Cherry-picked #9538 and #9539, as these address issues with a feature introduced in this release.
Mypy 0.790 is finally out: https://mypy-lang.blogspot.com/2020/10/mypy-0790-released.html
thanks for the hard work! @JukkaL
@JukkaL would it be possible to make a 0.791 release including #9587? (https://github.com/mypyc/mypy_mypyc-wheels/pull/11#issuecomment-711127531 and #9584)
Sure, I can make the 0.791 release. I had a cold last week and am only now catching up with what's been happening.
I plan to release mypy 0.790 around Aug 25 and cut the release branch this Thu (Aug 13).
Please add comments to this issue if you have any PR you'd like to be included. Ideally those PRs should be landed before the release branch is cut, to minimize cherry-picking.
(This will hopefully be the final major release with bundled monolithic typeshed. 0.800 should have third-party package stubs available from PyPI.)