Project

General

Profile

Support #23005

Implement rados for Python library with some problem

Added by Chen BO-YU over 3 years ago. Updated over 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
% Done:

0%

Tags:
Reviewed:
Affected Versions:
Component(RADOS):
librados
Pull request ID:

Description

Hi all,

This is my first time to be here.

I use the ceph raods library to implement customize python code, and using pyinstaller to build executable file.
After, I run the executable file that suffer the exception.

[test.py]

#!/usr/bin/env python3
# coding=UTF-8
import rados

if __name__ == '__main__':
    cluster = rados.Rados(conffile = "/etc/ceph/ceph.conf", 
                          conf = dict (keyring = "/etc/ceph/ceph.client.admin.keyring"))
    cluster.connect()

[pyinstaller command]

pyinstaller -F test.py

[execute the file]

./test.exe

[suffer exception]

/build/ceph-12.2.2/src/common/ceph_crypto.cc: In function 'void ceph::crypto::init(CephContext*)' thread 7fe76d167700 time 2018-02-15 07:20:36.633068
/build/ceph-12.2.2/src/common/ceph_crypto.cc: 71: FAILED assert(crypto_context != __null)
 ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x102) [0x7fe76216c9d2]
 2: (ceph::crypto::init(CephContext*)+0x107) [0x7fe7624c0007]
 3: (CephContext::init_crypto()+0x19) [0x7fe7623c4df9]
 4: (common_init_finish(CephContext*)+0x2c) [0x7fe7623c18ac]
 5: (librados::RadosClient::connect()+0x30) [0x7fe76ac86a10]
 6: (rados_connect()+0x1f) [0x7fe76ac35acf]
 7: (()+0x298ed) [0x7fe76af648ed]
 8: (PyCFunction_Call()+0xe9) [0x7fe76c190059]
 9: (PyEval_EvalFrameEx()+0x7555) [0x7fe76c29c1b5]
 10: (()+0x24acac) [0x7fe76c32ccac]
 11: (PyEval_EvalCodeEx()+0x23) [0x7fe76c32cd83]
 12: (PyEval_EvalCode()+0x1b) [0x7fe76c2949cb]
 13: ./dist/test/test() [0x402bd1]
 14: ./dist/test/test() [0x402fb0]
 15: (__libc_start_main()+0xf0) [0x7fe76c789830]
 16: ./dist/test/test() [0x401a9e]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
Aborted

Thanks Everyone

History

#1 Updated by Josh Durgin over 3 years ago

  • Tracker changed from Bug to Support
  • Project changed from Ceph to RADOS
  • Category deleted (librados)
  • Component(RADOS) librados added

Does this work without pyinstaller on your system?

Also available in: Atom PDF