RealFaviconGenerator / grunt-real-favicon

Generate a multiplatform favicon with RealFaviconGenerator
MIT License
97 stars 7 forks source link

Fatal error: invalid signature: 0xc7b33a49 #32

Open mevbg opened 8 years ago

mevbg commented 8 years ago

I used to get those two errors below from time to time, but now I can't get rid of them. The task fails every time.

Fatal error: invalid signature: 0xc7b33a49

Fatal error: invalid distance too far back

mevbg commented 8 years ago

Now I got a new one:

Fatal error: stream.push() after EOF

lukewilde commented 8 years ago

I'm seeing invalid signature intermittently using the same parameters / images. I'm having trouble figuring out what's wrong. It'd be great to get some more verbose feedback.

phbernard commented 8 years ago

I've followed the instructions of the result page ("Run npm install grunt-real-favicon --save-dev, etc") but I can't reproduce the issue. It just works.

Maybe we have a significant difference between our respective package versions. My sample project is rather light, npm ls dumps:

├─┬ grunt@1.0.1
│ ├── coffee-script@1.10.0
│ ├─┬ dateformat@1.0.12
│ │ ├── get-stdin@4.0.1
│ │ └─┬ meow@3.7.0
│ │   ├─┬ camelcase-keys@2.1.0
│ │   │ └── camelcase@2.1.1
│ │   ├── decamelize@1.2.0
│ │   ├─┬ loud-rejection@1.6.0
│ │   │ ├─┬ currently-unhandled@0.4.1
│ │   │ │ └── array-find-index@1.0.1
│ │   │ └── signal-exit@3.0.0
│ │   ├── map-obj@1.0.1
│ │   ├── minimist@1.2.0
│ │   ├─┬ normalize-package-data@2.3.5
│ │   │ ├── hosted-git-info@2.1.5
│ │   │ ├─┬ is-builtin-module@1.0.0
│ │   │ │ └── builtin-modules@1.1.1
│ │   │ ├── semver@5.3.0
│ │   │ └─┬ validate-npm-package-license@3.0.1
│ │   │   ├─┬ spdx-correct@1.0.2
│ │   │   │ └── spdx-license-ids@1.2.2
│ │   │   └── spdx-expression-parse@1.0.3
│ │   ├── object-assign@4.1.0
│ │   ├─┬ read-pkg-up@1.0.1
│ │   │ ├─┬ find-up@1.1.2
│ │   │ │ ├── path-exists@2.1.0
│ │   │ │ └─┬ pinkie-promise@2.0.1
│ │   │ │   └── pinkie@2.0.4
│ │   │ └─┬ read-pkg@1.1.0
│ │   │   ├─┬ load-json-file@1.1.0
│ │   │   │ ├── graceful-fs@4.1.6
│ │   │   │ ├─┬ parse-json@2.2.0
│ │   │   │ │ └─┬ error-ex@1.3.0
│ │   │   │ │   └── is-arrayish@0.2.1
│ │   │   │ ├── pify@2.3.0
│ │   │   │ ├─┬ pinkie-promise@2.0.1
│ │   │   │ │ └── pinkie@2.0.4
│ │   │   │ └─┬ strip-bom@2.0.0
│ │   │   │   └── is-utf8@0.2.1
│ │   │   └─┬ path-type@1.1.0
│ │   │     ├── graceful-fs@4.1.6
│ │   │     ├── pify@2.3.0
│ │   │     └─┬ pinkie-promise@2.0.1
│ │   │       └── pinkie@2.0.4
│ │   ├─┬ redent@1.0.0
│ │   │ ├─┬ indent-string@2.1.0
│ │   │ │ └─┬ repeating@2.0.1
│ │   │ │   └─┬ is-finite@1.0.1
│ │   │ │     └── number-is-nan@1.0.0
│ │   │ └── strip-indent@1.0.1
│ │   └── trim-newlines@1.0.0
│ ├── eventemitter2@0.4.14
│ ├── exit@0.1.2
│ ├─┬ findup-sync@0.3.0
│ │ └─┬ glob@5.0.15
│ │   ├─┬ inflight@1.0.5
│ │   │ └── wrappy@1.0.2
│ │   ├── inherits@2.0.1
│ │   └─┬ once@1.3.3
│ │     └── wrappy@1.0.2
│ ├─┬ glob@7.0.6
│ │ ├── fs.realpath@1.0.0
│ │ ├─┬ inflight@1.0.5
│ │ │ └── wrappy@1.0.2
│ │ ├── inherits@2.0.1
│ │ └─┬ once@1.3.3
│ │   └── wrappy@1.0.2
│ ├─┬ grunt-cli@1.2.0
│ │ └── resolve@1.1.7
│ ├── grunt-known-options@1.1.0
│ ├─┬ grunt-legacy-log@1.0.0
│ │ ├── colors@1.1.2
│ │ ├─┬ grunt-legacy-log-utils@1.0.0
│ │ │ ├─┬ chalk@1.1.3
│ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ ├── escape-string-regexp@1.0.5
│ │ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ │ └── ansi-regex@2.0.0
│ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ └── ansi-regex@2.0.0
│ │ │ │ └── supports-color@2.0.0
│ │ │ └── lodash@4.3.0
│ │ ├── hooker@0.2.3
│ │ ├── lodash@3.10.1
│ │ └── underscore.string@3.2.3
│ ├─┬ grunt-legacy-util@1.0.0
│ │ ├── async@1.5.2
│ │ ├── getobject@0.1.0
│ │ ├── hooker@0.2.3
│ │ ├── lodash@4.3.0
│ │ ├── underscore.string@3.2.3
│ │ └─┬ which@1.2.10
│ │   └── isexe@1.1.2
│ ├── iconv-lite@0.4.13
│ ├─┬ js-yaml@3.5.5
│ │ ├─┬ argparse@1.0.7
│ │ │ └── sprintf-js@1.0.3
│ │ └── esprima@2.7.3
│ ├─┬ minimatch@3.0.3
│ │ └─┬ brace-expansion@1.1.6
│ │   ├── balanced-match@0.4.2
│ │   └── concat-map@0.0.1
│ ├─┬ nopt@3.0.6
│ │ └── abbrev@1.0.9
│ ├── path-is-absolute@1.0.0
│ └── rimraf@2.2.8
└─┬ grunt-real-favicon@0.1.7
  ├── async@1.5.2
  ├─┬ fstream@1.0.10
  │ ├── graceful-fs@4.1.6
  │ ├── inherits@2.0.1
  │ ├─┬ mkdirp@0.5.1
  │ │ └── minimist@0.0.8
  │ └─┬ rimraf@2.5.4
  │   └─┬ glob@7.0.6
  │     ├── fs.realpath@1.0.0
  │     ├─┬ inflight@1.0.5
  │     │ └── wrappy@1.0.2
  │     ├─┬ minimatch@3.0.3
  │     │ └─┬ brace-expansion@1.1.6
  │     │   ├── balanced-match@0.4.2
  │     │   └── concat-map@0.0.1
  │     ├─┬ once@1.3.3
  │     │ └── wrappy@1.0.2
  │     └── path-is-absolute@1.0.0
  ├─┬ node-rest-client@1.8.0
  │ ├─┬ debug@2.2.0
  │ │ └── ms@0.7.1
  │ └─┬ xml2js@0.4.17
  │   ├── sax@1.2.1
  │   └─┬ xmlbuilder@4.2.1
  │     └── lodash@4.15.0
  └─┬ rfg-api@0.0.3
    ├─┬ metaparser@1.0.7
    │ ├─┬ cheerio@0.22.0
    │ │ ├─┬ css-select@1.2.0
    │ │ │ ├── boolbase@1.0.0
    │ │ │ ├── css-what@2.1.0
    │ │ │ ├─┬ domutils@1.5.1
    │ │ │ │ └── domelementtype@1.3.0
    │ │ │ └── nth-check@1.0.1
    │ │ ├─┬ dom-serializer@0.1.0
    │ │ │ └── domelementtype@1.1.3
    │ │ ├── entities@1.1.1
    │ │ ├─┬ htmlparser2@3.9.1
    │ │ │ ├── domelementtype@1.3.0
    │ │ │ ├── domhandler@2.3.0
    │ │ │ ├── domutils@1.5.1
    │ │ │ ├── inherits@2.0.1
    │ │ │ └─┬ readable-stream@2.1.5
    │ │ │   ├── buffer-shims@1.0.0
    │ │ │   ├── core-util-is@1.0.2
    │ │ │   ├── isarray@1.0.0
    │ │ │   ├── process-nextick-args@1.0.7
    │ │ │   ├── string_decoder@0.10.31
    │ │ │   └── util-deprecate@1.0.2
    │ │ ├── lodash.assignin@4.2.0
    │ │ ├── lodash.bind@4.2.1
    │ │ ├── lodash.defaults@4.2.0
    │ │ ├── lodash.filter@4.6.0
    │ │ ├── lodash.flatten@4.4.0
    │ │ ├── lodash.foreach@4.5.0
    │ │ ├── lodash.map@4.6.0
    │ │ ├── lodash.merge@4.6.0
    │ │ ├── lodash.pick@4.4.0
    │ │ ├── lodash.reduce@4.6.0
    │ │ ├── lodash.reject@4.6.0
    │ │ └── lodash.some@4.6.0
    │ └── underscore@1.8.3
    ├─┬ mkdirp@0.5.1
    │ └── minimist@0.0.8
    └─┬ unzip@0.1.11
      ├─┬ binary@0.3.0
      │ ├── buffers@0.1.1
      │ └─┬ chainsaw@0.1.0
      │   └── traverse@0.3.9
      ├─┬ fstream@0.1.31
      │ ├─┬ graceful-fs@3.0.11
      │ │ └── natives@1.1.0
      │ ├── inherits@2.0.1
      │ └─┬ rimraf@2.5.4
      │   └─┬ glob@7.0.6
      │     ├── fs.realpath@1.0.0
      │     ├─┬ inflight@1.0.5
      │     │ └── wrappy@1.0.2
      │     ├─┬ minimatch@3.0.3
      │     │ └─┬ brace-expansion@1.1.6
      │     │   ├── balanced-match@0.4.2
      │     │   └── concat-map@0.0.1
      │     ├─┬ once@1.3.3
      │     │ └── wrappy@1.0.2
      │     └── path-is-absolute@1.0.0
      ├─┬ match-stream@0.0.2
      │ └── buffers@0.1.1
      ├─┬ pullstream@0.4.1
      │ ├── over@0.0.5
      │ └── slice-stream@1.0.0
      ├─┬ readable-stream@1.0.34
      │ ├── core-util-is@1.0.2
      │ ├── inherits@2.0.1
      │ ├── isarray@0.0.1
      │ └── string_decoder@0.10.31
      └── setimmediate@1.0.4

What is yours?

lukewilde commented 8 years ago

Hmm, I just had a search for the error message online, and it looks like it's coming from rfg-api's unzip dependency which has a pile of unresolved issues.

Most users are switching to another module, unzip2.

Maybe we should raise it with rfg-api as it looks to be an upstream issue?

phbernard commented 8 years ago

Sounds promising. I've just released rfg-api 0.2.0, which relies on unzip2. As you are able to reproduce the issue, could you try this new version?

lukewilde commented 8 years ago

Fantastic! It was always intermittent so might take a while to confirm the fix. I'll upgrade now and will get back to you if it appears to be running smoothly. Thanks again.

lukewilde commented 8 years ago

Hmm, I wasn't able to replicate it using the rfg-api directly.

I'm not sure of the best way to go about this. I could test it via this module if we create a branch using rfg-api@0.2.0 that I can use in my project?

phbernard commented 8 years ago

A way of doing it is to get rfg-api directly and run its test by running mocha. This said, we have no guarantee that the unit tests actually raise the error with the previous version. So if you choose this route, you can:

Else, yes, you can branch and hack the Gulp plugin to use the latest version.

phbernard commented 8 years ago

I was wondering if one of you had the opportunity to run mocha to reproduce the issue and its fix?

lukewilde commented 8 years ago

No, I've not had time, but I do intend to follow up on this so thanks for the reminder.

jblarsen commented 8 years ago

I can add that in our setup we do not experience the error on Windows but only on Linux (Ubuntu).