Constant crashing: CrRendererMain V8::FatalProcessOutOfMemory


#1

I have one project where the python source code is large. This causes constant freeze ups and crashes. I don’t know where to file this bug because I don’t know what is sucking up the memory.

This log says its the renderer. I’m not sure how that relates to the project size - but this project and only this project crashes, and it crashes 10 or more times a day.

What can I do to progress and make Atom usable again ?

Crashed Thread:        0  CrRendererMain  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000

Thread 0 Crashed:: CrRendererMain  Dispatch queue: com.apple.main-thread
0   com.github.electron.framework 	0x0000000103921314 0x103870000 + 725780
1   com.github.electron.framework 	0x0000000103921309 0x103870000 + 725769
2   libnode.dylib                 	0x0000000107b2fd12 v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) + 594
3   libnode.dylib                 	0x0000000107cca949 v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) + 441
4   libnode.dylib                 	0x0000000107ccab16 v8::internal::Factory::NewStringFromUtf8(v8::internal::Vector<char const>, v8::internal::PretenureFlag) + 406
5   libnode.dylib                 	0x0000000107b49aa5 v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::String::NewStringType, int) + 149
6   libnode.dylib                 	0x0000000107813678 node::StringBytes::Encode(v8::Isolate*, char const*, unsigned long, node::encoding) + 264
7   libnode.dylib                 	0x00000001077facee void node::Buffer::StringSlice<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&) + 382
8   libnode.dylib                 	0x00000001077f8fd9 node::Buffer::Utf8Slice(v8::FunctionCallbackInfo<v8::Value> const&) + 9
9   libnode.dylib                 	0x0000000107b6078f v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) + 159
10  libnode.dylib                 	0x0000000107b897e9 0x1077e1000 + 3835881
11  libnode.dylib                 	0x0000000107b8c4cd 0x1077e1000 + 3847373
12  ???                           	0x000009efa4709b7b 0 + 10924860676987
13  ???                           	0x000009efb18d5d55 0 + 10925080665429
14  ???                           	0x000009efb18b76c5 0 + 10925080540869
15  ???                           	0x000009efa470a537 0 + 10924860679479
16  ???                           	0x000009efb18d5468 0 + 10925080663144
17  ???                           	0x000009efb18788d4 0 + 10925080283348
18  ???                           	0x000009efb008409e 0 + 10925055164574
19  ???                           	0x000009efa470a537 0 + 10924860679479
20  ???                           	0x000009efb18cdb3e 0 + 10925080632126
21  ???                           	0x000009efa470a537 0 + 10924860679479
22  ???                           	0x000009efaff925c9 0 + 10925054174665
23  ???                           	0x000009efa47318fd 0 + 10924860840189
24  ???                           	0x000009efa47160a2 0 + 10924860727458
25  libnode.dylib                 	0x0000000107cc4535 0x1077e1000 + 5125429
26  libnode.dylib                 	0x0000000107b47a64 v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 276
27  libnode.dylib                 	0x00000001077e3931 node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) + 673
28  libnode.dylib                 	0x00000001077e52d7 node::AsyncWrap::MakeCallback(v8::Local<v8::String>, int, v8::Local<v8::Value>*) + 71
29  libnode.dylib                 	0x00000001078080fc 0x1077e1000 + 159996
30  libnode.dylib                 	0x0000000107922f4e 0x1077e1000 + 1318734
31  libnode.dylib                 	0x000000010791fc59 uv__work_done + 185
32  libnode.dylib                 	0x000000010792161b 0x1077e1000 + 1312283
33  libnode.dylib                 	0x00000001079217f8 0x1077e1000 + 1312760
34  libnode.dylib                 	0x000000010792f40b uv__io_poll + 1499
35  libnode.dylib                 	0x0000000107921bb2 uv_run + 146
36  com.github.electron.framework 	0x0000000103939da4 atom::NodeBindings::UvRunOnce() + 164
37  com.github.electron.framework 	0x000000010393ae4c base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>::Run(atom::NodeBindings*) + 28
38  com.github.electron.framework 	0x000000010393add5 base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, base::internal::TypeList<base::WeakPtr<atom::NodeBindings> const&> >::MakeItSo(base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, base::WeakPtr<atom::NodeBindings> const&) + 53
39  com.github.electron.framework 	0x000000010393ad8e base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, void (atom::NodeBindings*), base::internal::TypeList<base::WeakPtr<atom::NodeBindings> > >, base::internal::TypeList<base::internal::UnwrapTraits<base::WeakPtr<atom::NodeBindings> > >, base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (atom::NodeBindings::*)()>, base::internal::TypeList<base::WeakPtr<atom::NodeBindings> const&> >, void ()>::Run(base::internal::BindStateBase*) + 46
40  com.github.electron.framework 	0x00000001039f4662 0x103870000 + 1590882
41  com.github.electron.framework 	0x0000000103a1282f 0x103870000 + 1714223
42  com.github.electron.framework 	0x0000000103a12c16 0x103870000 + 1715222
43  com.github.electron.framework 	0x00000001039eb271 0x103870000 + 1553009
44  com.github.electron.framework 	0x0000000103a0ab6a 0x103870000 + 1682282
45  com.github.electron.framework 	0x00000001039eac74 0x103870000 + 1551476
46  com.apple.CoreFoundation      	0x00007fff93b4d5c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
47  com.apple.CoreFoundation      	0x00007fff93b3f41c __CFRunLoopDoSources0 + 556
48  com.apple.CoreFoundation      	0x00007fff93b3e93f __CFRunLoopRun + 927
49  com.apple.CoreFoundation      	0x00007fff93b3e338 CFRunLoopRunSpecific + 296
50  com.apple.Foundation          	0x00007fff94581e61 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 270
51  com.github.electron.framework 	0x00000001039eb8e4 0x103870000 + 1554660
52  com.github.electron.framework 	0x00000001039eb0bc 0x103870000 + 1552572
53  com.github.electron.framework 	0x0000000103a21c23 0x103870000 + 1776675
54  com.github.electron.framework 	0x0000000103a1201d 0x103870000 + 1712157
55  com.github.electron.framework 	0x00000001043f89d4 0x103870000 + 12093908
56  com.github.electron.framework 	0x0000000103e6745c 0x103870000 + 6255708
57  com.github.electron.framework 	0x0000000103e66ab6 0x103870000 + 6253238
58  com.github.electron.framework 	0x000000010387224d AtomMain + 77
59  com.github.atom.helper        	0x000000010386beea main + 58
60  libdyld.dylib                 	0x00007fff9849f5ad start + 1

#2

Is this when you open a large file? This is a known problem.


#3

No, that problem is very well known. It is brought up in every forum the second somebody mentions Atom. I would not be confused by this if that was the issue :wink:

All the files are small. It is the total number of files that affects this. It is perhaps a linting issue. The project symbols seems to have to “reload symbols” way too often.


#4

Have you tried running atom in safe mode: atom -safe?


#5

Since I already assume the problem is a package, I didn’t see the need to turn them all off. I did turn most of them off manually and wasted a lot of time trying to isolate which one was causing this.

I just tried atom -safe

All the packages still loaded and ran. So I’m now confused about what atom -safe is supposed to do.

--safe Do not load packages from ~/.atom/packages or ~/.atom/dev/packages.

But I did notice that symbol-gen is posting 12 times to the console every time any file is saved. Disabled that and it feels lighter and no crashes yet.


#6

Did you use double hyphens? You only showed one in your post.


#7

You can try my package package-cop which is designed to find packages that cause problems. The UI sucks though. I hope to make a simpler version.


#8

Have you taken a look at the profiling tools mentioned in the Debugging guide? They might help you narrow things down.


#9

you also only showed one in your post. I think the forum swallows it.


#10

The problem was with https://atom.io/packages/symbol-gen

The package claims to just add a key command to cause the symbols to be generated, but it seems to be doing something more on every file save.

one file save caused this:

[25305:0307/190601:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190601:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190601:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190601:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190601:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190601:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190602:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190602:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190602:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190602:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190602:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190602:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190602:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190603:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190608:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190608:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190609:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190609:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190609:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190609:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190609:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190609:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190610:INFO:CONSOLE(122)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (122)
[25305:0307/190610:INFO:CONSOLE(128)] "symbol-gen:", source: /Users/crucial/.atom/packages/symbol-gen/lib/symbol-gen-view.coffee (128)

Using the debugger is a good idea, thanks leedohm. But in this case its sporadic crashes due to FatalProcessOutOfMemory (as I posted above) so a debugger doesn’t do any good.