Git Product home page Git Product logo

Comments (17)

timsweb avatar timsweb commented on July 16, 2024

I'm also getting a similar (or the same) error:

node_modules/over/overload.js:18
    var args = Array.prototype.slice.call(arguments);
                                     ^
RangeError: Maximum call stack size exceeded

My zip files are about 5Mb, most work fine (and some 300Mb haven't had any issues), but some don't. I might not be able to link to a failing zip file though as it's contains sensitive information :-(

I did an npm update before posting here so should be on the latest version.

from node-unzip.

brianhiss avatar brianhiss commented on July 16, 2024

Yeah, I saw your issue. It was closed and a patch issued, but I have cloned the latest code and still no luck.

Not quite sure why it chokes, and it seems to be platform specific issue. On Heroku (less resources) it fails. On my local Mac, it works fine for the big files.

from node-unzip.

timsweb avatar timsweb commented on July 16, 2024

I think I know the other issue your talking about, although it's not mine. I too cloned didn't have any joy.

from node-unzip.

ralphholzmann avatar ralphholzmann commented on July 16, 2024

I'm also experiencing this issue sporadically :/

from node-unzip.

timsweb avatar timsweb commented on July 16, 2024

I've had a chance to look into this a little closer and have submitted a pull request (that's opened issue #17). Feel free give it a test.

from node-unzip.

brianhiss avatar brianhiss commented on July 16, 2024

So far it's working on the use cases it was failing on for me. I will get back if I see anything different. Thank you!

from node-unzip.

EvanOxfeld avatar EvanOxfeld commented on July 16, 2024

@timsweb @ralphholzmann @brianhiss Thanks for your help troubleshooting this issue. I wanted to get the fix in #17 up on NPM as soon as possible, so I published v0.1.5.

That said, there's a lot of logic not really about parsing zips in parse.js / untilstream.js that would be more reliable as a module based on the Node 0.10 stream.Transform with its own tests. I'll leave this issue open until the logic's impending move barring problems with the match-stream module. Expect an update to this issue soon. I know some zips that have failed to extract in the past contain sensitive information and would appreciate your help again to test.

from node-unzip.

satazor avatar satazor commented on July 16, 2024

@EvanOxfeld An user complained about this very same issue here: bower/bower#312
I think that's a good test case.

from node-unzip.

EvanOxfeld avatar EvanOxfeld commented on July 16, 2024

Really appreciate the test case, @satazor. I'll get it integrated into the unzip tests.

from node-unzip.

nprbst avatar nprbst commented on July 16, 2024

I'm not sure if this is a useful clue or not, but for the same file I can repeatably cause #16 to break or not break by...wait for it...changing from 1 CPU to 2 CPUs!

Configuration

  • Node v0.8.22
  • unzip v0.1.4 (v0.1.5 "hangs" on me)

1 CPU: Breaks every time

  • AWS EC2 Micro Instance, Ubuntu 12.04.1 LTS (~640 MB, 1 CPU)
  • VirtualBox, Ubuntu 12.04.1 LTS (640 MB, 1 CPU)

2 CPUs: Works every time

  • Mac mini Server, OS X Lion (16 GB, 4 cores)
  • VirtualBox, Ubuntu 12.04.1 LTS (640 MB, 2 CPUs)

from node-unzip.

satazor avatar satazor commented on July 16, 2024

@EvanOxfeld Some more details on unzip 0.1.6

node 0.10.3

bootstrap.zip

var unzip = require('unzip');
var fs = require('fs');

fs.createReadStream('bootstrap.zip')
    .pipe(unzip.Extract({ path: 'test' }))
    .on('error', function (err) { console.log('error', err); })
    .on('close', function () { console.log('closed'); });

Works!

jquery-ui-1.10.0.custom.zip

var unzip = require('unzip');
var fs = require('fs');

fs.createReadStream('jquery-ui-1.10.0.custom.zip')
    .pipe(unzip.Extract({ path: 'test' }))
    .on('error', function (err) { console.log('error', err); })
    .on('close', function () { console.log('closed'); });

Fails.. it previously worked. Here's the stack trace:

events.js:72
        throw er; // Unhandled 'error' event
              ^
TypeError: Invalid non-string/buffer chunk
    at chunkInvalid (_stream_readable.js:339:10)
    at readableAddChunk (_stream_readable.js:126:12)
    at Match.Readable.push (_stream_readable.js:113:10)
    at Match.Transform.push (_stream_transform.js:142:32)
    at Match._matchFn (/Users/satazor/Work/twitter/bower/node_modules/unzip/lib/parse.js:161:31)
    at Match._transform (/Users/satazor/Work/twitter/bower/node_modules/unzip/node_modules/match-stream/match.js:39:10)
    at Match.Transform._read (_stream_transform.js:181:10)
    at Match.Transform._write (_stream_transform.js:169:12)
    at doWrite (_stream_writable.js:211:10)
    at writeOrBuffer (_stream_writable.js:201:5)

node 0.8.22

bootstrap.zip

It just hangs while extracting, high CPU usage

jquery-ui-1.10.0.custom.zip

Fails with the same error as the node 0.10.3

from node-unzip.

EvanOxfeld avatar EvanOxfeld commented on July 16, 2024

Thanks for the info @satazor - I'm close to a fix, at least for node 0.10.3.

from node-unzip.

satazor avatar satazor commented on July 16, 2024

@EvanOxfeld after upgrading to 0.1.7, all issues present in my previous comment still exist.
Shall I create a separate issue?

from node-unzip.

EvanOxfeld avatar EvanOxfeld commented on July 16, 2024

@satazor If you have a chance, check out #23 - fixes for node 0.10.x, close for node 0.8.x. I'll have more time to devote to fixing this issue later today.

from node-unzip.

sindresorhus avatar sindresorhus commented on July 16, 2024

Is there any updates on this? It's currently a pressing issue for Bower.

from node-unzip.

euskadi31 avatar euskadi31 commented on July 16, 2024

I have the same problem

Node: 0.10.12
Bower: 0.10.0
unzip: 0.1.8

from node-unzip.

alFReD-NSH avatar alFReD-NSH commented on July 16, 2024

Just another sample:

bower downloading http://www.playcraftlabs.com/downloads/playcraft-v0.5.6a.zip
bower extracting /tmp/bower-playcraft-v0.5.6a-2119dtushkw/index.zip

/home/alfred/nvm/v0.10.12/lib/node_modules/bower/node_modules/tmp/lib/tmp.js:260
  throw err;
        ^
TypeError: Invalid non-string/buffer chunk
    at chunkInvalid (_stream_readable.js:365:10)
    at readableAddChunk (_stream_readable.js:137:12)
    at Match.Readable.push (_stream_readable.js:127:10)
    at Match.Transform.push (_stream_transform.js:140:32)
    at Match._matchFn (/home/alfred/nvm/v0.10.12/lib/node_modules/bower/node_modules/unzip/lib/parse.js:161:31)
    at Match._transform (/home/alfred/nvm/v0.10.12/lib/node_modules/bower/node_modules/unzip/node_modules/match-stream/match.js:39:10)
    at Match.Transform._read (_stream_transform.js:179:10)
    at Match.Transform._write (_stream_transform.js:167:12)
    at doWrite (_stream_writable.js:219:10)
    at writeOrBuffer (_stream_writable.js:209:5)
    at Match.Writable.write (_stream_writable.js:180:11)
    at write (_stream_readable.js:573:24)

With the following modules:

from node-unzip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.