Bug 1840780 - Calibre won't run: fails with python traceback.
Summary: Calibre won't run: fails with python traceback.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: calibre
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kevin Fenzi
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1840290 1840432 1841572 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-05-27 15:46 UTC by Todd Warner
Modified: 2020-11-21 18:24 UTC (History)
15 users (show)

Fixed In Version: calibre-4.17.0-1.fc32
Clone Of:
Environment:
Last Closed: 2020-06-01 01:24:52 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Todd Warner 2020-05-27 15:46:01 UTC
Description of problem:
Calibre won't run. Fails with python traceback.

Version-Release number of selected component (if applicable):
4.13 (FYI, newest version via the calibre website is 4.17 if you guys end up refreshing this to fix the problem.)

How reproducible:
Always.


Steps to Reproduce:
1. sudo dnf install calibre -y
2. calibre
3. FAIL

Actual results:
[todd@localhost ~]$ calibre
Traceback (most recent call last):
  File "/usr/bin/calibre", line 20, in <module>
    sys.exit(calibre())
  File "/usr/lib64/calibre/calibre/gui_launch.py", line 72, in calibre
    main(args)
  File "/usr/lib64/calibre/calibre/gui2/main.py", line 542, in main
    listener = create_listener()
  File "/usr/lib64/calibre/calibre/gui2/main.py", line 513, in create_listener
    return Listener(address=gui_socket_address())
  File "/usr/lib64/calibre/calibre/utils/ipc/server.py", line 109, in __init__
    self._listener._unlink.cancel()
AttributeError: 'NoneType' object has no attribute 'cancel'

Comment 1 Kevin Fenzi 2020-05-27 21:03:29 UTC
I have no time currently to look into this, but perhaps one of my co-maintainers will do so.

Comment 2 Øystein Hiåsen 2020-05-28 22:34:17 UTC
The bug appears after upgrading to python 3.8.3.
I have confirmed that calibre 4.13 runs with python 3.8.2 by downgrading using "dnf downgrade python3".


I think I have found the source of the bug and it looks to be fixed in calibre 4.15
(https://github.com/kovidgoyal/calibre/commit/7b6416ac6522fc40f24f6baf3ca552b17a8b91d6)


The reason it happens after upgrading to python 3.8.3 is that python 3.8.3 added support for
abstract socket namespace in the multiprocessing library.
(https://bugs.python.org/issue39850)
And the line which raises the AttributeError is a workaround for the previous lack of support for abstract sockets.


So this bug should be fixable by packaging the newest calibre version (4.17).

Comment 3 Kevin Fenzi 2020-05-29 22:45:42 UTC
*** Bug 1841572 has been marked as a duplicate of this bug. ***

Comment 4 Kevin Fenzi 2020-05-29 22:45:51 UTC
*** Bug 1840432 has been marked as a duplicate of this bug. ***

Comment 5 Kevin Fenzi 2020-05-29 22:45:59 UTC
*** Bug 1840290 has been marked as a duplicate of this bug. ***

Comment 6 Kevin Fenzi 2020-05-29 22:59:07 UTC
Could someone try this scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=45155009 and confirm it fixes it for you?

I'll look at doing an offical build in a bit here...

Comment 7 Suvayu 2020-05-29 23:10:40 UTC
Hi Kevin, it fixes the problem for me.  Thanks for the quick fix!

Comment 8 Emmanuel Seyman 2020-05-29 23:33:01 UTC
(In reply to Suvayu from comment #7)
>
> Hi Kevin, it fixes the problem for me.

Same here. Thanks, Kevin!

Comment 9 Kevin Fenzi 2020-05-29 23:46:34 UTC
Great. Official build coming up...

Comment 10 william.garber 2020-05-30 00:47:03 UTC
thank you !!

Comment 11 Fedora Update System 2020-05-30 00:52:14 UTC
FEDORA-2020-37c359a64e has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-37c359a64e

Comment 12 william.garber 2020-05-30 15:07:37 UTC
how do I test it please?

Comment 13 Fedora Update System 2020-05-31 04:51:36 UTC
FEDORA-2020-37c359a64e has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-37c359a64e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-37c359a64e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Suvayu 2020-05-31 08:38:05 UTC
(In reply to william.garber from comment #12)
> how do I test it please?

If you follow the bodhi link, you will see a command line that's on top of the page.  That will install the update for you, then you can check if that resolves the bug and if it's generally functional.  You can leave feedback on the bodhi page.  When an update is published, it takes about a day to be available in the repositories (see the timestamps on the bodhi page).

Hope this helps.

Comment 15 william.garber 2020-05-31 14:48:26 UTC
it works so far.

Comment 16 Fedora Update System 2020-06-01 01:24:52 UTC
FEDORA-2020-37c359a64e has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 17 Eddie 2020-11-21 18:24:41 UTC
Similar problem has been detected:

Just installed Calibre using Discover software center and am not able to open it.

reporter:       libreport-2.13.1
cmdline:        /usr/bin/python3 /usr/bin/calibre --detach
crash_function: __init__
exception_type: AttributeError
executable:     /usr/bin/calibre
interpreter:    python3-3.8.6-1.fc32.x86_64
kernel:         5.8.16-200.fc32.x86_64
package:        calibre-4.13.0-1.fc32
reason:         server.py:109:__init__:AttributeError: 'NoneType' object has no attribute 'cancel'
runlevel:       N 5
type:           Python3
uid:            1000


Note You need to log in before you can comment on or make changes to this bug.