memgraph/src
Matej Ferencevic 90c83de7c2 Fix Python memory leaks when exceptions are thrown
Summary:
The Python `ExceptionInfo` data has the potential to extend lifetime of Python
objects that were on the Python frame while the execution was thrown. This
lifetime extension is very dangerous when executing Python procedures because
we use a custom internal memory allocator that is destroyed immediately when
the procedure is done with its execution.

This diff only keeps the formatted Python traceback (as a string) to avoid any
lifetime extension for the Python objects so that the memory allocator can
safely be destroyed after the procedure has finished its execution.

Reviewers: llugovic

Reviewed By: llugovic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2739
2020-03-31 14:24:05 +02:00
..
audit Make audit a standalone library 2020-01-28 16:37:07 +01:00
auth Move KVStore to root source directory 2020-01-24 16:01:51 +01:00
communication Remove unused CMake options 2020-02-05 14:52:22 +01:00
data_structures Remove leftover implementation required by the old storage 2020-03-02 12:45:18 +01:00
glue Remove MG_SINGLE_NODE_V2 define 2020-01-23 17:24:33 +01:00
io Remove Cap'n Proto 2019-05-08 10:51:10 +02:00
kvstore Remove wrongly committed TODO 2020-01-27 11:49:59 +01:00
lisp Move RPC to root source directory 2020-01-27 11:50:24 +01:00
py Fix Python memory leaks when exceptions are thrown 2020-03-31 14:24:05 +02:00
query Fix Python memory leaks when exceptions are thrown 2020-03-31 14:24:05 +02:00
requests Implement kafka transform functionality 2018-07-19 12:52:25 +02:00
rpc Move RPC to root source directory 2020-01-27 11:50:24 +01:00
slk Migrate RPC to SLK 2019-05-06 14:27:57 +02:00
storage/v2 Fix storage GC indices/constraints subtle race condition 2020-03-20 12:41:20 +01:00
telemetry Move KVStore to root source directory 2020-01-24 16:01:51 +01:00
utils Implement storage lock 2020-03-13 19:27:01 +01:00
CMakeLists.txt Install and setup loading Python Query Modules 2020-03-11 10:24:53 +01:00
helpers.hpp Implement storage lock 2020-03-13 19:27:01 +01:00
memgraph.cpp Implement storage lock 2020-03-13 19:27:01 +01:00
mg_import_csv.cpp Implement storage lock 2020-03-13 19:27:01 +01:00
version.hpp.in Add version.hpp.in and display it on '--version' flag 2017-09-27 09:04:44 +02:00