mozilla / mozilla/source-map

Memory leak (?)

Open
#342 4 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-triage
Dominant language
JavaScript
Stars
3.7k
Forks
370
PR merge metrics
No merged PRs in 30d

Description

Windows 7 x64, Node v9.8.0

https://github.com/thorn0/grunt-contrib-concat/tree/fast-source-maps
source-map is used in this file.

After updating to 0.7.3, I started to get this from time to time:

<--- Last few GCs --->

[8556:000000000046F060] 84622740 ms: Mark-sweep 1399.5 (1464.3) -> 1399.4 (1465.8) MB, 915.2 / 0.0 ms  allocation failure GC in old space requested
[8556:000000000046F060] 84623765 ms: Mark-sweep 1399.4 (1465.8) -> 1399.3 (1434.3) MB, 1024.9 / 0.0 ms  last resort GC in old space requested
[8556:000000000046F060] 84624527 ms: Mark-sweep 1399.3 (1434.3) -> 1399.3 (1434.3) MB, 761.8 / 0.1 ms  last resort GC in old space requested


<--- JS stacktrace --->

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

Security context: 00000399B5425529 <JSObject>
    0: builtin exit frame: stringify(this=00000399B5408D59 <Object map = 0000034CDA482BA1>,000002A2EC202431 <String[0]: >,000002A2EC202201 <null>,0000024DA0883AC9 <Object
 map = 000001029AC8F251>)

    1: _write [d:\dev\srcui\grunt\concat\lib\sourcemap.js:215] [bytecode=000003D3792C0499 offset=174](this=0000031B39802289 <SourceMapConcatH
elper map = 000001A141A84E59>...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::DecodeWrite
 2: node_module_register
 3: v8::internal::FatalProcessOutOfMemory
 4: v8::internal::FatalProcessOutOfMemory
 5: v8::internal::Factory::NewRawOneByteString
 6: v8::internal::Smi::SmiPrint
 7: v8::internal::StackGuard::HandleInterrupts
 8: v8::internal::wasm::LocalDeclEncoder::Size
 9: v8::internal::wasm::LocalDeclEncoder::Size
10: v8::internal::wasm::LocalDeclEncoder::Size
11: v8_inspector::protocol::Debugger::API::SearchMatch::fromJSONString
12: v8_inspector::protocol::Debugger::API::SearchMatch::fromJSONString
13: 000001E97AA86B21

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at tasks/lib/sourcemap.js line 215 in the linked grunt-contrib-concat branch and inspect its source-map 0.7.3 usage. Reproduce the out-of-memory failure under Windows 7 x64 with Node v9.8.0, using the reported stack trace as the entry point. Done means identifying a reproducible regression and verifying its resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
devtools, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.