Comments (8)
Hi, sorry for the delayed response. I'm not entirely sure what's going on. It's extremely odd that you see all instances die at once, I can't think of a way that would happen.
One possibility is that somehow magic_close() is being called on self.cookie and then that cookie is re-used. I don't see how that could happen. I did add some defensive checks here:
If you use a current version of the wrapper does the problem still occur?
Another option (unlikely) is some bug in file_vprintf. I've traced through the logic there and am somewhat confident it won't double free ms->o.buf, but it's hard to be sure.
Now, I believe the GIL is held during all these calls. If it is not held then that's a whole different problem.
from python-magic.
I'm going to optimistically assume that this is resolved, if not please re-open.
from python-magic.
I am facing a similar issue. We are using python-jira library, which depends upon python-magic==0.4.2
Running under Django 1.4.2 Ubuntu 12.04 64 bit - After making a call from jira python, the Django server segfaults.
*** glibc detected *** python: free(): invalid pointer: 0xb612be98 ***
======= Backtrace: =========
/lib/i386-linux-gnu/tls/i686/nosegneg/libc.so.6(+0x75ee2)[0xb73d3ee2]
/usr/lib/libmagic.so.1(magic_close+0x4a)[0xb3409f8a]
/usr/lib/python2.7/lib-dynload/_ctypes.so(ffi_call_SYSV+0x1a)[0xb707e70a]
/usr/lib/python2.7/lib-dynload/_ctypes.so(ffi_call+0x6f)[0xb707e43f]
/usr/lib/python2.7/lib-dynload/_ctypes.so(_ctypes_callproc+0x7d0)[0xb706e830]
/usr/lib/python2.7/lib-dynload/_ctypes.so(+0x8ca6)[0xb706eca6]
python(PyObject_Call+0x3f)[0x81287ef]
python(PyEval_EvalFrameEx+0xab6)[0x81951e6]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python[0x819c82e]
python(PyObject_Call+0x3f)[0x81287ef]
python[0x80d8e37]
python(PyObject_Call+0x3f)[0x81287ef]
python(PyEval_CallObjectWithKeywords+0x39)[0x8128c59]
python[0x80d9268]
python(PyDict_Clear+0x1e2)[0x8175f52]
python[0x817601f]
python[0x8157b11]
python(_PyObject_GC_Malloc+0xe5)[0x8158075]
python(PyType_GenericAlloc+0x3e)[0x812a75e]
python[0x812c629]
python[0x80ef5ba]
python(PyObject_Call+0x3f)[0x81287ef]
python(PyEval_CallObjectWithKeywords+0x39)[0x8128c59]
python(PyErr_NormalizeException+0xb1)[0x80d8521]
python(PyEval_EvalFrameEx+0x390b)[0x819803b]
python(PyEval_EvalFrameEx+0x7bc)[0x8194eec]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalFrameEx+0x7bc)[0x8194eec]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalFrameEx+0x7bc)[0x8194eec]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python[0x819c972]
python(PyObject_Call+0x3f)[0x81287ef]
python(PyEval_EvalFrameEx+0x1d8b)[0x81964bb]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python[0x819c82e]
python(PyObject_Call+0x3f)[0x81287ef]
python(PyObject_CallFunctionObjArgs+0x6b)[0x815825b]
python[0x8159359]
python(_PyObject_GenericGetAttrWithDict+0x157)[0x80f15c7]
python(PyObject_GetAttr+0x47)[0x80f1797]
python(PyEval_EvalFrameEx+0x1b2)[0x81948e2]
python(PyEval_EvalFrameEx+0x7bc)[0x8194eec]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
python(PyEval_EvalFrameEx+0x6cc)[0x8194dfc]
python(PyEval_EvalCodeEx+0x150)[0x819af70]
======= Memory map: ========
08048000-0829e000 r-xp 00000000 ca:01 739 /usr/bin/python2.7
0829e000-0829f000 r--p 00256000 ca:01 739 /usr/bin/python2.7
0829f000-082f4000 rw-p 00257000 ca:01 739 /usr/bin/python2.7
082f4000-08300000 rw-p 00000000 00:00 0
0970e000-0a8a3000 rw-p 00000000 00:00 0 [heap]
b26ff000-b2700000 rw-p 00000000 00:00 0
b2700000-b2821000 rw-p 00000000 00:00 0
b2821000-b2900000 ---p 00000000 00:00 0
b2900000-b29f4000 rw-p 00000000 00:00 0
b29f4000-b2a00000 ---p 00000000 00:00 0
b2af2000-b2af7000 r-xp 00000000 ca:01 393658 /lib/i386-linux-gnu/tls/i686/nosegneg/libnss_dns-2.15.so
b2af7000-b2af8000 r--p 00004000 ca:01 393658 /lib/i386-linux-gnu/tls/i686/nosegneg/libnss_dns-2.15.so
b2af8000-b2af9000 rw-p 00005000 ca:01 393658 /lib/i386-linux-gnu/tls/i686/nosegneg/libnss_dns-2.15.so
b2b00000-b2c00000 rw-p 00000000 00:00 0
b2cf3000-b2cfe000 r-xp 00000000 ca:01 7619 /usr/lib/python2.7/lib-dynload/_elementtree.so
b2cfe000-b2cff000 r--p 0000a000 ca:01 7619 /usr/lib/python2.7/lib-dynload/_elementtree.so
b2cff000-b2d00000 rw-p 0000b000 ca:01 7619 /usr/lib/python2.7/lib-dynload/_elementtree.so
b2d00000-b2dc5000 rw-p 00000000 00:00 0
b2dc5000-b2e00000 ---p 00000000 00:00 0
b2f00000-b30f1000 rw-p 00000000 00:00 0
b30f1000-b3100000 ---p 00000000 00:00 0
b3100000-b31fe000 rw-p 00000000 00:00 0
b31fe000-b3200000 ---p 00000000 00:00 0
b32f8000-b32fd000 r-xp 00000000 ca:01 7614 /usr/lib/python2.7/lib-dynload/_csv.so
b32fd000-b32fe000 r--p 00004000 ca:01 7614 /usr/lib/python2.7/lib-dynload/_csv.so
b32fe000-b3300000 rw-p 00005000 ca:01 7614 /usr/lib/python2.7/lib-dynload/_csv.so
b3300000-b33d1000 rw-p 00000000 00:00 0
b33d1000-b3400000 ---p 00000000 00:00 0
b3405000-b3420000 r-xp 00000000 ca:01 1144 /usr/lib/libmagic.so.1.0.0
b3420000-b3421000 r--p 0001a000 ca:01 1144 /usr/lib/libmagic.so.1.0.0
b3421000-b3422000 rw-p 0001b000 ca:01 1144 /usr/lib/libmagic.so.1.0.0
b3429000-b342e000 r-xp 00000000 ca:01 1548 /usr/lib/i386-linux-gnu/libgdbm.so.3.0.0
b342e000-b342f000 r--p 00004000 ca:01 1548 /usr/lib/i386-linux-gnu/libgdbm.so.3.0.0
b342f000-b3430000 rw-p 00005000 ca:01 1548 /usr/lib/i386-linux-gnu/libgdbm.so.3.0.0
b3433000-b3435000 r-xp 00000000 ca:01 7633 /usr/lib/python2.7/lib-dynload/dbm.so
b3435000-b3436000 r--p 00002000 ca:01 7633 /usr/lib/python2.7/lib-dynload/dbm.so
b3436000-b3437000 rw-p 00003000 ca:01 7633 /usr/lib/python2.7/lib-dynload/dbm.so
b3437000-b35b9000 r-xp 00000000 ca:01 1535 /usr/lib/i386-linux-gnu/libdb-5.1.so
b35b9000-b35ba000 ---p 00182000 ca:01 1535 /usr/lib/i386-linux-gnu/libdb-5.1.so
b35ba000-b35be000 r--p 00182000 ca:01 1535 /usr/lib/i386-linux-gnu/libdb-5.1.so
b35be000-b35bf000 rw-p 00186000 ca:01 1535 /usr/lib/i386-linux-gnu/libdb-5.1.so
b35bf000-b35ec000 r-xp 00000000 ca:01 7607 /usr/lib/python2.7/lib-dynload/_bsddb.so
b35ec000-b35ed000 r--p 0002c000 ca:01 7607 /usr/lib/python2.7/lib-dynload/_bsddb.so
b35ed000-b35ef000 rw-p 0002d000 ca:01 7607 /usr/lib/python2.7/lib-dynload/_bsddb.so
b35ef000-b35f0000 rw-p 00000000 00:00 0
b35f0000-b35fe000 r-xp 00000000 ca:01 3856 /usr/lib/python2.7/dist-packages/Crypto/Cipher/DES3.so
b35fe000-b35ff000 r--p 0000d000 ca:01 3856 /usr/lib/python2.7/dist-packages/Crypto/Cipher/DES3.so
b35ff000-b3600000 rw-p 0000e000 ca:01 3856 /usr/lib/python2.7/dist-packages/Crypto/Cipher/DES3.so
b3600000-b37d0000 rw-p 00000000 00:00 0
b37d0000-b3800000 ---p 00000000 00:00 0
b3800000-b3900000 rw-p 00000000 00:00 0
b3906000-b397d000 r-xp 00000000 ca:01 1552 /usr/lib/i386-linux-gnu/libgmp.so.10.0.2
b397d000-b397e000 r--p 00076000 ca:01 1552 /usr/lib/i386-linux-gnu/libgmp.so.10.0.2
b397e000-b3985000 rw-p 00077000 ca:01 1552 /usr/lib/i386-linux-gnu/libgmp.so.10.0.2
b3985000-b3995000 r-xp 00000000 ca:01 3916 /usr/lib/python2.7/dist-packages/Crypto/PublicKey/_fastmath.so
b3995000-b3996000 r--p 0000f000 ca:01 3916 /usr/lib/python2.7/dist-packages/Crypto/PublicKey/_fastmath.so
b3996000-b3997000 rw-p 00010000 ca:01 3916 /usr/lib/python2.7/dist-packages/Crypto/PublicKey/_fastmath.so
b3997000-b39f6000 r-xp 00000000 ca:01 4217 /usr/lib/python2.7/dist-packages/M2Crypto/__m2crypto.so
b39f6000-b39f7000 r--p 0005e000 ca:01 4217 /usr/lib/python2.7/dist-packages/M2Crypto/__m2crypto.so
b39f7000-b39fb000 rw-p 0005f000 ca:01 4217 /usr/lib/python2.7/dist-packages/M2Crypto/__m2crypto.so
b39fb000-b39fc000 rw-p 00000000 00:00 0
b39fc000-b39fd000 ---p 00000000 00:00 0
b39fd000-b41fd000 rw-p 00000000 00:00 0
b41fd000-b41fe000 ---p 00000000 00:00 0
b41fe000-b49fe000 rw-p 00000000 00:00 0
b49fe000-b49ff000 ---p 00000000 00:00 0
b49ff000-b51ff000 rw-p 00000000 00:00 0
b51ff000-b5200000 ---p 00000000 00:00 0
b5200000-b5a00000 rw-p 00000000 00:00 0
b5a00000-b5aea000 rw-p 00000000 00:00 0
b5aea000-b5b00000 ---p 00000000 00:00 0
b5b02000-b5b05000 r-xp 00000000 ca:01 7637 /usr/lib/python2.7/lib-dynload/gdbm.so
b5b05000-b5b06000 r--p 00002000 ca:01 7637 /usr/lib/python2.7/lib-dynload/gdbm.so
b5b06000-b5b07000 rw-p 00003000 ca:01 7637 /usr/lib/python2.7/lib-dynload/gdbm.so
b5b07000-b5b09000 r-xp 00000000 ca:01 3852 /usr/lib/python2.7/dist-packages/Crypto/Cipher/ARC4.so
b5b09000-b5b0a000 r--p 00001000 ca:01 3852 /usr/lib/python2.7/dist-packages/Crypto/Cipher/ARC4.so
b5b0a000-b5b0b000 rw-p 00002000 ca:01 3852 /usr/lib/python2.7/dist-packages/Crypto/Cipher/ARC4.so
b5b0b000-b5b0e000 r-xp 00000000 ca:01 4067 /usr/lib/python2.7/dist-packages/Crypto/Util/_counter.so
b5b0e000-b5b0f000 r--p 00002000 ca:01 4067 /usr/lib/python2.7/dist-packages/Crypto/Util/_counter.so
b5b0f000-b5b10000 rw-p 00003000 ca:01 4067 /usr/lib/python2.7/dist-packages/Crypto/Util/_counter.so
b5b10000-b5b18000 r-xp 00000000 ca:01 3825 /usr/lib/python2.7/dist-packages/Crypto/Cipher/AES.so
b5b18000-b5b19000 r--p 00007000 ca:01 3825 /usr/lib/python2.7/dist-packages/Crypto/Cipher/AES.so
b5b19000-b5b1a000 rw-p 00008000 ca:01 3825 /usr/lib/python2.7/dist-packages/Crypto/Cipher/AES.so
b5b1a000-b5b40000 r-xp 00000000 ca:01 394376 /lib/i386-linux-gnu/libexpat.so.1.5.2
b5b40000-b5b41000 ---p 00026000 ca:01 394376 /lib/i386-linux-gnu/libexpat.so.1.5.2
b5b41000-b5b43000 r--p 00026000 ca:01 394376 /lib/i386-linux-gnu/libexpat.so.1.5.2
b5b43000-b5b44000 rw-p 00028000 ca:01 394376 /lib/i386-linux-gnu/libexpat.so.1.5.2
b5b44000-b5b4f000 r-xp 00000000 ca:01 7644 /usr/lib/python2.7/lib-dynload/pyexpat.so
b5b4f000-b5b50000 r--p 0000b000 ca:01 7644 /usr/lib/python2.7/lib-dynload/pyexpat.so
b5b50000-b5b51000 rw-p 0000c000 ca:01 7644 /usr/lib/python2.7/lib-dynload/pyexpat.so
b5b51000-b5b52000 rw-p 00000000 00:00 0
b5b52000-b5b97000 r-xp 00000000 ca:01 16944 /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
b5b97000-b5b98000 r--p 00044000 ca:01 16944 /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
b5b98000-b5b99000 rw-p 00045000 ca:01 16944 /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
b5b99000-b5ba9000 rw-p 00000000 00:00 0
b5ba9000-b5be5000 r-xp 00000000 ca:01 17246 /usr/lib/python2.7/dist-packages/PIL/_imaging.so
b5be5000-b5be7000 r--p 0003b000 ca:01 17246 /usr/lib/python2.7/dist-packages/PIL/_imaging.so
b5be7000-b5be9000 rw-p 0003d000 ca:01 17246 /usr/lib/python2.7/dist-packages/PIL/_imaging.so./debug.sh: line 5: 13233 Aborted (core dumped) pytho
from python-magic.
I too am facing this double free corruption error, I am also using this in a multi-threaded environment. If there is any more information I can provide to help, let me know!
mime_type = magic.from_file(file_path, mime=True)
if not mime_type:
mime_type = 'unknown'
*** glibc detected *** python: double free or corruption (fasttop): 0xb220a738 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x75ee2)[0xb758dee2]
/usr/lib/i386-linux-gnu/libmagic.so.1(file_reset+0x45)[0xb6753275]
/usr/lib/i386-linux-gnu/libmagic.so.1(+0x3091)[0xb6746091]
/usr/lib/python2.7/lib-dynload/_ctypes.so(ffi_call_SYSV+0x1a)[0xb6788a5e]
/usr/lib/python2.7/lib-dynload/_ctypes.so(ffi_call+0x6f)[0xb67887bf]
/usr/lib/python2.7/lib-dynload/_ctypes.so(_ctypes_callproc+0x7a0)[0xb677d320]
/usr/lib/python2.7/lib-dynload/_ctypes.so(+0xc7be)[0xb677d7be]
python(PyEval_EvalFrameEx+0xd25)[0x80a0c65]
python(PyEval_EvalFrameEx+0x9b8)[0x80a08f8]
python(PyEval_EvalCodeEx+0x149)[0x80a6c99]
python(PyEval_EvalFrameEx+0xa5d)[0x80a099d]
python(PyEval_EvalCodeEx+0x149)[0x80a6c99]
python(PyEval_EvalFrameEx+0xa5d)[0x80a099d]
python(PyEval_EvalCodeEx+0x149)[0x80a6c99]
python(PyEval_EvalFrameEx+0xa5d)[0x80a099d]
python(PyEval_EvalFrameEx+0x9b8)[0x80a08f8]
python(PyEval_EvalFrameEx+0x9b8)[0x80a08f8]
python(PyEval_EvalFrameEx+0x9b8)[0x80a08f8]
python(PyEval_EvalFrameEx+0x9b8)[0x80a08f8]
python(PyEval_EvalCodeEx+0x149)[0x80a6c99]
python[0x80e23ae]
python[0x80fe8d9]
python(PyEval_CallObjectWithKeywords+0x75)[0x80dd625]
python[0x81104a3]
/lib/i386-linux-gnu/libpthread.so.0(+0x6d4c)[0xb76ebd4c]
/lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb7606d3e]
======= Memory map: ========
08048000-0825a000 r-xp 00000000 08:01 81789905 /usr/bin/python2.7
0825a000-0825b000 r--p 00211000 08:01 81789905 /usr/bin/python2.7
0825b000-082b0000 rw-p 00212000 08:01 81789905 /usr/bin/python2.7
082b0000-082bd000 rw-p 00000000 00:00 0
0934b000-0a0f5000 rw-p 00000000 00:00 0 [heap]
9fdbe000-9fdbf000 ---p 00000000 00:00 0
9fdbf000-a05bf000 rw-p 00000000 00:00 0
a1dc2000-a1dc3000 ---p 00000000 00:00 0
a1dc3000-a25c3000 rw-p 00000000 00:00 0
a2dc4000-a2dc5000 ---p 00000000 00:00 0
a2dc5000-a35c5000 rw-p 00000000 00:00 0 [stack:21658]
a35c5000-a35c6000 ---p 00000000 00:00 0
a35c6000-a3dc6000 rw-p 00000000 00:00 0
a3dc6000-a3dc7000 ---p 00000000 00:00 0
a3dc7000-a45c7000 rw-p 00000000 00:00 0 [stack:21602]
a55c9000-a55ca000 ---p 00000000 00:00 0
a55ca000-a5dca000 rw-p 00000000 00:00 0 [stack:21501]
a5dca000-a5dcb000 ---p 00000000 00:00 0
a5dcb000-a65cb000 rw-p 00000000 00:00 0
a65cb000-a65cc000 ---p 00000000 00:00 0
a65cc000-a6dcc000 rw-p 00000000 00:00 0 [stack:21361]
a6dcc000-a6dcd000 ---p 00000000 00:00 0
a6dcd000-a75cd000 rw-p 00000000 00:00 0 [stack:21296]
a75cd000-a75ce000 ---p 00000000 00:00 0
a75ce000-a7dce000 rw-p 00000000 00:00 0 [stack:21342]
a7dce000-a7dcf000 ---p 00000000 00:00 0
a7dcf000-a85cf000 rw-p 00000000 00:00 0 [stack:21168]
a85cf000-a85d0000 ---p 00000000 00:00 0
a85d0000-a8dd0000 rw-p 00000000 00:00 0 [stack:21395]
a8dd0000-a8dd1000 ---p 00000000 00:00 0
a8dd1000-a95d1000 rw-p 00000000 00:00 0 [stack:21093]
a9900000-a99bc000 rw-p 00000000 00:00 0
a99bc000-a9a00000 ---p 00000000 00:00 0
a9c00000-a9cfc000 rw-p 00000000 00:00 0
a9cfc000-a9d00000 ---p 00000000 00:00 0
a9dd2000-a9fff000 rw-p 00000000 08:01 82321969 /usr/share/file/magic.mgc
a9fff000-aa000000 ---p 00000000 00:00 0
aa000000-aa800000 rw-p 00000000 00:00 0 [stack:21089]
aa800000-aa8f2000 rw-p 00000000 00:00 0
aa8f2000-aa900000 ---p 00000000 00:00 0
aa9f1000-aa9f2000 ---p 00000000 00:00 0
aa9f2000-ab1f2000 rw-p 00000000 00:00 0 [stack:21088]
ab1f2000-ab1f3000 ---p 00000000 00:00 0
ab1f3000-ab9f3000 rw-p 00000000 00:00 0 [stack:21087]
ab9f3000-ab9f4000 ---p 00000000 00:00 0
ab9f4000-ac1f4000 rw-p 00000000 00:00 0 [stack:21086]
ac1f4000-ac1f5000 ---p 00000000 00:00 0
ac1f5000-ac9f5000 rw-p 00000000 00:00 0 [stack:21085]
ac9f5000-ac9f6000 ---p 00000000 00:00 0
ac9f6000-ad1f6000 rw-p 00000000 00:00 0 [stack:21084]
ad1f6000-ad1f7000 ---p 00000000 00:00 0
ad1f7000-ad9f7000 rw-p 00000000 00:00 0 [stack:21083]
ad9f7000-ad9f8000 ---p 00000000 00:00 0
ad9f8000-ae1f8000 rw-p 00000000 00:00 0 [stack:21082]
ae1f8000-ae1f9000 ---p 00000000 00:00 0
ae1f9000-ae9f9000 rw-p 00000000 00:00 0 [stack:21081]
ae9f9000-ae9fa000 ---p 00000000 00:00 0
ae9fa000-af1fa000 rw-p 00000000 00:00 0 [stack:21080]
af1fa000-af1fb000 ---p 00000000 00:00 0
af1fb000-af9fb000 rw-p 00000000 00:00 0 [stack:21079]
af9fb000-af9fc000 ---p 00000000 00:00 0
af9fc000-b01fc000 rw-p 00000000 00:00 0 [stack:21078]
b01fc000-b01fd000 ---p 00000000 00:00 0
b01fd000-b09fd000 rw-p 00000000 00:00 0 [stack:21076]
b0e00000-b0ee4000 rw-p 00000000 00:00 0
b0ee4000-b0f00000 ---p 00000000 00:00 0
b11fe000-b11ff000 ---p 00000000 00:00 0
b11ff000-b19ff000 rw-p 00000000 00:00 0 [stack:21077]
b19ff000-b1a00000 ---p 00000000 00:00 0
b1a00000-b2200000 rw-p 00000000 00:00 0 [stack:21071]
b2200000-b22fd000 rw-p 00000000 00:00 0
b22fd000-b2300000 ---p 00000000 00:00 0
b23ff000-b2400000 ---p 00000000 00:00 0
b2400000-b2c00000 rw-p 00000000 00:00 0 [stack:21070]
b2c00000-b2cbf000 rw-p 00000000 00:00 0
b2cbf000-b2d00000 ---p 00000000 00:00 0
b2dff000-b2e00000 ---p 00000000 00:00 0
b2e00000-b3600000 rw-p 00000000 00:00 0 [stack:21069]
b3600000-b3700000 rw-p 00000000 00:00 0
b37ff000-b3800000 ---p 00000000 00:00 0
b3800000-b4000000 rw-p 00000000 00:00 0 [stack:21068]
b4000000-b40d1000 rw-p 00000000 00:00 0
b40d1000-b4100000 ---p 00000000 00:00 0
b41ff000-b4200000 ---p 00000000 00:00 0
b4200000-b4a00000 rw-p 00000000 00:00 0 [stack:21067]
b4a00000-b4a21000 rw-p 00000000 00:00 0
b4a21000-b4b00000 ---p 00000000 00:00 0
b4bff000-b4c00000 ---p 00000000 00:00 0
b4c00000-b5400000 rw-p 00000000 00:00 0 [stack:21066]
b5400000-b54bd000 rw-p 00000000 00:00 0
b54bd000-b5500000 ---p 00000000 00:00 0
b55c9000-b55e6000 r-xp 00000000 08:01 82055385 /usr/lib/python2.7/lib-dynload/_codecs_cn.so
b55e6000-b55e7000 ---p 0001d000 08:01 82055385 /usr/lib/python2.7/lib-dynload/_codecs_cn.so
b55e7000-b55ea000 r--p 0001d000 08:01 82055385 /usr/lib/python2.7/lib-dynload/_codecs_cn.so
b55ea000-b55eb000 rw-p 00020000 08:01 82055385 /usr/lib/python2.7/lib-dynload/_codecs_cn.so
b55eb000-b55fd000 r-xp 00000000 08:01 82055421 /usr/lib/python2.7/lib-dynload/parser.so
b55fd000-b55fe000 r--p 00012000 08:01 82055421 /usr/lib/python2.7/lib-dynload/parser.so
b55fe000-b55ff000 rw-p 00013000 08:01 82055421 /usr/lib/python2.7/lib-dynload/parser.so
b55ff000-b5600000 ---p 00000000 00:00 0
b5600000-b5e00000 rw-p 00000000 00:00 0 [stack:21065]
b5e00000-b5eda000 rw-p 00000000 00:00 0
b5eda000-b5f00000 ---p 00000000 00:00 0
b5f08000-b5f0d000 r-xp 00000000 08:01 67896053 /lib/i386-linux-gnu/libnss_dns-2.15.so
b5f0d000-b5f0e000 r--p 00004000 08:01 67896053 /lib/i386-linux-gnu/libnss_dns-2.15.so
b5f0e000-b5f0f000 rw-p 00005000 08:01 67896053 /lib/i386-linux-gnu/libnss_dns-2.15.so
b5f0f000-b5f10000 ---p 00000000 00:00 0
b5f10000-b6710000 rw-p 00000000 00:00 0 [stack:21063]
b6710000-b671b000 r-xp 00000000 08:01 67896055 /lib/i386-linux-gnu/libnss_files-2.15.so
b671b000-b671c000 r--p 0000a000 08:01 67896055 /lib/i386-linux-gnu/libnss_files-2.15.so
b671c000-b671d000 rw-p 0000b000 08:01 67896055 /lib/i386-linux-gnu/libnss_files-2.15.so
b671d000-b6727000 r-xp 00000000 08:01 67896059 /lib/i386-linux-gnu/libnss_nis-2.15.so
b6727000-b6728000 r--p 00009000 08:01 67896059 /lib/i386-linux-gnu/libnss_nis-2.15.so
b6728000-b6729000 rw-p 0000a000 08:01 67896059 /lib/i386-linux-gnu/libnss_nis-2.15.so
b6729000-b673f000 r-xp 00000000 08:01 67896049 /lib/i386-linux-gnu/libnsl-2.15.so
b673f000-b6740000 r--p 00015000 08:01 67896049 /lib/i386-linux-gnu/libnsl-2.15.so
b6740000-b6741000 rw-p 00016000 08:01 67896049 /lib/i386-linux-gnu/libnsl-2.15.so
b6741000-b6743000 rw-p 00000000 00:00 0
b6743000-b675d000 r-xp 00000000 08:01 81794140 /usr/lib/i386-linux-gnu/libmagic.so.1.0.0
b675d000-b675e000 r--p 0001a000 08:01 81794140 /usr/lib/i386-linux-gnu/libmagic.so.1.0.0
b675e000-b675f000 rw-p 0001b000 08:01 81794140 /usr/lib/i386-linux-gnu/libmagic.so.1.0.0
b6769000-b676f000 r-xp 00000000 08:01 82055402 /usr/lib/python2.7/lib-dynload/_multibytecodec.so
b676f000-b6770000 r--p 00005000 08:01 82055402 /usr/lib/python2.7/lib-dynload/_multibytecodec.so
b6770000-b6771000 rw-p 00006000 08:01 82055402 /usr/lib/python2.7/lib-dynload/_multibytecodec.so
b6771000-b678c000 r-xp 00000000 08:01 82055392 /usr/lib/python2.7/lib-dynload/_ctypes.so
b678c000-b6791000 r--p 0001a000 08:01 82055392 /usr/lib/python2.7/lib-dynload/_ctypes.so
b6791000-b6794000 rw-p 0001f000 08:01 82055392 /usr/lib/python2.7/lib-dynload/_ctypes.so
b6794000-b679c000 r-xp 00000000 08:01 67895998 /lib/i386-linux-gnu/libcrypt-2.15.so
b679c000-b679d000 r--p 00007000 08:01 67895998 /lib/i386-linux-gnu/libcrypt-2.15.so
b679d000-b679e000 rw-p 00008000 08:01 67895998 /lib/i386-linux-gnu/libcrypt-2.15.so
b679e000-b67c5000 rw-p 00000000 00:00 0
b67c5000-b6870000 r-xp 00000000 08:01 81794322 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
b6870000-b6871000 r--p 000ab000 08:01 81794322 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
b6871000-b6872000 rw-p 000ac000 08:01 81794322 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
b6872000-b6873000 rw-p 00000000 00:00 0
b6873000-b68b5000 r-xp 00000000 08:01 81794064 /usr/lib/i386-linux-gnu/libhx509.so.5.0.0
b68b5000-b68b6000 r--p 00042000 08:01 81794064 /usr/lib/i386-linux-gnu/libhx509.so.5.0.0
b68b6000-b68b7000 rw-p 00043000 08:01 81794064 /usr/lib/i386-linux-gnu/libhx509.so.5.0.0
b68b7000-b68b8000 rw-p 00000000 00:00 0
b68b8000-b68c5000 r-xp 00000000 08:01 81794058 /usr/lib/i386-linux-gnu/libheimbase.so.1.0.0
b68c5000-b68c6000 r--p 0000c000 08:01 81794058 /usr/lib/i386-linux-gnu/libheimbase.so.1.0.0
b68c6000-b68c7000 rw-p 0000d000 08:01 81794058 /usr/lib/i386-linux-gnu/libheimbase.so.1.0.0
b68c7000-b68ee000 r-xp 00000000 08:01 81794406 /usr/lib/i386-linux-gnu/libwind.so.0.0.0
b68ee000-b68ef000 r--p 00027000 08:01 81794406 /usr/lib/i386-linux-gnu/libwind.so.0.0.0
b68ef000-b68f0000 rw-p 00028000 08:01 81794406 /usr/lib/i386-linux-gnu/libwind.so.0.0.0
b68f0000-b68f3000 r-xp 00000000 08:01 67896021 /lib/i386-linux-gnu/libgpg-error.so.0.8.0
b68f3000-b68f4000 r--p 00002000 08:01 67896021 /lib/i386-linux-gnu/libgpg-error.so.0.8.0
b68f4000-b68f5000 rw-p 00003000 08:01 67896021 /lib/i386-linux-gnu/libgpg-error.so.0.8.0
b68f5000-b6907000 r-xp 00000000 08:01 81794197 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b6907000-b6908000 r--p 00011000 08:01 81794197 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b6908000-b6909000 rw-p 00012000 08:01 81794197 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b6909000-b6919000 r-xp 00000000 08:01 81794340 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.16
b6919000-b691a000 r--p 0000f000 08:01 81794340 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.16
b691a000-b691b000 rw-p 00010000 08:01 81794340 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.16
b691b000-b692e000 r-xp 00000000 08:01 81794274 /usr/lib/i386-linux-gnu/libroken.so.18.1.0
b692e000-b692f000 r--p 00013000 08:01 81794274 /usr/lib/i386-linux-gnu/libroken.so.18.1.0
b692f000-b6930000 rw-p 00014000 08:01 81794274 /usr/lib/i386-linux-gnu/libroken.so.18.1.0
b6930000-b6961000 r-xp 00000000 08:01 81794056 /usr/lib/i386-linux-gnu/libhcrypto.so.4.1.0
b6961000-b6962000 r--p 00031000 08:01 81794056 /usr/lib/i386-linux-gnu/libhcrypto.so.4.1.0
b6962000-b6963000 rw-p 00032000 08:01 81794056 /usr/lib/i386-linux-gnu/libhcrypto.so.4.1.0
b6963000-b6964000 rw-p 00000000 00:00 0
b6964000-b6a00000 r-xp 00000000 08:01 81793735 /usr/lib/i386-linux-gnu/libasn1.so.8.0.0
b6a00000-b6a01000 r--p 0009c000 08:01 81793735 /usr/lib/i386-linux-gnu/libasn1.so.8.0.0
b6a01000-b6a03000 rw-p 0009d000 08:01 81793735 /usr/lib/i386-linux-gnu/libasn1.so.8.0.0
b6a03000-b6a80000 r-xp 00000000 08:01 81794113 /usr/lib/i386-linux-gnu/libkrb5.so.26.0.0
b6a80000-b6a82000 r--p 0007c000 08:01 81794113 /usr/lib/i386-linux-gnu/libkrb5.so.26.0.0
b6a82000-b6a84000 rw-p 0007e000 08:01 81794113 /usr/lib/i386-linux-gnu/libkrb5.so.26.0.0
b6a84000-b6a8a000 r-xp 00000000 08:01 81794060 /usr/lib/i386-linux-gnu/libheimntlm.so.0.1.0
b6a8a000-b6a8b000 r--p 00005000 08:01 81794060 /usr/lib/i386-linux-gnu/libheimntlm.so.0.1.0
b6a8b000-b6a8c000 rw-p 00006000 08:01 81794060 /usr/lib/i386-linux-gnu/libheimntlm.so.0.1.0
b6a8c000-b6b0d000 r-xp 00000000 08:01 67896017 /lib/i386-linux-gnu/libgcrypt.so.11.7.0
b6b0d000-b6b0e000 r--p 00080000 08:01 67896017 /lib/i386-linux-gnu/libgcrypt.so.11.7.0
b6b0e000-b6b10000 rw-p 00081000 08:01 67896017 /lib/i386-linux-gnu/libgcrypt.so.11.7.0
b6b10000-b6bcf000 r-xp 00000000 08:01 81795453 /usr/lib/i386-linux-gnu/libgnutls.so.26.21.8
b6bcf000-b6bd3000 r--p 000be000 08:01 81795453 /usr/lib/i386-linux-gnu/libgnutls.so.26.21.8
b6bd3000-b6bd4000 rw-p 000c2000 08:01 81795453 /usr/lib/i386-linux-gnu/libgnutls.so.26.21.8
b6bd4000-b6c0d000 r-xp 00000000 08:01 81793990 /usr/lib/i386-linux-gnu/libgssapi.so.3.0.0
b6c0d000-b6c0e000 r--p 00038000 08:01 81793990 /usr/lib/i386-linux-gnu/libgssapi.so.3.0.0
b6c0e000-b6c0f000 rw-p 00039000 08:01 81793990 /usr/lib/i386-linux-gnu/libgssapi.so.3.0.0
b6c0f000-b6c10000 rw-p 00000000 00:00 0
b6c10000-b6c29000 r-xp 00000000 08:01 81794291 /usr/lib/i386-linux-gnu/libsasl2.so.2.0.25
b6c29000-b6c2a000 r--p 00019000 08:01 81794291 /usr/lib/i386-linux-gnu/libsasl2.so.2.0.25
b6c2a000-b6c2b000 rw-p 0001a000 08:01 81794291 /usr/lib/i386-linux-gnu/libsasl2.so.2.0.25
b6c2b000-b6c38000 r-xp 00000000 08:01 81794119 /usr/lib/i386-linux-gnu/liblber-2.4.so.2.8.3
b6c38000-b6c39000 r--p 0000c000 08:01 81794119 /usr/lib/i386-linux-gnu/liblber-2.4.so.2.8.3
b6c39000-b6c3a000 rw-p 0000d000 08:01 81794119 /usr/lib/i386-linux-gnu/liblber-2.4.so.2.8.3
b6c3a000-b6c60000 r-xp 00000000 08:01 81794109 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1
b6c60000-b6c61000 r--p 00026000 08:01 81794109 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1
b6c61000-b6c62000 rw-p 00027000 08:01 81794109 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1
b6c62000-b6cb0000 r-xp 00000000 08:01 81794126 /usr/lib/i386-linux-gnu/libldap_r-2.4.so.2.8.3
b6cb0000-b6cb1000 r--p 0004e000 08:01 81794126 /usr/lib/i386-linux-gnu/libldap_r-2.4.so.2.8.3
b6cb1000-b6cb2000 rw-p 0004f000 08:01 81794126 /usr/lib/i386-linux-gnu/libldap_r-2.4.so.2.8.3
b6cb2000-b6cb3000 rw-p 00000000 00:00 0
b6cb3000-b6cee000 r-xp 00000000 08:01 81793992 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2
b6cee000-b6cef000 r--p 0003a000 08:01 81793992 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2
b6cef000-b6cf0000 rw-p 0003b000 08:01 81793992 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2
b6cf0000-b6db7000 r-xp 00000000 08:01 81794115 /usr/lib/i386-linux-gnu/libkrb5.so.3.3
b6db7000-b6dbd000 r--p 000c6000 08:01 81794115 /usr/lib/i386-linux-gnu/libkrb5.so.3.3
b6dbd000-b6dbe000 rw-p 000cc000 08:01 81794115 /usr/lib/i386-linux-gnu/libkrb5.so.3.3
b6dbe000-b6de5000 r-xp 00000000 08:01 81794012 /usr/lib/libpq.so.5.4
b6de5000-b6de6000 ---p 00027000 08:01 81794012 /usr/lib/libpq.so.5.4
b6de6000-b6de7000 r--p 00027000 08:01 81794012 /usr/lib/libpq.so.5.4
b6de7000-b6de8000 rw-p 00028000 08:01 81794012 /usr/lib/libpq.so.5.4
b6ded000-b6def000 r-xp 00000000 08:01 67895335 /lib/libnss_mdns4_minimal.so.2
b6def000-b6df0000 r--p 00001000 08:01 67895335 /lib/libnss_mdns4_minimal.so.2
b6df0000-b6df1000 rw-p 00002000 08:01 67895335 /lib/libnss_mdns4_minimal.so.2
b6df1000-b6df8000 r-xp 00000000 08:01 82320416 /usr/local/lib/python2.7/dist-packages/ssdeep.so
b6df8000-b6df9000 r--p 00006000 08:01 82320416 /usr/local/lib/python2.7/dist-packages/ssdeep.so
b6df9000-b6dfa000 rw-p 00007000 08:01 82320416 /usr/local/lib/python2.7/dist-packages/ssdeep.so
b6dfa000-b6e1e000 r-xp 00000000 08:01 86379651 /usr/local/lib/python2.7/dist-packages/psycopg2/_psycopg.so
b6e1e000-b6e1f000 r--p 00023000 08:01 86379651 /usr/local/lib/python2.7/dist-packages/psycopg2/_psycopg.so
b6e1f000-b6e22000 rw-p 00024000 08:01 86379651 /usr/local/lib/python2.7/dist-packages/psycopg2/_psycopg.so
b6e22000-b6e3f000 r-xp 00000000 08:01 82055399 /usr/lib/python2.7/lib-dynload/_io.so
b6e3f000-b6e40000 r--p 0001c000 08:01 82055399 /usr/lib/python2.7/lib-dynload/_io.so
b6e40000-b6e48000 rw-p 0001d000 08:01 82055399 /usr/lib/python2.7/lib-dynload/_io.so
b6e48000-b6e8a000 rw-p 00000000 00:00 0
b6e8a000-b6e91000 r-xp 00000000 08:01 67896051 /lib/i386-linux-gnu/libnss_compat-2.15.so
b6e91000-b6e92000 r--p 00006000 08:01 67896051 /lib/i386-linux-gnu/libnss_compat-2.15.so
b6e92000-b6e93000 rw-p 00007000 08:01 67896051 /lib/i386-linux-gnu/libnss_compat-2.15.so
b6e93000-b6ea6000 r-xp 00000000 08:01 67896092 /lib/i386-linux-gnu/libresolv-2.15.so
b6ea6000-b6ea7000 r--p 00013000 08:01 67896092 /lib/i386-linux-gnu/libresolv-2.15.so
b6ea7000-b6ea8000 rw-p 00014000 08:01 67896092 /lib/i386-linux-gnu/libresolv-2.15.so
b6ea8000-b6eaa000 rw-p 00000000 00:00 0
b6eaa000-b6eb2000 r-xp 00000000 08:01 82054324 /usr/lib/python2.7/dist-packages/simplejson/_speedups.so
b6eb2000-b6eb3000 r--p 00008000 08:01 82054324 /usr/lib/python2.7/dist-packages/simplejson/_speedups.so
b6eb3000-b6eb4000 rw-p 00009000 08:01 82054324 /usr/lib/python2.7/dist-packages/simplejson/_speedups.so
b6eb4000-b6ec7000 r-xp 00000000 08:01 82055411 /usr/lib/python2.7/lib-dynload/datetime.so
b6ec7000-b6ec8000 r--p 00012000 08:01 82055411 /usr/lib/python2.7/lib-dynload/datetime.so
b6ec8000-b6ecb000 rw-p 00013000 08:01 82055411 /usr/lib/python2.7/lib-dynload/datetime.so
b6ecb000-b6fae000 rw-p 00000000 00:00 0
b6fae000-b6ffd000 r-xp 00000000 08:01 67896101 /lib/i386-linux-gnu/libssl.so.1.0.0
b6ffd000-b6ffe000 ---p 0004f000 08:01 67896101 /lib/i386-linux-gnu/libssl.so.1.0.0
b6ffe000-b7000000 r--p 0004f000 08:01 67896101 /lib/i386-linux-gnu/libssl.so.1.0.0
b7000000-b7004000 rw-p 00051000 08:01 67896101 /lib/i386-linux-gnu/libssl.so.1.0.0
b7004000-b7045000 rw-p 00000000 00:00 0
b7045000-b71d7000 r-xp 00000000 08:01 67896000 /lib/i386-linux-gnu/libcrypto.so.1.0.0
b71d7000-b71d8000 ---p 00192000 08:01 67896000 /lib/i386-linux-gnu/libcrypto.so.1.0.0
b71d8000-b71e7000 r--p 00192000 08:01 67896000 /lib/i386-linux-gnu/libcrypto.so.1.0.0
b71e7000-b71ee000 rw-p 001a1000 08:01 67896000 /lib/i386-linux-gnu/libcrypto.so.1.0.0
b71ee000-b71f3000 rw-p 00000000 00:00 0
b71f3000-b71f7000 r-xp 00000000 08:01 67896119 /lib/i386-linux-gnu/libuuid.so.1.3.0
b71f7000-b71f8000 r--p 00003000 08:01 67896119 /lib/i386-linux-gnu/libuuid.so.1.3.0
b71f8000-b71f9000 rw-p 00004000 08:01 67896119 /lib/i386-linux-gnu/libuuid.so.1.3.0
b71f9000-b71fa000 rwxp 00000000 00:00 0
b71fa000-b7201000 r-xp 00000000 08:01 81794117 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1
b7201000-b7202000 r--p 00006000 08:01 81794117 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1
b7202000-b7203000 rw-p 00007000 08:01 81794117 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1
b7203000-b7206000 r-xp 00000000 08:01 82055397 /usr/lib/python2.7/lib-dynload/_hashlib.so
b7206000-b7207000 r--p 00002000 08:01 82055397 /usr/lib/python2.7/lib-dynload/_hashlib.so
b7207000-b7208000 rw-p 00003000 08:01 82055397 /usr/lib/python2.7/lib-dynload/_hashlib.so
b7208000-b7209000 r--p 005e0000 08:01 81796337 /usr/lib/locale/locale-archive
b7209000-b7409000 r--p 00000000 08:01 81796337 /usr/lib/locale/locale-archive
b7409000-b74ce000 rw-p 00000000 00:00 0
b74ce000-b74f8000 r-xp 00000000 08:01 67896032 /lib/i386-linux-gnu/libm-2.15.so
b74f8000-b74f9000 r--p 00029000 08:01 67896032 /lib/i386-linux-gnu/libm-2.15.so
b74f9000-b74fa000 rw-p 0002a000 08:01 67896032 /lib/i386-linux-gnu/libm-2.15.so
b74fa000-b7516000 r-xp 00000000 08:01 67896015 /lib/i386-linux-gnu/libgcc_s.so.1
b7516000-b7517000 r--p 0001b000 08:01 67896015 /lib/i386-linux-gnu/libgcc_s.so.1
b7517000-b7518000 rw-p 0001c000 08:01 67896015 /lib/i386-linux-gnu/libgcc_s.so.1
b7518000-b76bb000 r-xp 00000000 08:01 67895990 /lib/i386-linux-gnu/libc-2.15.so
b76bb000-b76bc000 ---p 001a3000 08:01 67895990 /lib/i386-linux-gnu/libc-2.15.so
b76bc000-b76be000 r--p 001a3000 08:01 67895990 /lib/i386-linux-gnu/libc-2.15.so
b76be000-b76bf000 rw-p 001a5000 08:01 67895990 /lib/i386-linux-gnu/libc-2.15.so
b76bf000-b76c2000 rw-p 00000000 00:00 0
b76c2000-b76d9000 r-xp 00000000 08:01 67896124 /lib/i386-linux-gnu/libz.so.1.2.7
b76d9000-b76da000 r--p 00016000 08:01 67896124 /lib/i386-linux-gnu/libz.so.1.2.7
b76da000-b76db000 rw-p 00017000 08:01 67896124 /lib/i386-linux-gnu/libz.so.1.2.7
b76db000-b76dd000 r-xp 00000000 08:01 67896116 /lib/i386-linux-gnu/libutil-2.15.so
b76dd000-b76de000 r--p 00001000 08:01 67896116 /lib/i386-linux-gnu/libutil-2.15.so
b76de000-b76df000 rw-p 00002000 08:01 67896116 /lib/i386-linux-gnu/libutil-2.15.so
b76df000-b76e0000 rw-p 00000000 00:00 0
b76e0000-b76e3000 r-xp 00000000 08:01 67896005 /lib/i386-linux-gnu/libdl-2.15.so
b76e3000-b76e4000 r--p 00002000 08:01 67896005 /lib/i386-linux-gnu/libdl-2.15.so
b76e4000-b76e5000 rw-p 00003000 08:01 67896005 /lib/i386-linux-gnu/libdl-2.15.so
b76e5000-b76fc000 r-xp 00000000 08:01 67896086 /lib/i386-linux-gnu/libpthread-2.15.so
b76fc000-b76fd000 r--p 00016000 08:01 67896086 /lib/i386-linux-gnu/libpthread-2.15.so
b76fd000-b76fe000 rw-p 00017000 08:01 67896086 /lib/i386-linux-gnu/libpthread-2.15.so
b76fe000-b7700000 rw-p 00000000 00:00 0
b7700000-b7702000 r-xp 00000000 08:01 67896028 /lib/i386-linux-gnu/libkeyutils.so.1.4
b7702000-b7703000 r--p 00002000 08:01 67896028 /lib/i386-linux-gnu/libkeyutils.so.1.4
b7703000-b7704000 rw-p 00003000 08:01 67896028 /lib/i386-linux-gnu/libkeyutils.so.1.4
b7704000-b7707000 r-xp 00000000 08:01 67895997 /lib/i386-linux-gnu/libcom_err.so.2.1
b7707000-b7708000 r--p 00002000 08:01 67895997 /lib/i386-linux-gnu/libcom_err.so.2.1
b7708000-b7709000 rw-p 00003000 08:01 67895997 /lib/i386-linux-gnu/libcom_err.so.2.1
b7709000-b7710000 r-xp 00000000 08:01 82055405 /usr/lib/python2.7/lib-dynload/_ssl.so
b7710000-b7711000 r--p 00006000 08:01 82055405 /usr/lib/python2.7/lib-dynload/_ssl.so
b7711000-b7712000 rw-p 00007000 08:01 82055405 /usr/lib/python2.7/lib-dynload/_ssl.so
b7712000-b7714000 rw-p 00000000 00:00 0
b7714000-b7715000 r-xp 00000000 00:00 0 [vdso]
b7715000-b7735000 r-xp 00000000 08:01 67895968 /lib/i386-linux-gnu/ld-2.15.so
b7735000-b7736000 r--p 0001f000 08:01 67895968 /lib/i386-linux-gnu/ld-2.15.so
b7736000-b7737000 rw-p 00020000 08:01 67895968 /lib/i386-linux-gnu/ld-2.15.so
bff9a000-bffbb000 rw-p 00000000 00:00 0 [stack]
from python-magic.
I was experiencing similar issues in a multithreaded environment, I found giving each thread it's own instance of the Magic class fixed it. Something like this:
import collections
import magic
import threading
class magicdict(dict):
def __missing__(self, flags):
self[flags] = value = magic.Magic(mime=flags & magic.MAGIC_MIME, mime_encoding=flags & magic.MAGIC_MIME_ENCODING)
return value
def lets_see_some_magic(flags=magic.MAGIC_NONE, wand_cache=collections.defaultdict(magicdict)):
return wand_cache[threading.current_thread()][flags]
I'm not convinced this should be handled inside python-magic, but maybe documented as a known work around, or an optional activation, magic.attempt_thread_safety() or so.
from python-magic.
Oh wow. I spent some time digging through libmagic looking for the magic_close issue and couldn't find the issue but @thesteed's stack is really helpful. Fix coming.
from python-magic.
i see a fix is landed. could you consider releasing a new version to pypi?
from python-magic.
For some reason I was under the impression the GIL was held while in extension calls by default, but turns out CDLL does not hold the GIL (PyDLL does). This was a huge oversight on my part, my apologies.
I will push a new version shortly, I'd like to triage all the new issues first.
from python-magic.
Related Issues (20)
- Package missing from the AUR HOT 2
- Upcoming test suite breakage to to changes in file HOT 3
- 0.4.27: pytest is failing HOT 1
- Error iterating files in directories HOT 13
- UnicodeDecodeError when filename includes non ASCII characters HOT 1
- Segmentation fault when attempting to load `msys-magic-1.dll` from Git SCM HOT 2
- magic.from_file() fails for files with German umlauts in their name although Windows 10 permits such filenames HOT 1
- Binary distribution for libmagic on Windows HOT 2
- Adding libmagic to python-magic wheel on PyPI HOT 4
- Please make `from_file` work on directories HOT 5
- Add a way to specify a default for `magic_file`. HOT 1
- Magic can't get a proper mime type from a MP3 file HOT 2
- On AlmaLinux 8, corrupt .gz files no longer raise an exception HOT 2
- Please make a new release HOT 2
- Please update compat bindings from "file"
- Having Trouble Building Serverless execution HOT 7
- Problems finding MIME type of .pptx HOT 3
- ImportError: failed to find libmagic. Check your installation HOT 1
- Bug in from_buffer function HOT 3
- Allow environment variable to specify full path to libmagic shared lib HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-magic.