Project

General

Profile

Bug #20223

rbd.ImageNotFound: __init__() takes exactly 3 positional arguments, 1 given

Added by Sebastian Wagner 6 months ago. Updated 6 months ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
06/08/2017
Due date:
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Release:
Needs Doc:
No

Description

While investigating https://tracker.openattic.org/browse/OP-2311, I came across this lines:

File "rbd.pyx", line 390, in rbd.OSError.__init__ (ceph-12.0.3+git.1495798013.23dd2b67dc/build/src/pybind/rbd/pyrex/rbd.c:2257)
    TypeError: ('__init__() takes exactly 3 positional arguments (1 given)', <class 'rbd.ImageNotFound'>, ())

This looks as if `rbd.ImageNotFound` is called with too few arguments.

History

#1 Updated by Sebastian Wagner 6 months ago

<jdillaman> sebastian-w: I wonder if the issue is that the new rbd.OSError is not picklable for the multiprocessing.Pipe.send/recv methods
<jdillaman> sebastian-w: yup -- that's the problem

#2 Updated by Jason Dillaman 6 months ago

OpenAttic serializes the exception via multiprocessing pipes. The new OSError exception cannot be properly serialized/deserialzied and results in an error.

#3 Updated by Jason Dillaman 6 months ago

  • Status changed from New to In Progress
  • Assignee set to Jason Dillaman

#4 Updated by Jason Dillaman 6 months ago

  • Status changed from In Progress to Need Review

#5 Updated by Mykola Golub 6 months ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF