Brackets: Sudden white screen in Bracket when trying to edit any JS file

Created on 25 Jul 2016  ·  28Comments  ·  Source: adobe/brackets

Hi,
bracketwhiteissue
Bracket editor become white and also not responding when i try to edit some content. It is not a fixed time pattern issue, sometime within 1 or 2 min it will happen but sometime after 10 min,

Below are my environment and Bracket version details:

Bracket Version: Release 1.7 build 1.7.0-16898 (release b0a363b71)
OS : Windows 7 Enterprise SP-1 and Windows 8.1 Pro

cef high priority

Most helpful comment

@gem0303 try deleting extensions\default\JavaScriptCodeHints folder from your Brackets installation. Just to see if it helps (you might also want to move it so you can move it back)

All 28 comments

Hey there @soniajay80,

next time you are using Brackets, could you open your Developer Tools (from Debug -> Show Developer Tools) if by some chance the developer tools wouldn't hard crash too and we would get some errors to log by. Just keep the window open and then check the Console in the tools when the hard crash occurs.

/utils/EventDispatcher.js:125 Possible memory leak: 16 'activeEditorChange' listeners attached to Object {_eventHandlers: Object, _EventDispatcher: true}

some of same arrors were before fail

This also happens to me several times per day. I'll try to get a log posted.

Hi,
screenshot 34
I kept Developer Tools open like you said and image of console at the time of whitescreen. Hope you can solve this issue.

Seems like a CEF crash to me :-/

what does that mean?

CEF stands for Chromium Embedded Framework, you can find it at https://bitbucket.org/chromiumembedded/cef
Basically it let us have access to the underlyng OS while building Brackets with web technologies.
I hit similar problems when running our test suite, which can use a lot of CPU and memory.
It is possible that your workflow could cause a crash of CEF, so maybe we need to update our version.

It would interesting to know if you still hit this problem with https://github.com/zaggino/brackets-electron/
(It is a fork of Brackets which uses a differrent shell, electron instead of CEF)

Guys I have replicated this with running a script. Basically it dumps about 5 databases to the hard drive in a way that it first deletes the old dumps and then writes them to disk, leading to a lot of deletes and creates reported by file watchers in very short time. Talking about 1000+ files deleted and then created again in less than a second.

The culprit seems to be tons of calls (possibly recursive) to _addSearchResultsForEntry https://github.com/adobe/brackets/blob/master/src/search/FindInFiles.js#L756

This also crashes Brackets-Electron btw

Nice job debugging the issue @zaggino 👍

Constantly getting this crash. As noted, it only seems to occur when editing js files and it happens whether or not I have extensions loaded. Is there any known workaround? I don't want to switch text editors but this workflow is unsustainable. :(

edit: I saw a comment above that (I think) says this error occurs when there's programs using a lot of CPU and memory. I have Adobe Photoshop CC 2017 running while working which is a huge resource hog. I just reduced the amount of RAM Photoshop uses to see if there's any improvement in Brackets.

edit #2: I lowered the RAM and opened a smaller PS file, and was able to work for several hours without interruption. I opened a larger PS file and within 10 minutes had a crash. Pete requested I post my Brackets Health Report.

{
    "uuid": "4bf26be5-5ef6-4e23-98ae-70f077d63d1f",
    "snapshotTime": 1483741610531,
    "os": "win",
    "userAgent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Brackets/1.8.0.0 Chrome/49.0.2623.110 Safari/537.36",
    "osLanguage": "en-GB",
    "bracketsLanguage": "en-GB",
    "bracketsVersion": "1.8.0-17108",
    "fileStats": {
        "openedFileExt": {
            "css": 15,
            "js": 13,
            "html": 8
        },
        "workingSetFileExt": {
            "css": 1
        }
    },
    "ProjectDetails": {
        "prj-1187525310": {
            "numFiles": 14,
            "cacheSize": 118680
        }
    },
    "projectLoadTimes": ":296",
    "fileOpenTimes": ":677",
    "ModuleDepsResolved": 644,
    "AppStartupTime": 2170,
    "prefNodeSearchDisabled": false,
    "prefInstantSearchDisabled": false,
    "installedExtensions": [
        {
            "name": "brackets-semicolon-terminator",
            "version": "0.9.2"
        },
        {
            "name": "raven",
            "version": "1.0.5"
        },
        {
            "name": "brackets-css-color-preview",
            "version": "0.0.7"
        },
        {
            "name": "fdecampredon.brackets-tslint",
            "version": "0.1.1"
        },
        {
            "name": "rhuno.replace.in.selection",
            "version": "1.0.0"
        },
        {
            "name": "work-heatmap",
            "version": "1.1.0"
        },
        {
            "name": "dnbard.extensions-rating",
            "version": "0.7.4"
        },
        {
            "name": "edc.brackets-snippets",
            "version": "1.8.1"
        },
        {
            "name": "jonwolfe.file-tree-exclude",
            "version": "0.6.3"
        },
        {
            "name": "ivogabe.icons",
            "version": "1.5.7"
        },
        {
            "name": "le717.html-skeleton",
            "version": "1.4.3"
        },
        {
            "name": "brackets-emmet",
            "version": "1.2.2"
        }
    ],
    "bracketsTheme": "raven"
}

Hi Pete,

I just updated my original comment with my Brackets Health Report.

On Fri, Jan 6, 2017 at 11:01 AM, Pete Nykänen notifications@github.com
wrote:

@gem0303 https://github.com/gem0303 sorry to hear that you have issues.

If reducing Adobe Photoshop RAM usage doesn't help, could you post your Health
Report (under Help-menu).


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/adobe/brackets/issues/12617#issuecomment-270949809,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AI8t2y_KYmDWo0HBr9PUjQ8x39qvPX9sks5rPnNMgaJpZM4JUC-d
.

Yeah sorry about that @gem0303, I responded but then remembered that Zaggino had already nailed down the cause. Thanks for your health report though!

Wonder if we should throttle/queue _addSearchResultsForEntry

@petetnt one of the causes, not all of them, it still happens to me from time to time but I can't replicate consistently. I think tern code analysis running in the worker is to blame.

I was getting this a lot yesterday, interestingly, not 100% sure but whilst having a folder open on a network drive rather than local.

@ficristo

It would interesting to know if you still hit this problem with https://github.com/zaggino/brackets-electron/

I just installed Brackets Electron and unfortunately still had the white screen crash, as @zaggino mentioned.

Is there anything I can do to fix the crashes? If not, will this issue be resolved in Brackets 1.9 and what is its expected release date?

I'm really bummed to switch away from Brackets because I love it, but I can't be productive with it anymore.

Could you leave open the developer tools and see if there are some errors when the crash happens?
And do you have some step to reproduce?
For the network drive I think our current watching mechanism is not good at least on macOS.
(Probably we should check if it is a network drive and switch to the polling mode)

@ficristo I'm 90% sure it's something doing infinite loops in browser process, first guess would be js code hints, we updated it recently and it's using webworker. https://github.com/adobe/brackets/pull/11948 should fix this. If this was the watching mechanism, it wouldn't crash electron, the processes are separate there.

Thanks for the quick replies. I'm using Notepad++ at work and it works well enough, but it's no Brackets!

developer tools

@ficristo I've kept it open before and never had any error messages when the crash occurs.

Repro steps

The only 100% consistent thing that crashes it is editing a js file (normally they're rather long files, but I'm not sure if the size of the js file has any impact).

It will crash whether or not Adobe Photoshop is open, whether or not I have a network folder open, and also whether or not I have extensions loaded. I've reinstalled Brackets a couple times, too. I'm running Win 10. Health report is posted several comments up.

I didn't have these issues at all until a month or two ago, so something must've changed with my workflow or work computer to exacerbate the issue. Off the top of my head, my computer has had the following changes recently:
-- new graphics card
-- BIOS update
-- switched to a monitor with 2,560-by-1,440 resolution

Can't think of anything that changed with my workflow or programs, besides normal Adobe or browser updates.

@zaggino Should I try/is it possible to disable js code hints?

@gem0303 try deleting extensions\default\JavaScriptCodeHints folder from your Brackets installation. Just to see if it helps (you might also want to move it so you can move it back)

Apologies for the huge delay in reporting back. I removed the JavaScriptCodeHints folder as @zaggino suggested and have not had any further issues with Brackets crashing. Thanks so much for the help!

FYI, this problem has become a crucial issue since Brackets 1.11 added several default extensions... leading to repeated hangs whenever one moves from one tab to another (if a JS file), and sometimes a complete "white screen" crash.
How can such a productivity killer be allowed and enabled by default in a production software, this is beyond me.
My solution (after considering moving to SublimeText 3) was to disable the following default extensions:

  • brackets-javascript-code-hints
  • ESLint
  • JavaScriptQuickEdit
  • JSLint

Not sure which one is the real culprit, just hoping the next release of Brackets will show some better sense.

omg. i lost much changes, very sad i am. can't open logs. i crys. this happen much. i try different text editor now. i know no one cares but i wanted to vent anyway.

Sorry about that @moeiscool. We do care though. Could you share your Health Report (Help -> Health Report) and details about your operating system?

After taking a second look at _SublimeText 3_, I found it uses much less RAM, is much faster, has the much needed multiline Search & Replace (even with RegEx!), no hangs, no white screen and no crash.

This has now become my main development tool, as I only use _Brackets_ for the rare case of editing a RegEx string due to syntax highlighting _(SublimeText 3_ only highlights matching brackets in code, not in a RegEx string).

Will happily reconsider if/when _Brackets_ solves this now 18-month old bugs that make it repeatedly hang or crash with a "white screen" of death.

Awesome that you found a tool that works for you! If you want want to help with issues like yours, do share your Health Report and details of your usage and other related things!

Thanks.

@gravsten sublime text requires $ which makes it not a choice for everyone. If you think it's cheap that's fine but not everyone is willing to shell out for a text editor. I do see they have no time limit on eval but that's, in a way, stealing if you don't give something back to the devs.

@petetnt here is my health report on the project folder that crashes the most. My other project folders don't seem to be plagued by this.

I should also mention i keep 4 instances of brackets open usually. 1 for each project i am working on.. and repeatedly it's just my project, not my client's... i guess i should be sort of happy about that :P

Oh and brackets is probably the best editor there is. So please fix it! or at least add a recovery method to get our unsaved changes.

[
    {
        "snapshotTime": 1518374104980,
        "os": "win",
        "userAgent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Brackets/1.12.0.0 Chrome/49.0.2623.110 Safari/537.36",
        "osLanguage": "en-US",
        "bracketsLanguage": "en-US",
        "bracketsVersion": "1.12.0-17621",
        "fileStats": {
            "openedFileExt": {
                "ejs": 1,
                "js": 5,
                "sql": 1
            },
            "workingSetFileExt": {
                "sql": 1
            },
            "openedFileEncoding": {
                "UTF-8": 7
            }
        },
        "ProjectDetails": {
            "prj206204125": {
                "numFiles": 200,
                "cacheSize": 7124328
            },
            "prj-1322084079": {
                "numFiles": 2960,
                "cacheSize": 27821052
            },
            "prj2097739149": {
                "numFiles": 3884,
                "cacheSize": 27304234
            }
        },
        "projectLoadTimes": ":179",
        "fileOpenTimes": ":89(358)627[269]:205",
        "ModuleDepsResolved": 716,
        "AppStartupTime": 1839,
        "prefNodeSearchDisabled": false,
        "prefInstantSearchDisabled": false,
        "installedExtensions": [
            {
                "name": "brackets-markdown-preview",
                "version": "2.2.0"
            }
        ],
        "bracketsTheme": "dark-theme",
        "uuid": "6bd5-a232-cc15-18e6-d4a0",
        "olderuuid": "6bd5-a232-cc15-18e6-d4a0"
    },
    {
        "project": "brackets-service",
        "environment": "production",
        "time": "2018-02-11T18:35:07.208Z",
        "ingesttype": "dunamis",
        "data": {
            "event.guid": "471100da-9a5e-43b3-84dd-dbe1504d72bc",
            "event.user_guid": "6bd5-a232-cc15-18e6-d4a0",
            "event.dts_end": "2018-02-11T18:35:07.211Z",
            "event.category": "pingData",
            "event.subcategory": "",
            "event.type": "",
            "event.subtype": "",
            "event.user_agent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Brackets/1.12.0.0 Chrome/49.0.2623.110 Safari/537.36",
            "event.language": "en-US",
            "source.name": "1.12.0-17621",
            "source.platform": "win",
            "source.version": "1.12.0-17621"
        }
    }
]

@moeiscool _Brackets_ was probably the best editor (I could forgive its excessive use of RAM and lack of multiline Search & Replace, considering it's free) until version 1.11 when it started to repeatedly hang on me whenever I switched tab or made any edit in a JS file (presumably due to linting).

My productivity as a developer went through the floor because suddenly any user interaction with _Brackets_ resulted in tens of seconds of waiting for the editor to unfreeze. And that's not even taking into account the occasional white screen of death crash with unsaved changes lost forever.

Unfortunately, version 1.12 didn't fix these critical issues, which makes paying $80 for a commercial editor look very reasonable.

This is to say that I sincerely hope _Brackets_ can fix the aforementioned issues (whether in the editor itself or in any extension peddled by it) before adding new functionality or other improvement.
I am definitely in favour of open-source solutions, and it's not just about the $.

@gravsten ive tried atom and other editors. Brackets is the only one that makes it easy to get used to programming. It also being the younger sibling of Dreamweaver adds sentiment. I used to use Dreamweaver in elementary school. That alone makes me more productive. The nostalgia.

The number of times it does this white crash thing isn't as much of a problem as lacking features and requiring modification. I think the tool should have the necessary features to make it worth using and easy to get used to. Bugs happen, it's up to the work ethic of the developers to fix it. Seeing as how brackets has come this far and is free I am willing to follow Brackets.

Brackets is a community program. This makes society more productive and i am more willing to donate $80 to the brackets team than pay sublime for anything.

You're absolutely right, its not just about the $.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

asportnoy picture asportnoy  ·  3Comments

ghost picture ghost  ·  3Comments

10polarbears picture 10polarbears  ·  3Comments

zaggino picture zaggino  ·  4Comments

macjabeth picture macjabeth  ·  3Comments