Skip to content

upload a big file (100M+) causes "Maximum call stack size exceeded" #444

Description

@teddybearz

When upload a big file (100M+), got error: "Maximum call stack size exceeded".

node version is v0.10.33

(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.

node.js:0
// Copyright Joyent, Inc. and other Node contributors.
^
RangeError: Maximum call stack size exceeded
    at node.js
    at maxTickWarn (node.js:383:9)
    at process._nextTick [as _currentTickHandler] (node.js:484:9)
    at process.nextTick (node.js:335:15)
    at onwrite (_stream_writable.js:265:15)
    at WritableState.onwrite (_stream_writable.js:96:5)
    at WriteStream.Socket._write (net.js:653:5)
    at doWrite (_stream_writable.js:225:10)
    at writeOrBuffer (_stream_writable.js:215:5)
    at WriteStream.Writable.write (_stream_writable.js:182:11)
    at WriteStream.Socket.write (net.js:615:40)
FAILED test_gcs_blob_store

Activity

  1. ryanseys commented on Mar 12, 2015

    @ryanseys
    Contributor

    Yep, Node streams do that. It's not our library. There's not much we can do here to prevent recursive process.nextTick calls, especially in the native streams implementation.

    You could technically do something like process.nextTick = setImmediate; at the beginning of your code and that should fix the problem (Disclaimer: not recommended and could have bad side effects), or just upgrade your version of Node to something more recent and hope they've ironed out the streams bugs (I'd recommend version 0.12.0).

  2. added
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    api: storageIssues related to the Cloud Storage API.
    on May 14, 2015
  3. added this to the Storage Stable milestone on May 14, 2015
  4. added a commit that references this issue on Aug 22, 2022
  5. 3 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

🚨This issue needs some love.api: storageIssues related to the Cloud Storage API.triage meI really want to be triaged.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions