Bug 989538
Summary: | [abrt] calibre-0.9.34-1.fc19: input.py:251:filter_load:AttributeError: Extract instance has no attribute '_walknode' | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Bernd Gloss <bgs> | ||||||||
Component: | calibre | Assignee: | Kevin Fenzi <kevin> | ||||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | unspecified | Docs Contact: | |||||||||
Priority: | unspecified | ||||||||||
Version: | 19 | CC: | aquarichy, chkr, d33tah, dgunchev, frankly3d, kevin, mbacovsk, nushio, samuel-rhbugs, stickster | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Unspecified | ||||||||||
Whiteboard: | abrt_hash:1f8fe6a2ba24dde39c1b6f5b2bf02730dd39375c | ||||||||||
Fixed In Version: | odfpy-0.9.6-1.fc19 | Doc Type: | Bug Fix | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2014-05-03 19:53:54 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Description
Bernd Gloss
2013-07-29 13:32:22 UTC
Created attachment 779892 [details]
File: backtrace
Created attachment 779893 [details]
File: core_backtrace
Created attachment 779894 [details]
File: environ
Can you see if the problem persists with the 0.9.42 version from my side repo? su cd /etc/yum.repos.d/ wget http://repos.fedorapeople.org/repos/kevin/calibre/fedora-calibre.repo yum clean all yum update calibre in a first test: no difference will check it next with a fresh installation of my configuration in a virtual machine. okay... tested it with your side repository a second time in a fresh F19 installation (KDE) ... same error occurs. Then, I removed calibre in this machine and installed one from the original project page http://calibre-ebook.com/download_linux. There, the conversion was successful. ok. I will try and track this down, thanks for the info... Description of problem: Trying to convert any odt file gets this error. Version-Release number of selected component: calibre-1.7.0-1.fc19 Additional info: reporter: libreport-2.1.9 cmdline: python2 /usr/bin/calibre-parallel executable: /usr/bin/calibre-parallel kernel: 3.11.6-200.fc19.x86_64 runlevel: N 5 type: Python uid: 1000 Truncated backtrace: input.py:251:filter_load:AttributeError: Extract instance has no attribute '_walknode' Traceback (most recent call last): File "/usr/bin/calibre-parallel", line 20, in <module> sys.exit(main()) File "/usr/lib64/calibre/calibre/utils/ipc/worker.py", line 188, in main result = func(*args, **kwargs) File "/usr/lib64/calibre/calibre/gui2/convert/gui_conversion.py", line 31, in gui_convert_override override_input_metadata=True) File "/usr/lib64/calibre/calibre/gui2/convert/gui_conversion.py", line 25, in gui_convert plumber.run() File "/usr/lib64/calibre/calibre/ebooks/conversion/plumber.py", line 1035, in run accelerators, tdir) File "/usr/lib64/calibre/calibre/customize/conversion.py", line 241, in __call__ log, accelerators) File "/usr/lib64/calibre/calibre/ebooks/conversion/plugins/odt_input.py", line 23, in convert return Extract()(stream, '.', log) File "/usr/lib64/calibre/calibre/ebooks/odt/input.py", line 268, in __call__ self.filter_load(stream, mi, log) File "/usr/lib64/calibre/calibre/ebooks/odt/input.py", line 251, in filter_load self._walknode(self.document.topnode) AttributeError: Extract instance has no attribute '_walknode' Local variables in innermost frame: odffile: <open file u'/tmp/calibre_1.7.0_tmp_NaQihY/v6fem4.odt', mode 'rb' at 0x1fd1810> self: <calibre.ebooks.odt.input.Extract instance at 0x1ffb6c8> mi: <calibre.ebooks.metadata.book.base.Metadata object at 0x2378290> log: <calibre.utils.logging.Log object at 0x1c9fad0> Description of problem: was trying to convert an odt file generated by google docs, with user comments inside. Version-Release number of selected component: calibre-0.9.42-1.fc19 Additional info: reporter: libreport-2.1.7 cmdline: python2 /usr/bin/calibre-parallel executable: /usr/bin/calibre-parallel kernel: 3.9.6-200.fc18.x86_64 runlevel: N 5 type: Python uid: 1000 Truncated backtrace: input.py:251:filter_load:AttributeError: Extract instance has no attribute '_walknode' Traceback (most recent call last): File "/usr/bin/calibre-parallel", line 20, in <module> sys.exit(main()) File "/usr/lib64/calibre/calibre/utils/ipc/worker.py", line 188, in main result = func(*args, **kwargs) File "/usr/lib64/calibre/calibre/gui2/convert/gui_conversion.py", line 31, in gui_convert_override override_input_metadata=True) File "/usr/lib64/calibre/calibre/gui2/convert/gui_conversion.py", line 25, in gui_convert plumber.run() File "/usr/lib64/calibre/calibre/ebooks/conversion/plumber.py", line 1023, in run accelerators, tdir) File "/usr/lib64/calibre/calibre/customize/conversion.py", line 241, in __call__ log, accelerators) File "/usr/lib64/calibre/calibre/ebooks/conversion/plugins/odt_input.py", line 23, in convert return Extract()(stream, '.', log) File "/usr/lib64/calibre/calibre/ebooks/odt/input.py", line 268, in __call__ self.filter_load(stream, mi, log) File "/usr/lib64/calibre/calibre/ebooks/odt/input.py", line 251, in filter_load self._walknode(self.document.topnode) AttributeError: Extract instance has no attribute '_walknode' Local variables in innermost frame: odffile: <open file u'/tmp/calibre_0.9.42_tmp_4zLLAC/EdIm5h.odt', mode 'rb' at 0x1db7810> self: <calibre.ebooks.odt.input.Extract instance at 0x1e26128> mi: <calibre.ebooks.metadata.book.base.Metadata object at 0x2155ad0> log: <calibre.utils.logging.Log object at 0x1a95250> I recompiled the latest version for F19 and it still has the same problem. What's happening is that the ODT converter is using an internal function call from pyodf that has been removed. So the converter needs to be fixed. Looks like this is the upstream report: https://bugs.launchpad.net/calibre/+bug/1154780 , but "I do not provide support for people using distro provided packages." :-) The latest upstream binary distribution 1.10.0 works, but recompiling locally does not. After having some debug fun it turns out it requires odfpy 0.9.6 or something like that, Fedora ships 0.9.2, which does not work (no _walk* method in odf2xhtml.py). I recompiled locally calibre 1.10.0 and odfpy 0.9.6 and it works fine. In short: odfpy-0.9.6 is the fix. Excellent detective work Doncho. ;) I'm adding the odfpy maintainer to cc here for comment. Hopefully they can do an update or are willing to let me do one. Months later, calibre in Fedora 20 still fails to convert to epub due to this. odfpy-0.9.6-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/odfpy-0.9.6-1.fc20 odfpy-0.9.6-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/odfpy-0.9.6-1.fc19 Package odfpy-0.9.6-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing odfpy-0.9.6-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-5598/odfpy-0.9.6-1.fc20 then log in and leave karma (feedback). odfpy-0.9.6-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. odfpy-0.9.6-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report. |