Comments (17)
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.
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.
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.
I'm also experiencing this issue sporadically :/
from node-unzip.
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.
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.
@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.
@EvanOxfeld An user complained about this very same issue here: bower/bower#312
I think that's a good test case.
from node-unzip.
Really appreciate the test case, @satazor. I'll get it integrated into the unzip
tests.
from node-unzip.
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.
@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.
Thanks for the info @satazor - I'm close to a fix, at least for node 0.10.3.
from node-unzip.
@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.
@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.
Is there any updates on this? It's currently a pressing issue for Bower.
from node-unzip.
I have the same problem
Node: 0.10.12
Bower: 0.10.0
unzip: 0.1.8
from node-unzip.
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:
[email protected] /home/alfred/nvm/v0.8.25/lib/node_modules/bower
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected])
from node-unzip.
Related Issues (20)
- enhancement: Set option for deletion
- `me.error` is not a function HOT 1
- Error: invalid signature: 0x6064b50 HOT 2
- When using with typescript,the process may crash HOT 1
- Pipe signature on Entry
- Error: invalid signature: 0x70a4935 HOT 1
- Please remove dependency on 'natives HOT 5
- Does not work with nodejs v10.0.0 HOT 5
- Don't use under electron-main HOT 3
- extracted files corrupted HOT 1
- folder as file HOT 1
- DO NOT USE THIS THING HOT 8
- Not working with Node 12, primordials is not defined HOT 4
- Mode not preserved with Extract
- Update fstream to a secure version HOT 5
- Any way to pass in arguments like -j or -d from normal unzip?
- Dependency needs updating
- How to stop decompressing zip?
- primordials HOT 2
- unzipper.Parse doesn't work
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-unzip.