-
Notifications
You must be signed in to change notification settings - Fork 7.6k
WSOD when reloading Brackets with dev tools open #4522
Comments
Marking medium priority for this sprint. Although it's a crash, I think it's not high-priority because (1) it only happens after you reload, so there's no data loss and (2) it only happens when dev tools are open, which is obviously a problem for us but not as much for general users. |
I tried to look into this further by running the shell from Xcode (using the debug configuration), but I get an exception during startup--sometime after the project panel renders, but before the initial file appears in the editor window. |
Yup, the act of opening a file in the editor seems to be what's causing the assertion when I run a debug build. It looks like it's dying when doing something with a text area, which suggests that it has to do with CodeMirror. But all of this is probably a red herring and not related to the actual original bug. |
@gruehle Any thoughts on how I could debug this to get a better stack trace? I can't get the debug build to work in general (see my last couple of comments). |
@njx, nice work getting the recipe. I'm no expert on debugging xcode crashes but we do have access to the release build symbols for cef on the Mac. Hopefully the build we are using with the Mac has symbols (there was a problem with the windows symbols) Otherwise you may need to open up the app and replace the cef dylib with one that has symbols. The symbols are downloadable from here: It sounds like you have a decent recipe for reproducing this. I wonder if i can prevent my crash by not having a file open. Hopefully these two crashes are related somehow. |
A little more info: it seems like the file type might matter. I wasn't able to get it to crash with plain text, Markdown, LESS, or CSS files, but I can get it to crash with JS and HTML files. So perhaps it's related to Tern somehow, although it doesn't look like the other Tern crashes (it's not in the worker). |
I can't get a crash with Brackets src though even if I open a js file with dev tools open. |
Have you tried reloading multiple times? Jason was able to repro it on the third reload within the same Brackets session. |
I can reproduce, but it can take several reloads. I also tried running a debug build and ran into the same problems with it crashing after displaying the project panel. My stack trace looks similar, but the symbols are completely different. I get symbols for libcef, but not for the helper app. I've tried several different combinations for building with symbols, but so far this is the best I can get:
|
I don't know much about CEF, but maybe we could printf some useful information about the messages being processed by |
Based on the two stack traces, I think the crash is happening in the A similar "crash on reload" bug was fixed a while back: adobe/brackets-shell#249 In that case, we ignored incoming messages if the browser was deleted. This crash seems like we've handled the request, but are crashing in the callback. I'll see if a similar check can be put in for the callback handling. |
FBNC @njx |
Looks good--I tried 10 reloads and didn't get a crash. Closing. |
Only tried on Mac, haven't tried on Windows.
Result: Brackets Helper crashes. If it doesn't happen the first time, try a few more times with the same running instance of Brackets.
Stack trace:
The text was updated successfully, but these errors were encountered: