chjj / ttystudio

A terminal-to-gif recorder minus the headaches.
Other
3.24k stars 93 forks source link

JavaScript heap out of memory. #23

Open dzan opened 8 years ago

dzan commented 8 years ago

Hi,

whatever I try, when recording a terminal session I get an OOM. I use the following versions (OSX);

ttystudio --version
v0.0.16
node --version
v6.4.0
<--- Last few GCs --->

  162367 ms: Mark-sweep 1241.3 (1435.0) -> 1241.0 (1435.0) MB, 545.5 / 0 ms [last resort gc].
  162383 ms: Scavenge 1241.8 (1435.0) -> 1241.8 (1435.0) MB, 9.5 / 0 ms [allocation failure].
  162386 ms: Scavenge 1241.8 (1435.0) -> 1241.8 (1435.0) MB, 3.2 / 0 ms [allocation failure].
  162931 ms: Mark-sweep 1241.8 (1435.0) -> 1241.8 (1435.0) MB, 544.7 / 0 ms [last resort gc].
  163475 ms: Mark-sweep 1241.8 (1435.0) -> 1241.6 (1435.0) MB, 544.4 / 0 ms [last resort gc].

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x2bf8773c9e31 <JS Object>
    1: stringify [native json.js:164] [pc=0x26776d333d77] (this=0x2bf8773bac69 <a JSON with map 0x3b903d008721>,z=0x18edafa352b1 <JS Array[1561]>,A=0x2bf877304189 <undefined>,N=0x2bf877304189 <undefined>)
    2: arguments adaptor frame: 1->3
    3: /* anonymous */ [/usr/local/lib/node_modules/ttystudio/bin/ttystudio:41] [pc=0x26776d69d2e5] (this=0x2bf8773e1d81 <JS Global Object>,err=0x2bf877304...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [/usr/local/bin/node]
 2: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [/usr/local/bin/node]
 3: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/usr/local/bin/node]
 4: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [/usr/local/bin/node]
 5: v8::internal::IncrementalStringBuilder::Extend() [/usr/local/bin/node]
 6: v8::internal::BasicJsonStringifier::SerializeSmi(v8::internal::Smi*) [/usr/local/bin/node]
 7: v8::internal::BasicJsonStringifier::Result v8::internal::BasicJsonStringifier::Serialize_<false>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [/usr/local/bin/node]
 8: v8::internal::BasicJsonStringifier::Result v8::internal::BasicJsonStringifier::Serialize_<false>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [/usr/local/bin/node]
 9: v8::internal::BasicJsonStringifier::Result v8::internal::BasicJsonStringifier::Serialize_<false>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [/usr/local/bin/node]
10: v8::internal::BasicJsonStringifier::Result v8::internal::BasicJsonStringifier::Serialize_<false>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [/usr/local/bin/node]
11: v8::internal::BasicJsonStringifier::Result v8::internal::BasicJsonStringifier::Serialize_<false>(v8::internal::Handle<v8::internal::Object>, bool, v8::internal::Handle<v8::internal::Object>) [/usr/local/bin/node]
12: v8::internal::Runtime_BasicJSONStringify(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/local/bin/node]
13: 0x26776d20961b
14: 0x26776d333d77
fish: 'ttystudio --record test…' terminated by signal SIGABRT (Abort)
lyndsey-ferguson commented 6 years ago

I see this as well

emb03 commented 5 years ago

Me too.

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0xa3798025549 <JSObject>

1: fromString(aka fromString) [buffer.js:336] [bytecode=0xa373b7d1421 offset=161](this=0xa37e12022d1 <undefined>,string=0xa37d3dab641 <Very long string[180570095]>,encoding=0xa3798036461 <String[4]: utf8>) 2: from [buffer.js:189] [bytecode=0xa373b7d0f01 offset=14](this=0xa377a245c39 <JSFunction Buffer (sfi = 0xa3734b1cbd9)>,value=0xa37d3dab641 <Very long string[180570095]>,encodingOrOffse...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory