| Issue |
114018
|
| Summary |
[MLIR][JIT] memory leak found in mlir JitRunner
|
| Labels |
|
| Assignees |
|
| Reporter |
wr-web
|
git version: c104d79ec6b278fcc0d2df18c7b5452fb7e7e5d3
system:
```
LSB Version: core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
```
reproduce:
```
mlir-opt ~/llvm-project/mlir/test/Integration/Dialect/MemRef/print-memref.mlir -one-shot-bufferize="bufferize-function-boundaries" --canonicalize -finalize-memref-to-llvm -convert-func-to-llvm -reconcile-unrealized-casts | ~/llvm-project/build/bin/mlir-cpu-runner -e entry -entry-point-result=void -shared-libs=$HOME/llvm-project/build/lib/libmlir_c_runner_utils.so,$HOME/llvm-project/build/lib/libmlir_runner_utils.so
```
bug report by LeakSanitizer:
```
=================================================================
==1097093==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 208 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c584 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 136 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c335 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 136 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c612 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 136 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c4a6 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 136 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c515 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 100 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c451 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 100 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c2e0 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 82 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c39e (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 82 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c3f2 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 82 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c27e (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
Direct leak of 73 byte(s) in 1 object(s) allocated from:
#0 0x556ae47a098e in malloc (/home/wangrui/llvm-project/build/bin/mlir-cpu-runner+0x10498e) (BuildId: 7f789079801dace4)
#1 0x7fc20526c228 (<unknown module>)
#2 0x7fc252d92d06 in compileAndExecuteVoidFunction((anonymous namespace)::Options&, mlir::Operation*, llvm::StringRef, (anonymous namespace)::CompileAndExecuteConfig, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:234:10
#3 0x7fc252d8c7d6 in mlir::JitRunnerMain(int, char**, mlir::DialectRegistry const&, mlir::JitRunnerConfig) /home/wangrui/llvm-project/mlir/lib/ExecutionEngine/JitRunner.cpp:391:23
#4 0x556ae47dfa6f in main /home/wangrui/llvm-project/mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp:33:10
#5 0x7fc23910d082 in __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:308:16
SUMMARY: AddressSanitizer: 1271 byte(s) leaked in 11 allocation(s).
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs