Coder Social home page Coder Social logo

birdisle-py's People

Contributors

bmerry avatar dependabot[bot] avatar rooterkyberian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

birdisle-py's Issues

Redis Version 3.3 introduced health_check_interval

Redis version 3.3 introduced a new parameter health_check_interval that is not passed into LocalSocketConnection. Therefore tests are failing. A quick fix that worked on our side was to add health_check_interval to LocalSocketConnection.__init__.

Is it possible for you to take a look at this?

Cheers

Error in `python3': corrupted double-linked list

When using some Lua scripts via evalssh on Birdisle, my unit test suite succeeds (i.e. my Lua scripts and Birdisle working OK), but the main script exits with this error and code 139.

LMK how I can help debug as this is quite opaque to me.

*** Error in `python3': corrupted double-linked list: 0x00007f43c80fe5c0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f43e7cbb7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x7e7c3)[0x7f43e7cc27c3]
/lib/x86_64-linux-gnu/libc.so.6(+0x80678)[0x7f43e7cc4678]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f43e7cc853c]
/usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1(aeDeleteEventLoop+0x3d)[0x7f43cf9746cd]
/usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1(prepareForShutdown+0x262)[0x7f43cf97bc52]
/usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1(serverCron+0x727)[0x7f43cf97c3d7]
/usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1(aeProcessEvents+0x330)[0x7f43cf974d30]
/usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1(aeMain+0x2b)[0x7f43cf974f6b]
/usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1(redisMain+0x443)[0x7f43cf9806b3]
/usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1(serverThread+0x2b)[0x7f43cf971ecb]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f43e80156ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f43e7d4b41d]
======= Memory map: ========
00400000-007aa000 r-xp 00000000 08:01 395775                             /usr/bin/python3.5
009a9000-009ab000 r--p 003a9000 08:01 395775                             /usr/bin/python3.5
009ab000-00a42000 rw-p 003ab000 08:01 395775                             /usr/bin/python3.5
00a42000-00a73000 rw-p 00000000 00:00 0 
02010000-02ee1000 rw-p 00000000 00:00 0                                  [heap]
7f43b8000000-7f43b8113000 rw-p 00000000 00:00 0 
7f43b8113000-7f43bc000000 ---p 00000000 00:00 0 
7f43c0000000-7f43c0021000 rw-p 00000000 00:00 0 
7f43c0021000-7f43c4000000 ---p 00000000 00:00 0 
7f43c4000000-7f43c4021000 rw-p 00000000 00:00 0 
7f43c4021000-7f43c8000000 ---p 00000000 00:00 0 
7f43c8000000-7f43c811c000 rw-p 00000000 00:00 0 
7f43c811c000-7f43cc000000 ---p 00000000 00:00 0 
7f43cf3df000-7f43cf3ea000 r-xp 00000000 08:01 264158                     /lib/x86_64-linux-gnu/libnss_files-2.23.so
7f43cf3ea000-7f43cf5e9000 ---p 0000b000 08:01 264158                     /lib/x86_64-linux-gnu/libnss_files-2.23.so
7f43cf5e9000-7f43cf5ea000 r--p 0000a000 08:01 264158                     /lib/x86_64-linux-gnu/libnss_files-2.23.so
7f43cf5ea000-7f43cf5eb000 rw-p 0000b000 08:01 264158                     /lib/x86_64-linux-gnu/libnss_files-2.23.so
7f43cf5eb000-7f43cf731000 rw-p 00000000 00:00 0 
7f43cf731000-7f43cf738000 r-xp 00000000 08:01 264183                     /lib/x86_64-linux-gnu/librt-2.23.so
7f43cf738000-7f43cf937000 ---p 00007000 08:01 264183                     /lib/x86_64-linux-gnu/librt-2.23.so
7f43cf937000-7f43cf938000 r--p 00006000 08:01 264183                     /lib/x86_64-linux-gnu/librt-2.23.so
7f43cf938000-7f43cf939000 rw-p 00007000 08:01 264183                     /lib/x86_64-linux-gnu/librt-2.23.so
7f43cf939000-7f43cfa67000 r-xp 00000000 08:01 673933                     /usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1
7f43cfa67000-7f43cfc66000 ---p 0012e000 08:01 673933                     /usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1
7f43cfc66000-7f43cfc71000 rw-p 0012d000 08:01 673933                     /usr/local/lib/python3.5/dist-packages/birdisle/.libs/libbirdisle.so.1
7f43cfc71000-7f43cfc72000 rw-p 00000000 00:00 0 
7f43cfc72000-7f43cfc74000 r-xp 00000000 08:01 673940                     /usr/local/lib/python3.5/dist-packages/birdisle/_birdisle.abi3.so
7f43cfc74000-7f43cfe73000 ---p 00002000 08:01 673940                     /usr/local/lib/python3.5/dist-packages/birdisle/_birdisle.abi3.so
7f43cfe73000-7f43cfe74000 rw-p 00001000 08:01 673940                     /usr/local/lib/python3.5/dist-packages/birdisle/_birdisle.abi3.so
7f43cfe74000-7f43cff74000 rw-p 00000000 00:00 0 
7f43cff74000-7f43cff7c000 r-xp 00000000 08:01 672304                     /usr/local/lib/python3.5/dist-packages/.libs_cffi_backend/libffi-806b1a9d.so.6.0.4
7f43cff7c000-7f43d017c000 ---p 00008000 08:01 672304                     /usr/local/lib/python3.5/dist-packages/.libs_cffi_backend/libffi-806b1a9d.so.6.0.4
7f43d017c000-7f43d017d000 rw-p 00008000 08:01 672304                     /usr/local/lib/python3.5/dist-packages/.libs_cffi_backend/libffi-806b1a9d.so.6.0.4
7f43d017d000-7f43d017e000 rw-p 0000b000 08:01 672304                     /usr/local/lib/python3.5/dist-packages/.libs_cffi_backend/libffi-806b1a9d.so.6.0.4
7f43d017e000-7f43d01a9000 r-xp 00000000 08:01 672447                     /usr/local/lib/python3.5/dist-packages/_cffi_backend.cpython-35m-x86_64-linux-gnu.so
7f43d01a9000-7f43d03a9000 ---p 0002b000 08:01 672447                     /usr/local/lib/python3.5/dist-packages/_cffi_backend.cpython-35m-x86_64-linux-gnu.so
7f43d03a9000-7f43d03af000 rw-p 0002b000 08:01 672447                     /usr/local/lib/python3.5/dist-packages/_cffi_backend.cpython-35m-x86_64-linux-gnu.so
7f43d03af000-7f43d03b2000 rw-p 00000000 00:00 0 
7f43d03b2000-7f43d03b6000 rw-p 000cd000 08:01 672447                     /usr/local/lib/python3.5/dist-packages/_cffi_backend.cpython-35m-x86_64-linux-gnu.so
7f43d03b6000-7f43d03b8000 r-xp 00000000 08:01 676946                     /usr/local/lib/python3.5/dist-packages/cryptography/hazmat/bindings/_padding.abi3.so
7f43d03b8000-7f43d05b7000 ---p 00002000 08:01 676946                     /usr/local/lib/python3.5/dist-packages/cryptography/hazmat/bindings/_padding.abi3.so
7f43d05b7000-7f43d05b8000 r--p 00001000 08:01 676946                     /usr/local/lib/python3.5/dist-packages/cryptography/hazmat/bindings/_padding.abi3.so
7f43d05b8000-7f43d05b9000 rw-p 00002000 08:01 676946                     /usr/local/lib/python3.5/dist-packages/cryptography/hazmat/bindings/_padding.abi3.so
7f43d05b9000-7f43d07f9000 rw-p 00000000 00:00 0 
7f43d07f9000-7f43d0800000 r-xp 00000000 08:01 938026                     /usr/local/lib/python3.5/dist-packages/hiredis/hiredis.cpython-35m-x86_64-linux-gnu.so
7f43d0800000-7f43d09ff000 ---p 00007000 08:01 938026                     /usr/local/lib/python3.5/dist-packages/hiredis/hiredis.cpython-35m-x86_64-linux-gnu.so
7f43d09ff000-7f43d0a00000 rw-p 00006000 08:01 938026                     /usr/local/lib/python3.5/dist-packages/hiredis/hiredis.cpython-35m-x86_64-linux-gnu.so
7f43d0a00000-7f43d0a40000 rw-p 00000000 00:00 0 
7f43d0a40000-7f43d0a49000 r-xp 00000000 08:01 672306                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libcrypt-2-32337c3b.5.so
7f43d0a49000-7f43d0a4c000 ---p 00009000 08:01 672306                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libcrypt-2-32337c3b.5.so
7f43d0a4c000-7f43d0a4d000 rw-p 0000c000 08:01 672306                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libcrypt-2-32337c3b.5.so
7f43d0a4d000-7f43d0c48000 ---p 0000d000 08:01 672306                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libcrypt-2-32337c3b.5.so
7f43d0c48000-7f43d0c49000 r--p 00008000 08:01 672306                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libcrypt-2-32337c3b.5.so
7f43d0c49000-7f43d0c4a000 rw-p 00009000 08:01 672306                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libcrypt-2-32337c3b.5.so
7f43d0c4a000-7f43d0c78000 rw-p 00000000 00:00 0 
7f43d0c78000-7f43d0c8f000 r-xp 00000000 08:01 264181                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7f43d0c8f000-7f43d0e8f000 ---p 00017000 08:01 264181                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7f43d0e8f000-7f43d0e90000 r--p 00017000 08:01 264181                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7f43d0e90000-7f43d0e91000 rw-p 00018000 08:01 264181                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7f43d0e91000-7f43d0e93000 rw-p 00000000 00:00 0 
7f43d0e93000-7f43d0ea9000 r-xp 00000000 08:01 264130                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f43d0ea9000-7f43d10a8000 ---p 00016000 08:01 264130                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f43d10a8000-7f43d10a9000 rw-p 00015000 08:01 264130                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f43d10a9000-7f43d121b000 r-xp 00000000 08:01 265012                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f43d121b000-7f43d141b000 ---p 00172000 08:01 265012                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f43d141b000-7f43d1425000 r--p 00172000 08:01 265012                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f43d1425000-7f43d1427000 rw-p 0017c000 08:01 265012                     /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f43d1427000-7f43d142b000 rw-p 00000000 00:00 0 
7f43d142b000-7f43d1443000 r-xp 00000000 08:01 672308                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libsasl2-e96a0dbf.so.2.0.22
7f43d1443000-7f43d1643000 ---p 00018000 08:01 672308                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libsasl2-e96a0dbf.so.2.0.22
7f43d1643000-7f43d1644000 rw-p 00018000 08:01 672308                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libsasl2-e96a0dbf.so.2.0.22
7f43d1644000-7f43d1647000 rw-p 0001a000 08:01 672308                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libsasl2-e96a0dbf.so.2.0.22
7f43d1647000-7f43d165b000 r-xp 00000000 08:01 672309                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libz-a147dcb0.so.1.2.3
7f43d165b000-7f43d185a000 ---p 00014000 08:01 672309                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libz-a147dcb0.so.1.2.3
7f43d185a000-7f43d185b000 rw-p 00013000 08:01 672309                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libz-a147dcb0.so.1.2.3
7f43d185b000-7f43d185c000 rw-p 00015000 08:01 672309                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libz-a147dcb0.so.1.2.3
7f43d185c000-7f43d188c000 r-xp 00000000 08:01 672307                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libmemcached-7d8ac851.so.11.0.0
7f43d188c000-7f43d1a8b000 ---p 00030000 08:01 672307                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libmemcached-7d8ac851.so.11.0.0
7f43d1a8b000-7f43d1a8c000 rw-p 0002f000 08:01 672307                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libmemcached-7d8ac851.so.11.0.0
7f43d1a8c000-7f43d1a90000 rw-p 00163000 08:01 672307                     /usr/local/lib/python3.5/dist-packages/.libs_pylibmc/libmemcached-7d8ac851.so.11.0.0
7f43d1a90000-7f43d1a9d000 r-xp 00000000 08:01 672449                     /usr/local/lib/python3.5/dist-packages/_pylibmc.cpython-35m-x86_64-linux-gnu.so
7f43d1a9d000-7f43d1c9c000 ---p 0000d000 08:01 672449                     /usr/local/lib/python3.5/dist-packages/_pylibmc.cpython-35m-x86_64-linux-gnu.so
7f43d1c9c000-7f43d1c9e000 rw-p 0000c000 08:01 672449                     /usr/local/lib/python3.5/dist-packages/_pylibmc.cpython-35m-x86_64-linux-gnu.so
7f43d1c9e000-7f43d1ca2000 rw-p 0003b000 08:01 672449                     /usr/local/lib/python3.5/dist-packages/_pylibmc.cpython-35m-x86_64-linux-gnu.so
7f43d1ca2000-7f43d1e62000 rw-p 00000000 00:00 0 
7f43d1e62000-7f43d1e87000 r-xp 00000000 08:01 264198                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f43d1e87000-7f43d2086000 ---p 00025000 08:01 264198                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f43d2086000-7f43d208a000 r--p 00024000 08:01 264198                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f43d208a000-7f43d208b000 rw-p 00028000 08:01 264198                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f43d208b000-7f43d20b8000 r-xp 00000000 08:01 264151                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f43d20b8000-7f43d22b8000 ---p 0002d000 08:01 264151                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f43d22b8000-7f43d22b9000 r--p 0002d000 08:01 264151                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f43d22b9000-7f43d22ba000 rw-p 0002e000 08:01 264151                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f43d22ba000-7f43d22d0000 r-xp 00000000 08:01 524052                     /usr/lib/python3.5/lib-dynload/_curses.cpython-35m-x86_64-linux-gnu.so
7f43d22d0000-7f43d24d0000 ---p 00016000 08:01 524052                     /usr/lib/python3.5/lib-dynload/_curses.cpython-35m-x86_64-linux-gnu.so
7f43d24d0000-7f43d24d1000 r--p 00016000 08:01 524052                     /usr/lib/python3.5/lib-dynload/_curses.cpython-35m-x86_64-linux-gnu.so
7f43d24d1000-7f43d24d3000 rw-p 00017000 08:01 524052                     /usr/lib/python3.5/lib-dynload/_curses.cpython-35m-x86_64-linux-gnu.so
7f43d24d3000-7f43d2593000 rw-p 00000000 00:00 0 
7f43d2593000-7f43d25a4000 r-xp 00000000 08:01 524057                     /usr/lib/python3.5/lib-dynload/_json.cpython-35m-x86_64-linux-gnu.so
7f43d25a4000-7f43d27a3000 ---p 00011000 08:01 524057                     /usr/lib/python3.5/lib-dynload/_json.cpython-35m-x86_64-linux-gnu.so
7f43d27a3000-7f43d27a4000 r--p 00010000 08:01 524057                     /usr/lib/python3.5/lib-dynload/_json.cpython-35m-x86_64-linux-gnu.so
7f43d27a4000-7f43d27a5000 rw-p 00011000 08:01 524057                     /usr/lib/python3.5/lib-dynload/_json.cpython-35m-x86_64-linux-gnu.so
7f43d27a5000-7f43d27e5000 rw-p 00000000 00:00 0 
7f43d27e5000-7f43d2843000 r-xp 00000000 08:01 395629                     /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f43d2843000-7f43d2a43000 ---p 0005e000 08:01 395629                     /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f43d2a43000-7f43d2a47000 r--p 0005e000 08:01 395629                     /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f43d2a47000-7f43d2a4e000 rw-p 00062000 08:01 395629                     /lib/x86_64-linux-gnu/libssl.so.1.0.0
7f43d2a4e000-7f43d2a65000 r-xp 00000000 08:01 524064                     /usr/lib/python3.5/lib-dynload/_ssl.cpython-35m-x86_64-linux-gnu.so
7f43d2a65000-7f43d2c65000 ---p 00017000 08:01 524064                     /usr/lib/python3.5/lib-dynload/_ssl.cpython-35m-x86_64-linux-gnu.so
7f43d2c65000-7f43d2c66000 r--p 00017000 08:01 524064                     /usr/lib/python3.5/lib-dynload/_ssl.cpython-35m-x86_64-linux-gnu.so
7f43d2c66000-7f43d2c6b000 rw-p 00018000 08:01 524064                     /usr/lib/python3.5/lib-dynload/_ssl.cpython-35m-x86_64-linux-gnu.so
7f43d2c6b000-7f43d30ab000 rw-p 00000000 00:00 0 
7f43d30ab000-7f43d315d000 r-xp 00000000 08:01 656414                     /usr/local/lib/python3.5/dist-packages/numpy/random/mtrand.cpython-35m-x86_64-linux-gnu.so
7f43d315d000-7f43d335c000 ---p 000b2000 08:01 656414                     /usr/local/lib/python3.5/dist-packages/numpy/random/mtrand.cpython-35m-x86_64-linux-gnu.so
7f43d335c000-7f43d3381000 rw-p 000b1000 08:01 656414                     /usr/local/lib/python3.5/dist-packages/numpy/random/mtrand.cpython-35m-x86_64-linux-gnu.so
7f43d3381000-7f43d33c3000 rw-p 00000000 00:00 0 
7f43d33c3000-7f43d33cc000 r-xp 00000000 08:01 656147                     /usr/local/lib/python3.5/dist-packages/numpy/fft/fftpack_lite.cpython-35m-x86_64-linux-gnu.so
7f43d33cc000-7f43d35cc000 ---p 00009000 08:01 656147                     /usr/local/lib/python3.5/dist-packages/numpy/fft/fftpack_lite.cpython-35m-x86_64-linux-gnu.so
7f43d35cc000-7f43d35cd000 rw-p 00009000 08:01 656147                     /usr/local/lib/python3.5/dist-packages/numpy/fft/fftpack_lite.cpython-35m-x86_64-linux-gnu.so
7f43d35cd000-7f43d3604000 r-xp 00000000 08:01 524556                     /usr/lib/x86_64-linux-gnu/libmpdec.so.2.4.2
7f43d3604000-7f43d3803000 ---p 00037000 08:01 524556                     /usr/lib/x86_64-linux-gnu/libmpdec.so.2.4.2
7f43d3803000-7f43d3804000 r--p 00036000 08:01 524556                     /usr/lib/x86_64-linux-gnu/libmpdec.so.2.4.2
7f43d3804000-7f43d3805000 rw-p 00037000 08:01 524556                     /usr/lib/x86_64-linux-gnu/libmpdec.so.2.4.2
7f43d3805000-7f43d3829000 r-xp 00000000 08:01 524055                     /usr/lib/python3.5/lib-dynload/_decimal.cpython-35m-x86_64-linux-gnu.so
7f43d3829000-7f43d3a28000 ---p 00024000 08:01 524055                     /usr/lib/python3.5/lib-dynload/_decimal.cpython-35m-x86_64-linux-gnu.so
7f43d3a28000-7f43d3a29000 r--p 00023000 08:01 524055                     /usr/lib/python3.5/lib-dynload/_decimal.cpython-35m-x86_64-linux-gnu.so
7f43d3a29000-7f43d3a32000 rw-p 00024000 08:01 524055                     /usr/lib/python3.5/lib-dynload/_decimal.cpython-35m-x86_64-linux-gnu.so
7f43d3a32000-7f43d3ab2000 rw-p 00000000 00:00 0 
7f43d3ab2000-7f43d3add000 r-xp 00000000 08:01 656281                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/_umath_linalg.cpython-35m-x86_64-linux-gnu.so
7f43d3add000-7f43d3cdc000 ---p 0002b000 08:01 656281                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/_umath_linalg.cpython-35m-x86_64-linux-gnu.so
7f43d3cdc000-7f43d3cde000 rw-p 0002a000 08:01 656281                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/_umath_linalg.cpython-35m-x86_64-linux-gnu.so
7f43d3cde000-7f43d3ce1000 rw-p 000d3000 08:01 656281                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/_umath_linalg.cpython-35m-x86_64-linux-gnu.so
7f43d3ce1000-7f43d3ce5000 r-xp 00000000 08:01 656283                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/lapack_lite.cpython-35m-x86_64-linux-gnu.so
7f43d3ce5000-7f43d3ee5000 ---p 00004000 08:01 656283                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/lapack_lite.cpython-35m-x86_64-linux-gnu.so
7f43d3ee5000-7f43d3ee6000 rw-p 00004000 08:01 656283                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/lapack_lite.cpython-35m-x86_64-linux-gnu.so
7f43d3ee6000-7f43d3ee8000 rw-p 00019000 08:01 656283                     /usr/local/lib/python3.5/dist-packages/numpy/linalg/lapack_lite.cpython-35m-x86_64-linux-gnu.so
7f43d3ee9000-7f43d3fa9000 rw-p 00000000 00:00 0 
7f43d3fa9000-7f43d3fc8000 r-xp 00000000 08:01 655691                     /usr/local/lib/python3.5/dist-packages/numpy/core/_multiarray_tests.cpython-35m-x86_64-linux-gnu.so
7f43d3fc8000-7f43d41c7000 ---p 0001f000 08:01 655691                     /usr/local/lib/python3.5/dist-packages/numpy/core/_multiarray_tests.cpython-35m-x86_64-linux-gnu.so
7f43d41c7000-7f43d41c9000 rw-p 0001e000 08:01 655691                     /usr/local/lib/python3.5/dist-packages/numpy/core/_multiarray_tests.cpython-35m-x86_64-linux-gnu.so
7f43d41c9000-7f43d4289000 rw-p 00000000 00:00 0 
7f43d4289000-7f43d42ab000 r-xp 00000000 08:01 524050                     /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so
7f43d42ab000-7f43d44aa000 ---p 00022000 08:01 524050                     /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so
7f43d44aa000-7f43d44ab000 r--p 00021000 08:01 524050                     /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so
7f43d44ab000-7f43d44af000 rw-p 00022000 08:01 524050                     /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so
7f43d44af000-7f43da570000 rw-p 00000000 00:00 0 
7f43da570000-7f43da571000 ---p 00000000 00:00 0 
7f43da571000-7f43dad71000 rw-p 00000000 00:00 0 
7f43dad71000-7f43dad72000 ---p 00000000 00:00 0 
7f43dad72000-7f43e1572000 rw-p 00000000 00:00 0 
7f43e1572000-7f43e1573000 ---p 00000000 00:00 0 
7f43e1573000-7f43e1d73000 rw-p 00000000 00:00 0 
7f43e1d73000-7f43e1d74000 ---p 00000000 00:00 0 
7f43e1d74000-7f43e2574000 rw-p 00000000 00:00 0 
7f43e258f000-7f43e268f000 rw-p 00000000 00:00 0 
7f43e268f000-7f43e2692000 r-xp 00000000 08:01 524077                     /usr/lib/python3.5/lib-dynload/resource.cpython-35m-x86_64-linux-gnu.so
7f43e2692000-7f43e2891000 ---p 00003000 08:01 524077                     /usr/lib/python3.5/lib-dynload/resource.cpython-35m-x86_64-linux-gnu.so
7f43e2891000-7f43e2892000 r--p 00002000 08:01 524077                     /usr/lib/python3.5/lib-dynload/resource.cpython-35m-x86_64-linux-gnu.so
7f43e2892000-7f43e2893000 rw-p 00003000 08:01 524077                     /usr/lib/python3.5/lib-dynload/resource.cpython-35m-x86_64-linux-gnu.so
7f43e2893000-7f43e2993000 rw-p 00000000 00:00 0 
7f43e2993000-7f43e299a000 r-xp 00000000 08:01 524049                     /usr/lib/python3.5/lib-dynload/_csv.cpython-35m-x86_64-linux-gnu.so
7f43e299a000-7f43e2b9a000 ---p 00007000 08:01 524049                     /usr/lib/python3.5/lib-dynload/_csv.cpython-35m-x86_64-linux-gnu.so
7f43e2b9a000-7f43e2b9b000 r--p 00007000 08:01 524049                     /usr/lib/python3.5/lib-dynload/_csv.cpython-35m-x86_64-linux-gnu.so
7f43e2b9b000-7f43e2b9d000 rw-p 00008000 08:01 524049                     /usr/lib/python3.5/lib-dynload/_csv.cpython-35m-x86_64-linux-gnu.so
7f43e2b9d000-7f43e2ede000 rw-p 00000000 00:00 0 
7f43e2ede000-7f43e2ee3000 r-xp 00000000 08:01 952718                     /usr/local/lib/python3.5/dist-packages/pymongo/_cmessage.cpython-35m-x86_64-linux-gnu.so
7f43e2ee3000-7f43e30e3000 ---p 00005000 08:01 952718                     /usr/local/lib/python3.5/dist-packages/pymongo/_cmessage.cpython-35m-x86_64-linux-gnu.so
7f43e30e3000-7f43e30e4000 rw-p 00005000 08:01 952718                     /usr/local/lib/python3.5/dist-packages/pymongo/_cmessage.cpython-35m-x86_64-linux-gnu.so
7f43e30e4000-7f43e3164000 rw-p 00000000 00:00 0 
7f43e3164000-7f43e3170000 r-xp 00000000 08:01 676238                     /usr/local/lib/python3.5/dist-packages/bson/_cbson.cpython-35m-x86_64-linux-gnu.so
7f43e3170000-7f43e3370000 ---p 0000c000 08:01 676238                     /usr/local/lib/python3.5/dist-packages/bson/_cbson.cpython-35m-x86_64-linux-gnu.so
7f43e3370000-7f43e3371000 rw-p 0000c000 08:01 676238                     /usr/local/lib/python3.5/dist-packages/bson/_cbson.cpython-35m-x86_64-linux-gnu.so
7f43e3371000-7f43e3375000 r-xp 00000000 08:01 292528                     /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f43e3375000-7f43e3574000 ---p 00004000 08:01 292528                     /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f43e3574000-7f43e3575000 r--p 00003000 08:01 292528                     /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f43e3575000-7f43e3576000 rw-p 00004000 08:01 292528                     /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f43e3576000-7f43e3666000 r-xp 00000000 08:01 655614                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libgfortran-ed201abd.so.3.0.0
7f43e3666000-7f43e3865000 ---p 000f0000 08:01 655614                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libgfortran-ed201abd.so.3.0.0
7f43e3865000-7f43e3867000 rw-p 000ef000 08:01 655614                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libgfortran-ed201abd.so.3.0.0
7f43e3867000-7f43e3868000 rw-p 00000000 00:00 0 
7f43e3868000-7f43e3870000 rw-p 000f2000 08:01 655614                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libgfortran-ed201abd.so.3.0.0
7f43e3870000-7f43e5370000 r-xp 00000000 08:01 655615                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libopenblasp-r0-382c8f3a.3.5.dev.so
7f43e5370000-7f43e5570000 ---p 01b00000 08:01 655615                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libopenblasp-r0-382c8f3a.3.5.dev.so
7f43e5570000-7f43e5589000 rw-p 01b00000 08:01 655615                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libopenblasp-r0-382c8f3a.3.5.dev.so
7f43e5589000-7f43e5594000 rw-p 00000000 00:00 0 
7f43e5594000-7f43e560c000 rw-p 01beb000 08:01 655615                     /usr/local/lib/python3.5/dist-packages/numpy/.libs/libopenblasp-r0-382c8f3a.3.5.dev.so
7f43e560c000-7f43e598c000 r-xp 00000000 08:01 655692                     /usr/local/lib/python3.5/dist-packages/numpy/core/_multiarray_umath.cpython-35m-x86_64-linux-gnu.so
7f43e598c000-7f43e5b8b000 ---p 00380000 08:01 655692                     /usr/local/lib/python3.5/dist-packages/numpy/core/_multiarray_umath.cpython-35m-x86_64-linux-gnu.so
7f43e5b8b000-7f43e5baa000 rw-p 0037f000 08:01 655692                     /usr/local/lib/python3.5/dist-packages/numpy/core/_multiarray_umath.cpython-35m-x86_64-linux-gnu.so
7f43e5baa000-7f43e5bca000 rw-p 00000000 00:00 0 
7f43e5bca000-7f43e5bd1000 rw-p 01329000 08:01 655692                     /usr/local/lib/python3.5/dist-packages/numpy/core/_multiarray_umath.cpython-35m-x86_64-linux-gnu.so
7f43e5bd1000-7f43e5c11000 rw-p 00000000 00:00 0 
7f43e5c11000-7f43e5e2c000 r-xp 00000000 08:01 395620                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f43e5e2c000-7f43e602b000 ---p 0021b000 08:01 395620                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f43e602b000-7f43e6047000 r--p 0021a000 08:01 395620                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f43e6047000-7f43e6053000 rw-p 00236000 08:01 395620                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f43e6053000-7f43e6056000 rw-p 00000000 00:00 0 
7f43e6056000-7f43e605b000 r-xp 00000000 08:01 524056                     /usr/lib/python3.5/lib-dynload/_hashlib.cpython-35m-x86_64-linux-gnu.so
7f43e605b000-7f43e625b000 ---p 00005000 08:01 524056                     /usr/lib/python3.5/lib-dynload/_hashlib.cpython-35m-x86_64-linux-gnu.so
7f43e625b000-7f43e625c000 r--p 00005000 08:01 524056                     /usr/lib/python3.5/lib-dynload/_hashlib.cpython-35m-x86_64-linux-gnu.so
7f43e625c000-7f43e625d000 rw-p 00006000 08:01 524056                     /usr/lib/python3.5/lib-dynload/_hashlib.cpython-35m-x86_64-linux-gnu.so
7f43e625d000-7f43e629d000 rw-p 00000000 00:00 0 
7f43e629d000-7f43e62be000 r-xp 00000000 08:01 264140                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f43e62be000-7f43e64bd000 ---p 00021000 08:01 264140                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f43e64bd000-7f43e64be000 r--p 00020000 08:01 264140                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f43e64be000-7f43e64bf000 rw-p 00021000 08:01 264140                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f43e64bf000-7f43e64c6000 r-xp 00000000 08:01 524059                     /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7f43e64c6000-7f43e66c5000 ---p 00007000 08:01 524059                     /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7f43e66c5000-7f43e66c6000 r--p 00006000 08:01 524059                     /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7f43e66c6000-7f43e66c8000 rw-p 00007000 08:01 524059                     /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7f43e66c8000-7f43e66d7000 r-xp 00000000 08:01 264108                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f43e66d7000-7f43e68d6000 ---p 0000f000 08:01 264108                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f43e68d6000-7f43e68d7000 r--p 0000e000 08:01 264108                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f43e68d7000-7f43e68d8000 rw-p 0000f000 08:01 264108                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f43e68d8000-7f43e68dc000 r-xp 00000000 08:01 524041                     /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7f43e68dc000-7f43e6adb000 ---p 00004000 08:01 524041                     /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7f43e6adb000-7f43e6adc000 r--p 00003000 08:01 524041                     /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7f43e6adc000-7f43e6add000 rw-p 00004000 08:01 524041                     /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7f43e6add000-7f43e6bdd000 rw-p 00000000 00:00 0 
7f43e6bdd000-7f43e6bde000 r-xp 00000000 08:01 524062                     /usr/lib/python3.5/lib-dynload/_opcode.cpython-35m-x86_64-linux-gnu.so
7f43e6bde000-7f43e6ddd000 ---p 00001000 08:01 524062                     /usr/lib/python3.5/lib-dynload/_opcode.cpython-35m-x86_64-linux-gnu.so
7f43e6ddd000-7f43e6dde000 r--p 00000000 08:01 524062                     /usr/lib/python3.5/lib-dynload/_opcode.cpython-35m-x86_64-linux-gnu.so
7f43e6dde000-7f43e6ddf000 rw-p 00001000 08:01 524062                     /usr/lib/python3.5/lib-dynload/_opcode.cpython-35m-x86_64-linux-gnu.so
7f43e6e00000-7f43e6f80000 rw-p 00000000 00:00 0 
7f43e6fb1000-7f43e70f1000 rw-p 00000000 00:00 0 
7f43e70f1000-7f43e71f9000 r-xp 00000000 08:01 264141                     /lib/x86_64-linux-gnu/libm-2.23.so
7f43e71f9000-7f43e73f8000 ---p 00108000 08:01 264141                     /lib/x86_64-linux-gnu/libm-2.23.so
7f43e73f8000-7f43e73f9000 r--p 00107000 08:01 264141                     /lib/x86_64-linux-gnu/libm-2.23.so
7f43e73f9000-7f43e73fa000 rw-p 00108000 08:01 264141                     /lib/x86_64-linux-gnu/libm-2.23.so
7f43e73fa000-7f43e7413000 r-xp 00000000 08:01 264208                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f43e7413000-7f43e7612000 ---p 00019000 08:01 264208                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f43e7612000-7f43e7613000 r--p 00018000 08:01 264208                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f43e7613000-7f43e7614000 rw-p 00019000 08:01 264208                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f43e7614000-7f43e763a000 r-xp 00000000 08:01 395624                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f43e763a000-7f43e783a000 ---p 00026000 08:01 395624                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f43e783a000-7f43e783c000 r--p 00026000 08:01 395624                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f43e783c000-7f43e783d000 rw-p 00028000 08:01 395624                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f43e783d000-7f43e783f000 r-xp 00000000 08:01 264203                     /lib/x86_64-linux-gnu/libutil-2.23.so
7f43e783f000-7f43e7a3e000 ---p 00002000 08:01 264203                     /lib/x86_64-linux-gnu/libutil-2.23.so
7f43e7a3e000-7f43e7a3f000 r--p 00001000 08:01 264203                     /lib/x86_64-linux-gnu/libutil-2.23.so
7f43e7a3f000-7f43e7a40000 rw-p 00002000 08:01 264203                     /lib/x86_64-linux-gnu/libutil-2.23.so
7f43e7a40000-7f43e7a43000 r-xp 00000000 08:01 264122                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f43e7a43000-7f43e7c42000 ---p 00003000 08:01 264122                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f43e7c42000-7f43e7c43000 r--p 00002000 08:01 264122                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f43e7c43000-7f43e7c44000 rw-p 00003000 08:01 264122                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f43e7c44000-7f43e7e04000 r-xp 00000000 08:01 264109                     /lib/x86_64-linux-gnu/libc-2.23.so
7f43e7e04000-7f43e8004000 ---p 001c0000 08:01 264109                     /lib/x86_64-linux-gnu/libc-2.23.so
7f43e8004000-7f43e8008000 r--p 001c0000 08:01 264109                     /lib/x86_64-linux-gnu/libc-2.23.so
7f43e8008000-7f43e800a000 rw-p 001c4000 08:01 264109                     /lib/x86_64-linux-gnu/libc-2.23.so
7f43e800a000-7f43e800e000 rw-p 00000000 00:00 0 
7f43e800e000-7f43e8026000 r-xp 00000000 08:01 264177                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f43e8026000-7f43e8225000 ---p 00018000 08:01 264177                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f43e8225000-7f43e8226000 r--p 00017000 08:01 264177                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f43e8226000-7f43e8227000 rw-p 00018000 08:01 264177                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f43e8227000-7f43e822b000 rw-p 00000000 00:00 0 
7f43e822b000-7f43e8251000 r-xp 00000000 08:01 264089                     /lib/x86_64-linux-gnu/ld-2.23.so
7f43e825e000-7f43e825f000 rw-p 00000000 00:00 0 
7f43e825f000-7f43e8260000 rwxp 00000000 00:00 0 
7f43e8260000-7f43e82a0000 rw-p 00000000 00:00 0 
7f43e82a0000-7f43e82c7000 r--p 00000000 08:01 264654                     /usr/lib/locale/C.UTF-8/LC_CTYPE
7f43e82c7000-7f43e82c8000 r--p 00000000 08:01 264661                     /usr/lib/locale/C.UTF-8/LC_NUMERIC
7f43e82c8000-7f43e82c9000 r--p 00000000 08:01 264664                     /usr/lib/locale/C.UTF-8/LC_TIME
7f43e82c9000-7f43e843b000 r--p 00000000 08:01 264653                     /usr/lib/locale/C.UTF-8/LC_COLLATE
7f43e843b000-7f43e843c000 r--p 00000000 08:01 264659                     /usr/lib/locale/C.UTF-8/LC_MONETARY
7f43e843c000-7f43e8442000 rw-p 00000000 00:00 0 
7f43e8442000-7f43e8443000 r--p 00000000 08:01 264658                     /usr/lib/locale/C.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES
7f43e8443000-7f43e8444000 r--p 00000000 08:01 264662                     /usr/lib/locale/C.UTF-8/LC_PAPER
7f43e8444000-7f43e8445000 r--p 00000000 08:01 264660                     /usr/lib/locale/C.UTF-8/LC_NAME
7f43e8445000-7f43e8446000 r--p 00000000 08:01 264652                     /usr/lib/locale/C.UTF-8/LC_ADDRESS
7f43e8446000-7f43e8447000 r--p 00000000 08:01 264663                     /usr/lib/locale/C.UTF-8/LC_TELEPHONE
7f43e8447000-7f43e8448000 r--p 00000000 08:01 264656                     /usr/lib/locale/C.UTF-8/LC_MEASUREMENT
7f43e8448000-7f43e844f000 r--s 00000000 08:01 264980                     /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
7f43e844f000-7f43e8450000 r--p 00000000 08:01 264655                     /usr/lib/locale/C.UTF-8/LC_IDENTIFICATION
7f43e8450000-7f43e8451000 r--p 00025000 08:01 264089                     /lib/x86_64-linux-gnu/ld-2.23.so
7f43e8451000-7f43e8452000 rw-p 00026000 08:01 264089                     /lib/x86_64-linux-gnu/ld-2.23.so
7f43e8452000-7f43e8453000 rw-p 00000000 00:00 0 
7ffe88647000-7ffe88668000 rw-p 00000000 00:00 0                          [stack]
7ffe887f1000-7ffe887f3000 r--p 00000000 00:00 0                          [vvar]
7ffe887f3000-7ffe887f5000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

Write a MANIFEST.in

The sdist needs to include the birdisle submodule, while also excluding build artefacts.

Alpine Linux: libbirdisle.so.1: backtrace: symbol not found

I'm unable to run birdisle using the python3.6-alpine Docker image, it tells me that it's unable to find backtrace. This is the error I get:

  File "/usr/local/lib/python3.6/site-packages/birdisle/__init__.py", line 6, in <module>
    from . import _birdisle
ImportError: Error relocating /usr/local/lib/python3.6/site-packages/birdisle/.libs/libbirdisle.so.1: backtrace: symbol not found

However, it does seem to work when using the python:3.6-slim Docker image.

Searching around the internets suggests that it's caused by Alpine not having glibc.

Segfault when closing if storing an integer

Like the title states, birdisle server segfaults (thus bringing the whole parent python process down) if closed if any value stored is an integer.

The underlying issue is probably unrelated to the type of the stored data, but this is the furthest I've managed to narrow it down.

  • it fails both when storing 1 and '1' (is there some type casting magic in redis/redis-py?)
  • it doesn't care for pure string values (see example below) or floats (apparently)
  • closing the client connection before closing the server doesn't matter
  • flushing the database works as a workaround
  • tested with redis-py and credis (same behaviour)
  • Python 3.6.9 (Ubuntu 18.04, repo version)
  • up-to-date birdisle and redis-py from pip (fresh virtualenv)

Almost-minimal non-working example:

#!/usr/bin/env python3

import birdisle
import redis

def main():
	redis_server = birdisle.Server('port 16379\n')
	redis_client = redis.Redis(port=16379)

	# This is fine
	redis_client.set('foo1', 'asdasd')
	# This causes lotsa trouble
	redis_client.set('foo2', 1)
	# Uncommenting this will fix the segfault:
	# redis_client.flushall()

	# This segfaults
	redis_server.close()
	del redis_server

	redis_server = birdisle.Server('port 16379\n')
	print(redis_client.get('foo'))
	redis_server.close()
	del redis_server

if __name__ == '__main__':
	main()

Error when installing in MacOS

I was able to install birdisle-py using pip install birdisle in docker containers running Linux Alpine 6.4.0 and Ubuntu 16.04. However, when trying to run the same command in MacOS Mojave 10.14.1 the building process fails giving the following output.

The only clue I was able to find was on the README from fakeredis, that points out that birdisle can only run on Linux. I am not sure, though, as I was not able to find anything about this in the birdisle or birdisle-py repository.

Is it really not supported? if so, should we state it in the README and/or documentation? And otherwise, do you have any idea what is failing?

birdisle.redis.Redis.from_url() attempts real connections

The classmethod .from_url() of birdisle.redis.{Strict}Redis is inherited directly from redis.client.{Strict}Redis and it calls redis.connection.ConnectionPool.from_url, which will not use birdisle.redis.LocalSocketConnection.

Trying to to monkeypatch from_url into birdisle.redis.RedisMixin.from_url in your own application like this:

    @classmethod
    def from_url(cls, url, db=None, **kwargs):
        kwargs.update(connection_class=birdisle.redis.LocalSocketConnection)
        return super(birdisle.redis.RedisMixin, cls).from_url(url, db=db, **kwargs)

    birdisle.redis.RedisMixin.from_url = from_url

Doesn't work because the db parameter leaks into the LocalSocketConnection which is not expecting it.

publish wheel for python 3.8 on PyPI

I have encountered an issue where my library which is tested using birdisle-py cannot be tested under docker vanilla python:3.8-slim image because it lacks build utils required to compile birdisle-py from source.

Other than that wheels just save time so even if someone had build utils along python 3.8 they would still gain from this.

Python 3.8 deprecated explicit passing of loop parameter

Affected versions:

Python 3.8.1, birdisle 0.1.3, aioredis 1.3.1

Steps to reproduce:

import birdisle.aioredis
import asyncio

asyncio.run(birdisle.aioredis.create_redis_pool())

Traceback:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
    asyncio.run(birdisle.aioredis.create_redis_pool())
  File "/usr/lib/python3.8/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.8/asyncio/base_events.py", line 612, in run_until_complete
    return future.result()
  File "/usr/lib/python3.8/site-packages/birdisle/aioredis.py", line 133, in create_redis_pool
    pool = await create_pool(server, **kwargs)
  File "/usr/lib/python3.8/site-packages/birdisle/aioredis.py", line 122, in create_pool
    return await aioredis.create_pool(server, pool_cls=pool_cls, **kwargs)
  File "/usr/lib/python3.8/site-packages/aioredis/pool.py", line 58, in create_pool
    await pool._fill_free(override_min=False)
  File "/usr/lib/python3.8/site-packages/aioredis/pool.py", line 383, in _fill_free
    conn = await self._create_new_connection(self._address)
  File "/usr/lib/python3.8/site-packages/birdisle/aioredis.py", line 108, in _create_new_connection
    loop=self._loop)
AttributeError: 'ConnectionsPool' object has no attribute '_loop'

Problem:

With Python 3.8 the explicit passing of the loop parameter has been deprecated. This is reflected in the latest version of aioredis as the ConnectionPool class no longer has a _loop attribute. This causes birdisle.aioredis.ConnectionsPool to fail, because it explicitly passes the loop parameter when creating an aioredis ConnectionPool object.

I would give solving this myself a shot, but my python coroutine knowledge is still fairly basic, and I've had trouble setting up the development environment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.