Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

AssertionError: we should not get here! from html.parser with Python 3.13.5 #4001

Copy link
Copy link
@Lucas-C

Description

@Lucas-C
Issue body actions

Hi!

Here is a minimal reproduction case:

  • mkdocs.yml:
site_name: fpdf2

docs_dir: docs/
site_dir: public/

nav:
- 'Project Home': 'index.md'
  • docs/index.md:
The PDF object as an `obj<</>>endobj` text block.

When calling: python -m mkdocs serve --open

I get this error:

$ python -m mkdocs serve --open
INFO    -  Building documentation...
INFO    -  Cleaning site directory
ERROR   -  Error reading page 'index.md': we should not get here!
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/__main__.py", line 370, in <module>
    cli()
    ~~~^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/click/core.py", line 1442, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/click/core.py", line 1363, in main
    rv = self.invoke(ctx)
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/click/core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/click/core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/__main__.py", line 272, in serve_command
    serve.serve(**kwargs)
    ~~~~~~~~~~~^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/commands/serve.py", line 85, in serve
    builder(config)
    ~~~~~~~^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/commands/serve.py", line 67, in builder
    build(config, serve_url=None if is_clean else serve_url, dirty=is_dirty)
    ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/commands/build.py", line 310, in build
    _populate_page(file.page, config, files, dirty)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/commands/build.py", line 167, in _populate_page
    page.render(config, files)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/structure/pages.py", line 285, in render
    self.content = md.convert(self.markdown)
                   ~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/markdown/core.py", line 354, in convert
    self.lines = prep.run(self.lines)
                 ~~~~~~~~^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/site-packages/mkdocs/structure/pages.py", line 529, in run
    parser.feed('\n'.join(lines))
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/html/parser.py", line 129, in feed
    self.goahead(0)
    ~~~~~~~~~~~~^^^
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/html/parser.py", line 189, in goahead
    k = self.parse_starttag(i)
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/html/parser.py", line 321, in parse_starttag
    endpos = self.check_for_whole_start_tag(i)
  File "/home/user/.pyenv/versions/3.13.5/lib/python3.13/html/parser.py", line 394, in check_for_whole_start_tag
    raise AssertionError("we should not get here!")
AssertionError: we should not get here!

Environment

$ python --version
Python 3.13.5

$ python -m pip freeze | grep mkdocs
mkdocs==1.6.1
alechartung and nanawel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.