Skip to content

9.6.15 mkdocs build assertion error #8308

Closed
@alechartung

Description

@alechartung

Context

Hitting an assertion error after upgrading to 9.6.15.

Seems to be an issue when a markdown file contains this string: `<>...</>`

Log:

$ mkdocs build
INFO    -  Cleaning site directory
INFO    -  Building documentation to directory: /home/alec/code/mkdocs-repro/site
ERROR   -  Error reading page 'index.md': we should not get here!
Traceback (most recent call last):
  File "/home/alec/code/mkdocs-repro/.venv/bin/mkdocs", line 10, in <module>
    sys.exit(cli())
             ^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/click/core.py", line 1442, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/click/core.py", line 1363, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/click/core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/click/core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/mkdocs/__main__.py", line 288, in build_command
    build.build(cfg, dirty=not clean)
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/mkdocs/commands/build.py", line 310, in build
    _populate_page(file.page, config, files, dirty)
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/mkdocs/commands/build.py", line 167, in _populate_page
    page.render(config, files)
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/mkdocs/structure/pages.py", line 285, in render
    self.content = md.convert(self.markdown)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/markdown/core.py", line 354, in convert
    self.lines = prep.run(self.lines)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/alec/code/mkdocs-repro/.venv/lib/python3.12/site-packages/mkdocs/structure/pages.py", line 529, in run
    parser.feed('\n'.join(lines))
  File "/usr/lib/python3.12/html/parser.py", line 111, in feed
    self.goahead(0)
  File "/usr/lib/python3.12/html/parser.py", line 171, in goahead
    k = self.parse_starttag(i)
        ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/html/parser.py", line 303, in parse_starttag
    endpos = self.check_for_whole_start_tag(i)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/html/parser.py", line 376, in check_for_whole_start_tag
    raise AssertionError("we should not get here!")
AssertionError: we should not get here!

Bug description

After upgrading to 9.6.15, our document build hits an assertion.
Downgrading to 9.6.14 fixes.

Related links

Reproduction

9.6.15-better-repro.zip

Steps to reproduce

  1. download + extract reproduction
  2. uv venv .venv
  3. uv pip install -r requirements.lock.txt
  4. remove info plugin
  5. uv run mkdocs build

Browser

No response

Before submitting

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssue reports a bugupstreamIssue must be taken upstream

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions