Node has recently made a change to the WASM interpreter that is causing errors in wasm-vips. The errors seem completely random and affect many modules, but the most affected module seems to be libspng which cannot decode even a simple png file.
The issue was introduced in Node 18.14.2 and 19.4.0. I was not able to reproduce this error in the Chromium browser, version 110.0.5481.177 and 112.0.5615.20.
The issue does not affect wasm-vips version 0.0.4, although I am not sure when exactly the issue was "introduced". Maybe with the switch to Meson for libvips? I know for sure that b24ca0b and later is affected.
I hope this is not OS-specific, but FYI I have only run these tests on Ubuntu 22.04, on an Intel 10th-gen x64 chip.
I noticed the errors while working on EWAB, but the test suite also reports errors on these versions:
Full test suite report
1) colour
cmyk:
vips::Error: unable to call colourspace
vips__file_open_read: unable to open file "cmyk" for reading
unix error: No such file or directory
profile_load: unable to load profile "cmyk"
at Wc (file:///home/anton/Documents/GitHub/wasm-vips/lib/vips-node.mjs:125:428)
at wasm://wasm/0152235e:wasm-function[4260]:0x1ae91f
at Nd.Image$colourspace (eval at Ge (file:///home/anton/Documents/GitHub/wasm-vips/lib/vips-node.mjs:162:242), <anonymous>:10:10)
at a.<computed> [as colourspace] (file:///home/anton/Documents/GitHub/wasm-vips/lib/vips-node.mjs:152:259)
at Context.<anonymous> (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_colour.js:212:21)
at process.processImmediate (node:internal/timers:475:21)
2) connection
image
writeToTarget
custom:
AssertionError: expected 242 to equal +0
+ expected - actual
-242
+0
at Context.<anonymous> (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_connection.js:161:55)
at process.processImmediate (node:internal/timers:475:21)
3) foreign
png:
AssertionError: expected +0 to be close to 38671 +/- 0.0001
at file:///home/anton/Documents/GitHub/wasm-vips/test/unit/helpers.js:181:33
at Array.forEach (<anonymous>)
at Module.assertAlmostEqualObjects (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/helpers.js:180:19)
at pngValid (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_foreign.js:396:15)
at fileLoader (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_foreign.js:79:5)
at Context.<anonymous> (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_foreign.js:402:5)
at process.processImmediate (node:internal/timers:475:21)
4) foreign
svgload:
vips::Error: unable to load from file ./images/logo.svgz
VipsForeignLoad: "./images/logo.svgz" is not a known file format
at Wc (file:///home/anton/Documents/GitHub/wasm-vips/lib/vips-node.mjs:125:428)
at wasm://wasm/0152235e:wasm-function[1301]:0x7e5ec
at Function.Image$newFromFile (eval at Ge (file:///home/anton/Documents/GitHub/wasm-vips/lib/vips-node.mjs:162:242), <anonymous>:8:10)
at a.<computed> [as newFromFile] (file:///home/anton/Documents/GitHub/wasm-vips/lib/vips-node.mjs:152:259)
at fileLoader (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_foreign.js:80:21)
at Context.<anonymous> (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_foreign.js:883:5)
at process.processImmediate (node:internal/timers:475:21)
5) resample
thumbnail:
AssertionError: expected 48.23111979166666 to be below 1
+ expected - actual
-48.23111979166666
+1
at Context.<anonymous> (file:///home/anton/Documents/GitHub/wasm-vips/test/unit/test_resample.js:268:82)
at process.processImmediate (node:internal/timers:475:21)
Pending fixes:
Node has recently made a change to the WASM interpreter that is causing errors in
wasm-vips. The errors seem completely random and affect many modules, but the most affected module seems to belibspngwhich cannot decode even a simple png file.The issue was introduced in Node
18.14.2and19.4.0. I was not able to reproduce this error in the Chromium browser, version110.0.5481.177and112.0.5615.20.The issue does not affect
wasm-vipsversion0.0.4, although I am not sure when exactly the issue was "introduced". Maybe with the switch to Meson forlibvips? I know for sure that b24ca0b and later is affected.I hope this is not OS-specific, but FYI I have only run these tests on Ubuntu 22.04, on an Intel 10th-gen x64 chip.
I noticed the errors while working on EWAB, but the test suite also reports errors on these versions:
Full test suite report
Pending fixes: