Conversation
|
Note: Jeff is upgrading CEF from 1750 to 1916, so we should verify problem still exists before putting much effort into this PR. |
|
@redmunds Do you want to try Jeff's 1916 branch to see if you can still reproduce the problem? |
|
@redmunds I wonder if this is leading us down a path of one-off fixing specific repro cases of a more general problem. It seems like the issue is that the shell crashes any time we're trying to quit while a callback into V8 is still pending -- most typically a file IO callback. There's lots of file IO and startup and shutdown, so it's easiest to hit then... but it seems like this could be hit basically on any operation -- e.g. I hit Save All and then quickly quit, and some of those Save operations are still running. So I wonder if a more general native fix would be better, rather than sprinkling extra tracking code into every async IO operation we can find (and trying to remember to do so for all future cases too). |
|
@peterflynn That's a valid point. It does seem reasonable that the shell should know best when it's safe to terminate. |
|
Unfortunately, I'm still seeing the "remaining crash on quit" problem in CEF 1916. I agree this is not the ultimate fix for the problem. Any ideas are welcome. |
|
Marking "PR Triage Complete" and assigning to @dangoor. |
|
I'm thinking I should hold off on looking deeper at this since there is investigation into the root crash going on. |
There was a problem hiding this comment.
@redmunds I don't think you're getting the correct Promise object. The one that we really want to wait for is the Promise object used in Tern worker that is still reading some files from the current project. See my comment
|
Closing. |
This is an attempt to fix this remaining crash of #7683 :
So, the remaining crash seems to point to JS Code Hints.
@dangoor - This is my first attempt to implement the solution that we talked about. This does not fix crash, but I wanted to post code for review to see if I'm on the right track.