Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#define crashes the HTML generator #19

Open
oxysoft opened this issue Oct 24, 2023 · 0 comments
Open

#define crashes the HTML generator #19

oxysoft opened this issue Oct 24, 2023 · 0 comments

Comments

@oxysoft
Copy link

oxysoft commented Oct 24, 2023

I believe this is the specific block of XML generated by Doxygen which is causing Sphinx/Breathe to crash

    <sectiondef kind="define">
      <memberdef kind="define" id="_color_replacement_setter_8cs_1ad10dd27d12fbd568f6ee8088b11e36fb" prot="public" static="no">
        <name>COLOR_REPLACEMENT_SAFTEYCHECKS</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="Assets/Scripts/Overworld/Rendering/ColorReplacementSetter.cs" line="1" column="9" bodyfile="Assets/Scripts/Overworld/Rendering/ColorReplacementSetter.cs" bodystart="1" bodyend="-1"/>
      </memberdef>
    </sectiondef>

Here is the log produced

# Platform:         win32; (Windows-10-10.0.19045-SP0)
# Sphinx version:   7.2.5
# Python version:   3.10.11 (CPython)
# Docutils version: 0.20.1
# Jinja2 version:   3.1.2
# Pygments version: 2.16.1

# Last messages:
#   Docs_rst_gen/file/_color_in_out_v_f_x_8cs
#   
#   �[2K
#   reading sources... [ 49%]
#   Docs_rst_gen/file/_color_replacement_profile_8cs
#   
#   �[2K
#   reading sources... [ 49%]
#   Docs_rst_gen/file/_color_replacement_setter_8cs
#   

# Loaded extensions:
#   sphinx.ext.mathjax (7.2.5)
#   alabaster (0.7.13)
#   sphinxcontrib.applehelp (1.0.7)
#   sphinxcontrib.devhelp (1.0.5)
#   sphinxcontrib.htmlhelp (2.0.4)
#   sphinxcontrib.serializinghtml (1.1.9)
#   sphinxcontrib.qthelp (1.0.6)
#   breathe (4.35.0)
#   sphinx_csharp (unknown version)
#   sphinx_tippy (0.4.1)
#   furo (2023.09.10)
#   sphinx_basic_ng (1.0.0.beta2)

# Traceback:
Traceback (most recent call last):
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\cmd\build.py", line 298, in build_main
    app.build(args.force_all, args.filenames)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\application.py", line 355, in build
    self.builder.build_update()
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\builders\__init__.py", line 293, in build_update
    self.build(to_build,
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\builders\__init__.py", line 313, in build
    updated_docnames = set(self.read())
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\builders\__init__.py", line 420, in read
    self._read_serial(docnames)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\builders\__init__.py", line 441, in _read_serial
    self.read_doc(docname)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\builders\__init__.py", line 498, in read_doc
    publisher.publish()
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\core.py", line 234, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\io.py", line 105, in read
    self.parse()
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\readers\__init__.py", line 76, in parse
    self.parser.parse(self.input, document)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\sphinx\parsers.py", line 81, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 169, in run
    results = StateMachineWS.run(self, input_lines, input_offset,
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 2785, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 325, in section
    self.new_subsection(title, lineno, messages)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 391, in new_subsection
    newabsoffset = self.nested_parse(
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 279, in nested_parse
    state_machine.run(block, input_offset, memo=self.memo,
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 2355, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 2367, in explicit_construct
    return method(self, expmatch)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 2104, in directive
    return self.run_directive(
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\docutils\parsers\rst\states.py", line 2154, in run_directive
    result = directive_instance.run()
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\directives\file.py", line 83, in run
    return self.handle_contents(file_, project_info)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\directives\file.py", line 53, in handle_contents
    node_list.extend(object_renderer.render(node_stack[0], context))
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 2624, in render
    result = method(self, node)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 1360, in visit_compounddef
    child_nodes = self.render(sectiondef)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 2624, in render
    result = method(self, node)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 1407, in visit_sectiondef
    node_list.extend(self.render_iterable(member_def))
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 2634, in render_iterable
    output.extend(self.render(entry))
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 2624, in render
    result = method(self, node)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 2525, in dispatch_memberdef
    return self.visit_define(node)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 2080, in visit_define
    return self.handle_declaration(node, declaration, declarator_callback=add_definition)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 667, in handle_declaration
    nodes_ = self.run_directive(obj_type, declaration, content_callback, options)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 596, in run_directive
    directive = DomainDirectiveFactory.create(self.context.domain, args)
  File "C:\Users\nuck\AppData\Local\Programs\Python\Python310\lib\site-packages\breathe\renderer\sphinxrenderer.py", line 331, in create
    cls, name = DomainDirectiveFactory.cs_classes[args[0]]
KeyError: 'define'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant