Closed ghost closed 6 years ago
likely not a plyvel issue since it does not call this leveldb api directly
try removing .cache/pip from your homedir and rebuild in fresh venv
if i downgrade to v 0.8 all my source works, and with 0.9 not magic?)
https://github.com/wbolster/plyvel/compare/0.8...0.9
if you look at the diff between 0.8 and 0.9 the actual code has only one change, which seems not relevant here.
i suspect cached builds or something unexpected like that on your side.
also, i doubt that is the complete backtrace? can you reproduce under gdb and share "thread apply all bt" output?
(venv) root@Kali:~/PythonProjects/project# gdb -ex r --args python index_db_test.py GNU gdb (Debian 7.12-6+b1) 7.12.0.20161007-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from python...(no debugging symbols found)...done. Starting program: /root/PythonProjects/venv/bin/python index_db_test.py [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff662c157 in leveldb::InternalFilterPolicy::Name() const () from /usr/lib/x86_64-linux-gnu/libleveldb.so.1
and if i downgrade to 0.8 all works again: (venv) root@Kali-video:~/PythonProjects/project# gdb -ex r --args python index_db_test.py GNU gdb (Debian 7.12-6+b1) 7.12.0.20161007-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from python...(no debugging symbols found)...done. Starting program: /root/PythonProjects/venv/bin/python index_db_test.py [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". b'META:chrome-extension://pkedcjkdefgpdelpmeomcjbeemfm' b'\x08\xd5\xc1\..............
i do not see any backtraces... see earlier comments.
also try completely fresh installs, remove .pip/cache, venvs, and so on. other people have had issues with that before.
leveldb versions are the same?
yes all same, the only version of plyvel changed, and this is the full traceback
as test chrome version 60+ indexdb you can try it by your hands C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\Local Storage
in a fresh virtualenv using python3.5:
$ pip install plyvel
[...]
Successfully installed plyvel-0.9
this works without error:
>>> import plyvel
>>> db = plyvel.DB('testdb', create_if_missing=True)
>>> db.put(b'foo', b'bar')
>>> db.get(b'foo')
b'bar'
>>> db.close()
i can also open ~/.config/chromium/Default/Local Storage/leveldb
(i made a copy first) without problems:
[Python 3.5.2, IPython 6.2.1, sys.prefix ~/.virtualenvs/tmp-9cd801a3b41874cf]
>>> import plyvel
>>> db = plyvel.DB('/tmp/chromium-db/')
>>> it = db.iterator()
>>> next(it)
(b'META:chrome-devtools://devtools', b'...')
>>> db.close()
OS kali-linux
version 0.8 work`s fine and in 0.9 i have this issue
Starting program: venv/bin/python index_db_test.py [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff662c18d in leveldb::InternalFilterPolicy::CreateFilter(leveldb::Slice const, int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > ) const ()
from /usr/lib/x86_64-linux-gnu/libleveldb.so.1