[Python-apps-team] Bug#942366: xml2rfc chokes on simple rfc draft
Dmitry Eremin-Solenikov
dbaryshkov at gmail.com
Tue Oct 15 11:08:23 BST 2019
Package: weasyprint
Version: 50-1
Severity: normal
weasyprint 50-1 makes `xml2rfc --pdf` fail on the following test
document. Downgrading to weasyprint 49-1 or removing any author from
cached reference file will make `xml2rfc --pdf` succeed. See attached
log file.
=========== CUT HERE draft-deremin-test.xml ================
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc comments="yes" ?>
<?rfc inline="yes" ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="info" docName="draft-deremin-test-00" ipr="trust200902">
<front>
<title abbrev="">Test Document </title>
<author fullname="Dmitry Eremin-Solenikov" initials="D." surname="Eremin-Solenikov">
<organization>Mentor Graphics (Ireland) Ltd.</organization>
<address>
<postal>
<street>Pevchesky lane, 12</street>
<city>Saint-Petersburg</city>
<region/>
<code>197046</code>
<country>Russian Federation</country>
</postal>
<email>dbaryshkov at gmail.com</email>
</address>
</author>
<date month="" year="2019"/>
<area>Security</area>
<workgroup>Internet Engineering Task Force</workgroup>
<abstract>
<t>Test document</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>This document supplements <xref target="RFC3280"/>.</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include='reference.RFC.3280.xml'?>
</references>
</back>
</rfc>
=========== CUT HERE draft-deremin-test.xml ================
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.2.0-3-amd64 (SMP w/12 CPU cores)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages weasyprint depends on:
ii libglib2.0-dev 2.62.1-1
ii libpango1.0-dev 1.42.4-7
ii python3 3.7.5-1
ii python3-cairocffi 0.9.0-3
ii python3-cairosvg 2.4.0-2
ii python3-cffi 1.12.3-1
ii python3-cssselect2 0.2.2-1
ii python3-html5lib 1.0.1-1
ii python3-pkg-resources 41.2.0-1
ii python3-pyphen 0.9.5-3
ii python3-tinycss2 1.0.2-1
ii shared-mime-info 1.10-1
weasyprint recommends no packages.
weasyprint suggests no packages.
-- no debconf information
-------------- next part --------------
Traceback (most recent call last):
File "/usr/bin/xml2rfc", line 11, in <module>
load_entry_point('xml2rfc==2.32.0', 'console_scripts', 'xml2rfc')()
File "/usr/lib/python3/dist-packages/xml2rfc/run.py", line 615, in main
writer.write(filename)
File "/usr/lib/python3/dist-packages/xml2rfc/writers/pdf.py", line 100, in write
pdf = self.pdf()
File "/usr/lib/python3/dist-packages/xml2rfc/writers/pdf.py", line 89, in pdf
pdf = writer.write_pdf(None, stylesheets=[ css, page_css ])
File "/usr/lib/python3/dist-packages/weasyprint/__init__.py", line 211, in write_pdf
font_config=font_config).write_pdf(
File "/usr/lib/python3/dist-packages/weasyprint/__init__.py", line 168, in render
font_config)
File "/usr/lib/python3/dist-packages/weasyprint/document.py", line 393, in _render
[Page(page_box, enable_hinting) for page_box in page_boxes],
File "/usr/lib/python3/dist-packages/weasyprint/document.py", line 393, in <listcomp>
[Page(page_box, enable_hinting) for page_box in page_boxes],
File "/usr/lib/python3/dist-packages/weasyprint/layout/__init__.py", line 126, in layout_document
pages = list(make_all_pages(context, root_box, html, pages))
File "/usr/lib/python3/dist-packages/weasyprint/layout/pages.py", line 803, in make_all_pages
page, resume_at = remake_page(i, context, root_box, html)
File "/usr/lib/python3/dist-packages/weasyprint/layout/pages.py", line 742, in remake_page
page_number, page_state)
File "/usr/lib/python3/dist-packages/weasyprint/layout/pages.py", line 553, in make_page
positioned_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 63, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 77, in block_level_layout_switch
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 130, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 510, in block_container_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 63, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 77, in block_level_layout_switch
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 130, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 510, in block_container_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 63, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 77, in block_level_layout_switch
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 130, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 510, in block_container_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 63, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 77, in block_level_layout_switch
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 130, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 510, in block_container_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 63, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 77, in block_level_layout_switch
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 130, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins)
File "/usr/lib/python3/dist-packages/weasyprint/layout/blocks.py", line 376, in block_container_layout
for line, resume_at in lines_iterator:
File "/usr/lib/python3/dist-packages/weasyprint/layout/inlines.py", line 53, in iter_line_boxes
absolute_boxes, fixed_boxes, first_letter_style)
File "/usr/lib/python3/dist-packages/weasyprint/layout/inlines.py", line 70, in get_next_linebox
skip_stack = skip_first_whitespace(linebox, skip_stack)
File "/usr/lib/python3/dist-packages/weasyprint/layout/inlines.py", line 210, in skip_first_whitespace
result = skip_first_whitespace(box.children[index], next_skip_stack)
File "/usr/lib/python3/dist-packages/weasyprint/layout/inlines.py", line 196, in skip_first_whitespace
assert next_skip_stack is None
AssertionError
make: *** [Makefile:18: draft-deremin-test.pdf] Error 1
More information about the Python-apps-team
mailing list