Skip to content

Instantly share code, notes, and snippets.

@seanjensengrey
Created April 21, 2014 18:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seanjensengrey/11151275 to your computer and use it in GitHub Desktop.
Save seanjensengrey/11151275 to your computer and use it in GitHub Desktop.
pybloomfiltermmap segfaults when passing in large <error_rate>
(py.env)zen:temp zen$ ipython
Python 2.7.6 (default, Feb 19 2014, 00:46:08)
Type "copyright", "credits" or "license" for more information.
IPython 2.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pybloomfilter as pb
In [2]: f = pb.BloomFilter(1000,10,"crashy.bloom")
Abort trap: 6
(py.env)zen:temp zen$ ipython
Python 2.7.6 (default, Feb 19 2014, 00:46:08)
Type "copyright", "credits" or "license" for more information.
IPython 2.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pybloomfilter as pb
In [2]: pb.VERSION
Out[2]: (0, 3, 14)
In [3]: pb.__file__
Out[3]: '/Users/zen/py.env/lib/python2.7/site-packages/pybloomfilter.so'
In [4]:
@seanjensengrey
Copy link
Author

memory backed version

(lldb) bt
* thread #1: tid = 0x177914, 0x00007fff8f51c866 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff8f51c866 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff9036635c libsystem_pthread.dylib`pthread_kill + 92
    frame #2: 0x00007fff921ffb1a libsystem_c.dylib`abort + 125
    frame #3: 0x00007fff921ffc91 libsystem_c.dylib`abort_report_np + 181
    frame #4: 0x00007fff92223860 libsystem_c.dylib`__chk_fail + 48
    frame #5: 0x00007fff92223830 libsystem_c.dylib`__chk_fail_overflow + 16
    frame #6: 0x00007fff92223d84 libsystem_c.dylib`__memcpy_chk + 37
    frame #7: 0x0000000107a26b44 pybloomfilter.so`bloomfilter_Create_Malloc(max_num_elem=<unavailable>, error_rate=2.3675625748712534E-320, num_bits=4792, hash_seeds=0x0000000106cec52c, num_hashes=<unavailable>) + 164 at bloomfilter.c:30
    frame #8: 0x0000000107a30399 pybloomfilter.so`__pyx_pf_13pybloomfilter_11BloomFilter___cinit__(__pyx_v_self=0x00000001079c7830, __pyx_v_capacity=<unavailable>, __pyx_v_error_rate=<unavailable>, __pyx_v_filename=0x00000000000012b8, __pyx_v_perm=<unavailable>) + 20905 at pybloomfilter.c:2311
    frame #9: 0x0000000107a2abd2 pybloomfilter.so`__pyx_tp_new_13pybloomfilter_BloomFilter [inlined] __pyx_pw_13pybloomfilter_11BloomFilter_1__cinit__(__pyx_v_self=0x00000001079c7830, __pyx_args=<unavailable>, __pyx_kwds=<unavailable>) + 133 at pybloomfilter.c:1353
    frame #10: 0x0000000107a2ab4d pybloomfilter.so`__pyx_tp_new_13pybloomfilter_BloomFilter(t=<unavailable>, a=<unavailable>, k=<unavailable>) + 93 at pybloomfilter.c:6128

@seanjensengrey
Copy link
Author

mmap version

* thread #1: tid = 0x177e48, 0x00007fff8f51c866 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff8f51c866 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff9036635c libsystem_pthread.dylib`pthread_kill + 92
    frame #2: 0x00007fff921ffb1a libsystem_c.dylib`abort + 125
    frame #3: 0x00007fff921ffc91 libsystem_c.dylib`abort_report_np + 181
    frame #4: 0x00007fff92223860 libsystem_c.dylib`__chk_fail + 48
    frame #5: 0x00007fff92223830 libsystem_c.dylib`__chk_fail_overflow + 16
    frame #6: 0x00007fff92223d84 libsystem_c.dylib`__memcpy_chk + 37
    frame #7: 0x000000010dc25c88 pybloomfilter.so`bloomfilter_Create_Mmap(max_num_elem=<unavailable>, error_rate=10.000000000000876, file=0x000000010dc0a654, num_bits=4792, oflags=514, perms=493, hash_seeds=0x000000010cf2a52c, num_hashes=<unavailable>) + 184 at bloomfilter.c:62
    frame #8: 0x000000010dc2f59e pybloomfilter.so`__pyx_pf_13pybloomfilter_11BloomFilter___cinit__(__pyx_v_self=<unavailable>, __pyx_v_capacity=<unavailable>, __pyx_v_error_rate=<unavailable>, __pyx_v_filename=<unavailable>, __pyx_v_perm=<unavailable>) + 21422 at pybloomfilter.c:2263
    frame #9: 0x000000010dc29bd2 pybloomfilter.so`__pyx_tp_new_13pybloomfilter_BloomFilter [inlined] __pyx_pw_13pybloomfilter_11BloomFilter_1__cinit__(__pyx_v_self=0x000000010dbff128, __pyx_args=<unavailable>, __pyx_kwds=<unavailable>) + 133 at pybloomfilter.c:1353
    frame #10: 0x000000010dc29b4d pybloomfilter.so`__pyx_tp_new_13pybloomfilter_BloomFilter(t=<unavailable>, a=<unavailable>, k=<unavailable>) + 93 at pybloomfilter.c:6128

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment