Converting CHM to X (epub or pdf) no longer working. Input Error in chm.py?

Bug #1796889 reported by Marcus Davis
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
calibre
Fix Released
Undecided
Unassigned

Bug Description

I have tried over 10 different chm files on both mac and windows.
Failed Conversion see Error log below:

calibre, version 3.32.0 (darwin, embedded-python: True)
Conversion error: Failed: Convert book 1 of 1 (ChmTitle)

Convert book 1 of 1 (ChmTitle)
Conversion options changed from defaults:
  cover: u'/var/folders/k0/5cmy0ntx6qv6t5vkcfdzpb0m0000gn/C/calibre_3.32.0_tmp_6SQxnm/sApkP4.jpeg'
  read_metadata_from_opf: u'/var/folders/k0/5cmy0ntx6qv6t5vkcfdzpb0m0000gn/C/calibre_3.32.0_tmp_6SQxnm/EjI0l3.opf'
  verbose: 2
Resolved conversion options
calibre version: 3.32.0
{'asciiize': False,
 'author_sort': None,
 'authors': None,
 'base_font_size': 0.0,
 'book_producer': None,
 'change_justification': u'original',
 'chapter': u"//*[((name()='h1' or name()='h2') and re:test(., '\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))', 'i')) or @class = 'chapter']",
 'chapter_mark': u'pagebreak',
 'comments': None,
 'cover': u'/var/folders/k0/5cmy0ntx6qv6t5vkcfdzpb0m0000gn/C/calibre_3.32.0_tmp_6SQxnm/sApkP4.jpeg',
 'debug_pipeline': None,
 'dehyphenate': True,
 'delete_blank_paragraphs': True,
 'disable_font_rescaling': False,
 'dont_split_on_page_breaks': False,
 'duplicate_links_in_toc': False,
 'embed_all_fonts': False,
 'embed_font_family': None,
 'enable_heuristics': False,
 'epub_flatten': False,
 'epub_inline_toc': False,
 'epub_toc_at_end': False,
 'epub_version': u'2',
 'expand_css': False,
 'extra_css': None,
 'extract_to': None,
 'filter_css': u'',
 'fix_indents': True,
 'flow_size': 260,
 'font_size_mapping': None,
 'format_scene_breaks': True,
 'html_unwrap_factor': 0.4,
 'input_encoding': None,
 'input_profile': <calibre.customize.profiles.InputProfile object at 0x107fe5710>,
 'insert_blank_line': False,
 'insert_blank_line_size': 0.5,
 'insert_metadata': False,
 'isbn': None,
 'italicize_common_cases': True,
 'keep_ligatures': False,
 'language': None,
 'level1_toc': None,
 'level2_toc': None,
 'level3_toc': None,
 'line_height': 0.0,
 'linearize_tables': False,
 'margin_bottom': 5.0,
 'margin_left': 5.0,
 'margin_right': 5.0,
 'margin_top': 5.0,
 'markup_chapter_headings': True,
 'max_toc_links': 50,
 'minimum_line_height': 120.0,
 'no_chapters_in_toc': False,
 'no_default_epub_cover': False,
 'no_inline_navbars': False,
 'no_svg_cover': False,
 'output_profile': <calibre.customize.profiles.OutputProfile object at 0x107fe5ad0>,
 'page_breaks_before': u"//*[name()='h1' or name()='h2']",
 'prefer_metadata_cover': False,
 'preserve_cover_aspect_ratio': False,
 'pretty_print': True,
 'pubdate': None,
 'publisher': None,
 'rating': None,
 'read_metadata_from_opf': u'/var/folders/k0/5cmy0ntx6qv6t5vkcfdzpb0m0000gn/C/calibre_3.32.0_tmp_6SQxnm/EjI0l3.opf',
 'remove_fake_margins': True,
 'remove_first_image': False,
 'remove_paragraph_spacing': False,
 'remove_paragraph_spacing_indent_size': 1.5,
 'renumber_headings': True,
 'replace_scene_breaks': u'',
 'search_replace': '[]',
 'series': None,
 'series_index': None,
 'smarten_punctuation': False,
 'sr1_replace': None,
 'sr1_search': None,
 'sr2_replace': None,
 'sr2_search': None,
 'sr3_replace': None,
 'sr3_search': None,
 'start_reading_at': None,
 'subset_embedded_fonts': False,
 'tags': None,
 'timestamp': None,
 'title': None,
 'title_sort': None,
 'toc_filter': None,
 'toc_threshold': 6,
 'toc_title': None,
 'transform_css_rules': '[]',
 'unsmarten_punctuation': False,
 'unwrap_lines': True,
 'use_auto_toc': False,
 'verbose': 2}
Python function terminated unexpectedly: Objects/longobject.c:998: bad argument to internal function
InputFormatPlugin: CHM Input running
on /var/folders/k0/5cmy0ntx6qv6t5vkcfdzpb0m0000gn/C/calibre_3.32.0_tmp_6SQxnm/oY51lr.chm
Processing CHM...
tdir=/var/folders/k0/5cmy0ntx6qv6t5vkcfdzpb0m0000gn/C/calibre_3.32.0_tmp_6SQxnm/0OEay5_chm2oeb
stream.name=/var/folders/k0/5cmy0ntx6qv6t5vkcfdzpb0m0000gn/C/calibre_3.32.0_tmp_6SQxnm/oY51lr.chm
Opening CHM file
Traceback (most recent call last):
  File "/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py", line 154, in main
    return run_entry_point()
  File "/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py", line 114, in run_entry_point
    return getattr(pmod, func)()
  File "site-packages/calibre/utils/ipc/worker.py", line 199, in main
  File "site-packages/calibre/gui2/convert/gui_conversion.py", line 42, in gui_convert_override
  File "site-packages/calibre/gui2/convert/gui_conversion.py", line 27, in gui_convert
  File "site-packages/calibre/ebooks/conversion/plumber.py", line 1106, in run
  File "site-packages/calibre/customize/conversion.py", line 244, in __call__
  File "site-packages/calibre/ebooks/conversion/plugins/chm_input.py", line 55, in convert
  File "site-packages/calibre/ebooks/conversion/plugins/chm_input.py", line 24, in _chmtohtml
  File "site-packages/calibre/ebooks/chm/reader.py", line 51, in __init__
  File "site-packages/calibre/utils/chm/chm.py", line 221, in LoadCHM
  File "site-packages/calibre/utils/chm/chm.py", line 257, in GetArchiveInfo
SystemError: Objects/longobject.c:998: bad argument to internal function

Tags: chm convert
Revision history for this message
Kovid Goyal (kovid) wrote : Re: calibre bug 1796889

This is a bug in chmlib (the library that calibre uses to process CHM
files). Sadly this library is not maintained anymore. It's on my TODO
list to take over maintenance of it, if possible, but given the
constraints on my time, it may not happen anytime soon.

Revision history for this message
Graham Wheeler (t-gram) wrote :

This also affects viewing CHM files with the included ebook-viewer as that goes through the same code path.

Revision history for this message
Graham Wheeler (t-gram) wrote :

I wonder if this was not introduced by this commit in 3.32: https://github.com/kovidgoyal/calibre/commit/0889ee85ec8b0716347c8d2bc40f2f2dc01eda8c

That took the 'l' suffix off the numeric arguments which looks like it was done as part of a Python 2 to 3 upgrade process, but if Python 2 is still being used may have something to do with it?

Revision history for this message
Graham Wheeler (t-gram) wrote :

I've confirmed that reverting the change to chm.py that was made in that pull request fixes the problem.

Revision history for this message
Kovid Goyal (kovid) wrote : Fixed in master

Fixed in branch master. The fix will be in the next release. calibre is usually released every alternate Friday.

 status fixreleased

Changed in calibre:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.