cx_Oracle._Error is not (un)picklable

Issue #23 resolved
Benedikt Reinartz
created an issue

This leads to cx_Oracle exceptions being non-picklable which in turn makes it impossible to pass exceptions through from a multiprocessing process. The error is:

UnpicklingError: NEWOBJ class argument has NULL tp_new

Comments (5)

  1. Benedikt Reinartz reporter
    try:
         failing_oracle_function()
    except Exception as exc:
         pickled = pickle.dumps(exc) # This is fine
         pickle.loads(pickled) # This fails because cx_Oracle._Error apparently doesn't define __new__
    
  2. Log in to comment