Skip to content

Bug when building a PDF document containing Mermaid graph using Gitlab CI #14166

@barriern

Description

@barriern

I have:

  • searched the issue tracker for similar issues
  • installed the latest version of Quarto CLI
  • formatted my issue following the Bug Reports guide

Bug description

Hi everyone.

When I try to build a PDF document from Quarto files containing Mermaid graphs, I encounter an issue.

The error messages are as follows:

[✓] Checking Julia installation...
build-pages $ export QUARTO_PRINT_STACK=true
build-pages $ quarto render doc --output-dir=public
[1/3] index.qmd
[2/3] developer.qmd
[3/3] developer/manager_initialization.qmd
build-pages > ERROR: AssertionError: 
build-pages > 
build-pages > Stack trace:
build-pages >     at assert (file:///opt/quarto/bin/quarto.js:470:11)
build-pages >     at assert7 (file:///opt/quarto/bin/quarto.js:68259:3)
build-pages >     at criClient (file:///opt/quarto/bin/quarto.js:68348:7)
build-pages >     at eventLoopTick (ext:core/01_core.js:218:9)
build-pages >     at async file:///opt/quarto/bin/quarto.js:68296:16
build-pages >     at async Semaphore.runExclusive (file:///opt/quarto/bin/quarto.js:67644:27)
build-pages >     at async Object.createPngsFromHtml (file:///opt/quarto/bin/quarto.js:68620:36)
build-pages >     at async Object.cell (file:///opt/quarto/bin/quarto.js:132394:11)
build-pages >     at async Promise.all (index 0)
build-pages >     at async Object.document (file:///opt/quarto/bin/quarto.js:69029:25)
build-pages >     at async handleLanguageCells (file:///opt/quarto/bin/quarto.js:68829:34)
build-pages >     at async file:///opt/quarto/bin/quarto.js:136718:41
build-pages >     at async withTimingAsync (file:///opt/quarto/bin/quarto.js:15978:21)
build-pages >     at async renderFileInternal (file:///opt/quarto/bin/quarto.js:136717:9)
build-pages >     at async renderFiles (file:///opt/quarto/bin/quarto.js:136483:9)
build-pages >     at async renderProject (file:///opt/quarto/bin/quarto.js:137052:23)
build-pages >     at async _Command.actionHandler (file:///opt/quarto/bin/quarto.js:142382:24)
build-pages >     at async _Command.execute (file:///opt/quarto/bin/quarto.js:102005:7)
build-pages >     at async _Command.parseCommand (file:///opt/quarto/bin/quarto.js:101882:14)
build-pages >     at async quarto4 (file:///opt/quarto/bin/quarto.js:187491:5)
build-pages >     at async file:///opt/quarto/bin/quarto.js:187519:5
build-pages >     at async file:///opt/quarto/bin/quarto.js:187374:14
build-pages >     at async mainRunner (file:///opt/quarto/bin/quarto.js:187376:5)
build-pages >     at async file:///opt/quarto/bin/quarto.js:187512:3
build-pages > Error occurred during cleanup: TypeError: Child process has already terminated
build-pages finished in 19 s  FAIL 1 

 FAIL  build-pages
  >     at async mainRunner (file:///opt/quarto/bin/quarto.js:187376:5)
  >     at async file:///opt/quarto/bin/quarto.js:187512:3
  > Error occurred during cleanup: TypeError: Child process has already terminated
pipeline finished in 19 s

If I remove any reference to Mermaid it works. And if I build only the HTML without the PDF it works too. This issue was tested on the following simple project: https://forge.ird.fr/marbec/ichthyop/test-gitlab-ichthyop

Log messages are here: https://forge.ird.fr/marbec/ichthyop/test-gitlab-ichthyop/-/jobs/246132

Thanks for your help

Nicolas

Steps to reproduce

You can clone the repository:

git clone https://forge.ird.fr/marbec/ichthyop/test-gitlab-ichthyop.git

And on Linux, you can simply download the gitlab-local-ci tool and run, within the proper folder:

gitlab-ci-local

Actual behavior

No response

Expected behavior

No response

Your environment

No response

Quarto check output

The quarto check command returns:

build-pages $ quarto check
build-pages > Quarto 1.9.29
[✓] Checking environment information...
build-pages >       Quarto cache location: /root/.cache/quarto
[✓] Checking versions of quarto binary dependencies...
build-pages >       Pandoc version 3.8.3: OK
build-pages >       Dart Sass version 1.87.0: OK
build-pages >       Deno version 2.4.5: OK
build-pages >       Typst version 0.14.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
build-pages >       Version: 1.9.29
build-pages >       Path: /opt/quarto/bin
build-pages > 
[✓] Checking tools....................OK
build-pages >       TinyTeX: (external install)
build-pages >       Chrome Headless Shell: 146.0.7680.66
build-pages >       Chromium: (not installed)
build-pages >       VeraPDF: (not installed)
build-pages > 
[✓] Checking LaTeX....................OK
build-pages >       Using: Installation From Path
build-pages >       Path: /usr/local/bin
build-pages >       Version: 2026
build-pages > 
[✓] Checking Chrome Headless....................OK
build-pages >       Using: Chrome Headless Shell installed by Quarto
build-pages >       Path: /root/.local/share/quarto/chrome-headless-shell/chrome-headless-shell-linux64/chrome-headless-shell
build-pages >       Version: 146.0.7680.66
build-pages > 
[✓] Checking basic markdown render....OK
build-pages > 
[✓] Checking R installation...........OK
build-pages >       Version: 4.3.3
build-pages >       Path: /opt/R/4.3.3/lib/R
build-pages >       LibPaths:
build-pages >         - /opt/R/4.3.3/lib/R/library
build-pages >       knitr: (None)
build-pages >       rmarkdown: (None)
build-pages > 
build-pages >       The knitr package is not available in this R installation.
build-pages >       Install with install.packages("knitr")
build-pages >       The rmarkdown package is not available in this R installation.
build-pages >       Install with install.packages("rmarkdown")
build-pages > 
[✓] Checking Python 3 installation....(None)
build-pages > 
build-pages >       Unable to locate an installed version of Python 3.
build-pages >       Install Python 3 from https://www.python.org/downloads/
build-pages > 
[✓] Checking Julia installation...

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingchromiumdiagramsAbout Diagram Quarto featuretriaged-toIssues that were not self-assigned, signals that an issue was assigned to someone.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions