nodeca / pica

Resize image in browser with high quality and high speed

Home Page:http://nodeca.github.io/pica/demo/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Occasional NS_ERROR_FAILURE in Firefox in Pica 9.0.1

DanielStout5 opened this issue · comments

This could be a bug in Firefox (version 108.0.1) but I'm getting this error sometimes while processing a sequence of image resizes:

Exception { name: "NS_ERROR_FAILURE", message: "", result: 2147500037, filename: "webpack-internal:///./node_modules/pica/dist/pica.js", lineNumber: 2203, columnNumber: 0, data: null, stack: "[\"/index.js\"]</Pica.prototype.__landTileData@webpack-internal:///./node_modules/pica/dist/pica.js:2203:20\nprocessTile/</<@webpack-internal:///./node_modules/pica/dist/pica.js:2248:23\npromise callback*processTile/<@webpack-internal:///./node_modules/pica/dist/pica.js:2245:10\nlimit/</<@webpack-internal:///./node_modules/pica/dist/pica.js:1103:9\nroll@webpack-internal:///./node_modules/pica/dist/pica.js:1096:20\nlimit/<@webpack-internal:///./node_modules/pica/dist/pica.js:1113:7\nlimit@webpack-internal:///./node_modules/pica/dist/pica.js:1101:12\nprocessTile@webpack-internal:///./node_modules/pica/dist/pica.js:2220:19\n[\"/index.js\"]</Pica.prototype.__tileAndResize/</jobs<@webpack-internal:///./node_modules/pica/dist/pica.js:2302:14\n[\"/index.js\"]</Pica.prototype.__tileAndResize/<@webpack-internal:///./node_modules/pica/dist/pica.js:2301:24\npromise callback*[\"/index.js\"]</Pica.prototype.__tileAndResize@webpack-internal:///./node_modules/pica/dist/pica.js:2284:6\n[\"/index.js\"]</Pica.prototype.__processStages@webpack-internal:///./node_modules/pica/dist/pica.js:2358:15\n[\"/index.js\"]</Pica.prototype.resize/<@webpack-internal:///./node_modules/pica/dist/pica.js:2489:19\npromise callback*[\"/index.js\"]</Pica.prototype.resize@webpack-internal:///./node_modules/pica/dist/pica.js:2468:22\n_callee5$@webpack-internal:///./src/util.js:975:52\ntryCatch@webpack-internal:///./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js:119:17\nwrap/generator._invoke</<@webpack-internal:///./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js:99:32\ndefineIteratorMethods/

There's no proper message attached to the exception, just a stacktrace.

The code doing the resizing is pretty simple:

  let canv = document.createElement("canvas");
  canv.width = width;
  canv.height = height;
  let newCanv = pica.resize(img, canv);
  return pica.toBlob(newCanv, "image/jpeg", 0.9);