New submission from Максим Цыпкин <drauger...@gmail.com>:

The following code:

    class TestServer(BaseManager):pass
    Server_1=TestServer(address=("127.0.0.1",55555),authkey="passkey")

produces following error in python 3.2 :

"TypeError: string argument without an encoding"

The cause is in BaseManager constructor implementation 
(Python32\Lib\multiprocessing\managers.py):

self._authkey = AuthenticationString(authkey)

The "AuthenticationString" class is a substitute of "bytes" class, and 
"bytes" class requires second encoding argument, if first argument is a string.

I've solved this problem, changing the code in 
"Python32\Lib\multiprocessing\managers.py" to following:

        if isinstance(authkey,str):
            self._authkey = AuthenticationString(authkey,'utf-8')
        else:
            self._authkey = AuthenticationString(authkey)

This works for me. Please consider to fix this issue in release.

----------
components: Extension Modules
messages: 157539
nosy: Drauger
priority: normal
severity: normal
status: open
title: Error initialising BaseManager class with 'authkey' argument of string 
type.
type: crash
versions: Python 3.2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue14501>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to