[Tarantool-patches] [PATCH luajit v2] test: fix flaky OOM error frame test

Maksim Kokryashkin max.kokryashkin at gmail.com
Thu Nov 9 16:45:49 MSK 2023


This test could do allocation outside of the protected frame,
which could result in an uncaught OOM and test failure. This
patch adds extra `collectgarbage` calls to the test to avoid
such situations.
---
Changes in v2:
- Fixed comments as per review by Sergey Kaplun
Branch: https://github.com/tarantool/luajit/tree/fckxorg/lj-1004-fix-flaky
PR: https://github.com/tarantool/tarantool/pull/9318
 test/tarantool-tests/lj-1004-oom-error-frame.test.lua | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/test/tarantool-tests/lj-1004-oom-error-frame.test.lua b/test/tarantool-tests/lj-1004-oom-error-frame.test.lua
index 3be6b555..2ddb5765 100644
--- a/test/tarantool-tests/lj-1004-oom-error-frame.test.lua
+++ b/test/tarantool-tests/lj-1004-oom-error-frame.test.lua
@@ -10,6 +10,8 @@ test:plan(2)

 local testoomframe = require('testoomframe')

+collectgarbage()
+
 local anchor_memory = {} -- luacheck: no unused
 local function eatchunks(size)
   while true do
@@ -34,6 +36,11 @@ local function chomp()
 end

 local st, err = pcall(chomp)
+
+-- Prevent OOM outside of the protected frame.
+anchor_memory = nil
+collectgarbage()
+
 test:ok(st == false, 'on-trace error handled successfully')
 test:like(err, 'not enough memory', 'error is OOM')
 test:done(true)
--
2.39.3 (Apple Git-145)



More information about the Tarantool-patches mailing list