quarto-dev / quarto-cli

Open-source scientific and technical publishing system built on Pandoc.
https://quarto.org
Other
3.89k stars 320 forks source link

Quarto fails for `nbdev` starting with 1.3.181 #4295

Closed xl0 closed 1 year ago

xl0 commented 1 year ago

Bug description

I'm not exactly sure what is the culprit. Steps to reproduce:

[ 1/42] index.qmd
[ 2/42] explanations/index.qmd
WARNING: File /ssd/xl0/work/code/nbdev/_proc/explanations/config.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/explanations/why_nbdev.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/explanations/directives.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/explanations/docs.ipynb in the listing 'listing' contains no metadata.
[ 3/42] explanations/config.ipynb
[ 4/42] explanations/why_nbdev.ipynb
[ 5/42] explanations/directives.ipynb
[ 6/42] explanations/docs.ipynb
[ 7/42] blog/index.qmd
[ 8/42] blog/posts/2022-07-28-nbdev2/index.qmd
[ 9/42] blog/posts/2022-11-07-spaces/index.qmd

Starting python3 kernel...Done

Executing 'index.ipynb'
  Cell 1/1...Done

[10/42] blog/posts/2022-08-25-jupyter-git/index.qmd
[11/42] getting_started.ipynb
[12/42] migrating.ipynb
[13/42] api/01_config.ipynb
[14/42] api/17_serve.ipynb
[15/42] api/index.qmd
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/01_config.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/17_serve.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/12_test.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/07_merge.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/18_release.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/02_maker.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/08_showdoc.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/09_frontmatter.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/03_process.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/05_doclinks.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/14_quarto.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/11_clean.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/16_migrate.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/15_qmd.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/06_sync.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/04_export.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/10_processors.ipynb in the listing 'listing' contains no metadata.
WARNING: File /ssd/xl0/work/code/nbdev/_proc/api/13_cli.ipynb in the listing 'listing' contains no metadata.
[16/42] api/12_test.ipynb
[17/42] api/07_merge.ipynb
[18/42] api/18_release.ipynb
[19/42] api/02_maker.ipynb
[20/42] api/08_showdoc.ipynb
[21/42] api/09_frontmatter.ipynb
[22/42] api/03_process.ipynb
[23/42] api/05_doclinks.ipynb
[24/42] api/14_quarto.ipynb
[25/42] api/11_clean.ipynb
[26/42] api/16_migrate.ipynb
[27/42] api/15_qmd.ipynb
[28/42] api/06_sync.ipynb
[29/42] api/04_export.ipynb
[30/42] api/10_processors.ipynb
[31/42] api/13_cli.ipynb
[32/42] tutorials/qmd_intro.qmd

Starting python3 kernel...Done

Executing 'qmd_intro.ipynb'
  Cell 1/1...Done

[33/42] tutorials/tutorial.ipynb
ERROR: Internal Error: Couldn't resolve width and height of SVG

I hope this rings a bell immediately and we don't have to dig deeper into the intimate nbdev-quarto interactions.

I'm seeing the same thing locally and also on GitHub CI, so don't think this is specific to any Linux version in particular. Version 1.3.178 works fine.

Checklist

cscheid commented 1 year ago

Thanks for the tight bracketing on the good/bad versions. I'll take a look at this right away.

cscheid commented 1 year ago

This is caused by the upgrade of the deno_dom library from 0.20.0 to 0.35.0, specifically 5b3e0d79faf8b4a27df49f383088f207c9f4ffca.

cscheid commented 1 year ago

This appears to be an upstream bug on deno_dom: https://github.com/b-fuze/deno-dom/issues/133. We'll try to work around it for now.

cscheid commented 1 year ago

@xl0 Thanks for the report! We're now working around that deno_dom bug, and new quarto prerelease installers are being built. I hope you don't mind that I added the failing .ipynb to our regression suite so we keep track of this forever.