w3c / webref

Machine-readable references of terms defined in web browser specifications
https://w3c.github.io/webref/
MIT License
302 stars 72 forks source link

Data curation: invalid IDL may trigger "Maximum call stack size exceeded" error #595

Open tidoust opened 2 years ago

tidoust commented 2 years ago

Data curation job currently fails with a "Maximum call stack size exceeded" error during generation of IDL names, see for instance https://github.com/w3c/webref/runs/6364928486

Re-generate the idlnames and idlnamesparsed folders
[warn] IDL Names - No definition found WebGLContextAttributes
[warn] IDL Names - No definition found WebGLRenderingContextBase
RangeError: Maximum call stack size exceeded
    at /home/runner/work/webref/webref/node_modules/reffy/src/cli/generate-idlnames.js:281:22
    at Set.forEach (<anonymous>)
    at /home/runner/work/webref/webref/node_modules/reffy/src/cli/generate-idlnames.js:281:14
    at Array.forEach (<anonymous>)
    at addDfns (/home/runner/work/webref/webref/node_modules/reffy/src/cli/generate-idlnames.js:277:34)
    at /home/runner/work/webref/webref/node_modules/reffy/src/cli/generate-idlnames.js:285:39
    at Array.forEach (<anonymous>)
    at addDfns (/home/runner/work/webref/webref/node_modules/reffy/src/cli/generate-idlnames.js:285:23)
    at /home/runner/work/webref/webref/node_modules/reffy/src/cli/generate-idlnames.js:285:39
    at Array.forEach (<anonymous>)
npm ERR! code 1
npm ERR! path /home/runner/work/webref/webref
npm ERR! command failed
npm ERR! command sh -c node tools/prepare-curated.js ed curated && node tools/prepare-packages.js curated packages
tidoust commented 2 years ago

Actually triggered by invalid IDL in the WebGL1 spec introduced 3 days ago, see https://github.com/KhronosGroup/WebGL/issues/3407. It would be good to catch that invalid IDL error before attempting to generate IDL names, especially if the net result is an endless loop that seems totally unrelated... Adjusting the bug title accordingly.