Closed lmwnshn closed 3 years ago
select.test
fails because of this short sequence:
statement ok
CREATE TABLE t (a INT PRIMARY KEY);
statement ok
INSERT INTO t VALUES (1);
statement error
INSERT INTO t VALUES (1);
statement ok
DROP TABLE t;
test-unit
fails because of DisconnectAbortTest
Bug Report
Summary
Memory leak on teardown after executing "ant test-unit" or "select.test".
Environment
Looks like both GCC and Clang on CI. Debug builds since you want LSAN. Can reproduce locally.
Background / Steps to Reproduce
1. A CI mystery
The testing framework relies on the following promise here1, here2, here3:
Which is why I found it very mysterious that I was seeing this on CI for the junit and select.test (check any build):
2. A local test.
After booting up the server,
ant test-unit
, then ctrl-c the server:ant test-unit
works, no problemcompile: [javac] Compiling 1 source file to /home/kapi/CLionProjects/noisepage/script/testing/junit/out [javac] Note: /home/kapi/CLionProjects/noisepage/script/testing/junit/src/moglib/CommandLine.java uses unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details.
test-unit: [java] ╷ [java] ├─ JUnit Jupiter ✔ [java] └─ JUnit Vintage ✔ [java] ├─ TrafficCopTest ✔ [java] │ ├─ test_DisconnectAbort ✔ [java] │ ├─ test_DDLStatements ✔ [java] │ ├─ test_BadBinding ✔ [java] │ ├─ test_BadParse ✔ [java] │ └─ test_EmptyStatement ✔ [java] └─ WireTest ✔ [java] └─ testDouble ✔ [java] [java] Test run finished after 1176 ms [java] [ 4 containers found ] [java] [ 0 containers skipped ] [java] [ 4 containers started ] [java] [ 0 containers aborted ] [java] [ 4 containers successful ] [java] [ 0 containers failed ] [java] [ 6 tests found ] [java] [ 0 tests skipped ] [java] [ 6 tests started ] [java] [ 0 tests aborted ] [java] [ 6 tests successful ] [java] [ 0 tests failed ] [java]
BUILD SUCCESSFUL Total time: 3 seconds
^C[2021-02-20 17:32:11.486] [network_logger] [info] Server Closed
================================================================= ==40168==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 16384 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 256 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 40 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 8 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 4 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 4 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 4 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 2 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 2 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Direct leak of 1 byte(s) in 1 object(s) allocated from:
0 0x7fa70869d7b5 in __interceptor_aligned_alloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10e7b5)
Indirect leak of 8192 byte(s) in 1 object(s) allocated from:
0 0x7fa70869eb47 in operator new[](unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10fb47)
Indirect leak of 256 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
Indirect leak of 168 byte(s) in 1 object(s) allocated from:
0 0x7fa70869e947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
SUMMARY: AddressSanitizer: 25321 byte(s) leaked in 13 allocation(s).