Merged into 2.3, 2.2 and 1.10 as it affects all this versions On Wednesday, August 28, 2019 5:32:35 PM MSK Maria Khaydich wrote: > In case of throwing client error because of unfinished > transaction we did not destroy used port. It could possibly > cause huge memory leaks as could be seen with top or its > analogues when performing net.box test run in a loop. > > Closes #4388 > --- > Issue: > https://github.com/tarantool/tarantool/issues/4388 > Branch: > https://github.com/tarantool/tarantool/tree/eljashm/gh-4388-uncommitted-ipro > to-leaks-not > > src/box/call.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/box/call.c b/src/box/call.c > index ac2bf3004..169210767 100644 > --- a/src/box/call.c > +++ b/src/box/call.c > @@ -132,6 +132,7 @@ box_process_call(struct call_request *request, struct > port *port) > > if (txn != NULL) { > diag_set(ClientError, ER_FUNCTION_TX_ACTIVE); > + port_destroy(port); > txn_rollback(txn); > fiber_gc(); > return -1;