Horribly weird error from boto

43 views
Skip to first unread message

floria...@gmail.com

unread,
Jan 6, 2017, 4:35:16 PM1/6/17
to wal-e
After testing wal-e successfully on a test cluster, I've added it to production, with less charming (for me) results.
I'm trying to store to S3.

I get a internal explosion from gevent.
TypeError: memoryview: str object does not have the buffer interface

I added the full output further down.

Same thing occurs if I try 'backup-list'

1) The immediate suspect is that the postgres box there has no outgoing connectivity except via proxy.
2) The proxy _is_ set in the environment for my env-loading wrapper.
3) after somewhat hopeless confusion I found out that this is using "boto" version 2 which seems to not notice any envvars you set.
It should read a .boto file though, so I also created that and set a proxy in there.
Either it's not reading that or I have another problem.

Can anyone translate the error for me? 

Thank you,
Florian


Here's the debugging info:


pip tells me I have the following versions of things:

boto (2.45.0)

gevent (1.2.0)

greenlet (0.4.11)

pip (8.1.2)

setuptools (19.2)

wal-e (1.0.3)


It's on Centos7 with python 3.4.5

Fri Jan  6 21:24:09 2017 <Greenlet at 0x7f8d35488e88: <wal_e.worker.upload.WalUploader object at 0x7f8d35575080>(<wal_e.worker.pg.wal_transfer.WalSegment object at)> failed with TypeError


wal_e.main   CRITICAL MSG: An unprocessed exception has avoided all error handling

        DETAIL: Traceback (most recent call last):

          File "/usr/lib/python3.4/site-packages/wal_e/cmd.py", line 641, in main

            concurrency=args.pool_size)

          File "/usr/lib/python3.4/site-packages/wal_e/operator/backup.py", line 283, in wal_archive

            group.join()

          File "/usr/lib/python3.4/site-packages/wal_e/worker/pg/wal_transfer.py", line 144, in join

            raise val

          File "/usr/lib64/python3.4/site-packages/gevent/greenlet.py", line 536, in run

            result = self._run(*self.args, **self.kwargs)

          File "/usr/lib/python3.4/site-packages/wal_e/worker/upload.py", line 53, in __call__

            self.gpg_key_id)

          File "/usr/lib/python3.4/site-packages/wal_e/worker/worker_util.py", line 40, in do_lzop_put

            k = blobstore.uri_put_file(creds, url, tf)

          File "/usr/lib/python3.4/site-packages/wal_e/blobstore/s3/s3_util.py", line 57, in uri_put_file

            k.set_contents_from_file(fp, encrypt_key=True)

          File "/usr/lib/python3.4/site-packages/boto/s3/key.py", line 1293, in set_contents_from_file

            chunked_transfer=chunked_transfer, size=size)

          File "/usr/lib/python3.4/site-packages/boto/s3/key.py", line 750, in send_file

            chunked_transfer=chunked_transfer, size=size)

          File "/usr/lib/python3.4/site-packages/boto/s3/key.py", line 951, in _send_file_internal

            query_args=query_args

          File "/usr/lib/python3.4/site-packages/boto/s3/connection.py", line 668, in make_request

            retry_handler=retry_handler

          File "/usr/lib/python3.4/site-packages/boto/connection.py", line 1071, in make_request

            retry_handler=retry_handler)

          File "/usr/lib/python3.4/site-packages/boto/connection.py", line 913, in _mexe

            self.is_secure)

          File "/usr/lib/python3.4/site-packages/boto/connection.py", line 705, in get_http_connection

            return self.new_http_connection(host, port, is_secure)

          File "/usr/lib/python3.4/site-packages/boto/connection.py", line 747, in new_http_connection

            connection = self.proxy_ssl(host, is_secure and 443 or 80)

          File "/usr/lib/python3.4/site-packages/boto/connection.py", line 796, in proxy_ssl

            sock.sendall("CONNECT %s HTTP/1.0\r\n" % host)

          File "/usr/lib64/python3.4/site-packages/gevent/_socket3.py", line 408, in sendall

            data_memory = _get_memory(data)

          File "/usr/lib64/python3.4/site-packages/gevent/_socket3.py", line 35, in _get_memory

            mv = memoryview(data)

        TypeError: memoryview: str object does not have the buffer interface

        

        STRUCTURED: time=2017-01-06T21:24:09.430205-00 pid=22866

Reply all
Reply to author
Forward
0 new messages