Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sanitizer: stack-use-after-scope in FilterParserTest #4476

Closed
JaySon-Huang opened this issue Mar 28, 2022 · 1 comment · Fixed by #4477 or #4638
Closed

sanitizer: stack-use-after-scope in FilterParserTest #4476

JaySon-Huang opened this issue Mar 28, 2022 · 1 comment · Fixed by #4477 or #4638
Assignees
Labels
severity/minor type/bug The issue is confirmed as a bug.

Comments

@JaySon-Huang
Copy link
Contributor

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

build with asan and run unit tests

2. What did you expect to see? (Required)

no error detected

3. What did you see instead (Required)

[2022-03-28T04:34:55.496Z] [889/1122] FilterParserTest.UnsupportedColumnType (1276 ms)
[2022-03-28T04:34:55.496Z] [2022/03/28 12:34:54.328 +08:00] [INFO] [PathCapacityMetrics.cpp:84] ["PathCapacityMetrics:Init capacity [path=/tiflash/tmp/] [capacity=0.00 B]"] [thread_id=1]
[2022-03-28T04:34:55.496Z] [2022/03/28 12:34:54.328 +08:00] [INFO] [MinTSOScheduler.cpp:47] ["MinTSOScheduler:thread_hard_limit is 10000, thread_soft_limit is 5000, and active_set_soft_limit is 11 in MinTSOScheduler."] [thread_id=1]
[2022-03-28T04:34:55.496Z] [2022/03/28 12:34:54.328 +08:00] [INFO] [RegionPersister.cpp:196] ["RegionPersister:RegionPersister running in v2 mode"] [thread_id=1]
[2022-03-28T04:34:55.496Z] [2022/03/28 12:34:54.329 +08:00] [INFO] [PageStorage.cpp:200] ["PageStorage:RegionPersister begin to restore data from disk. [path=/tiflash/tmp/kvstore] [num_writers=4]"] [thread_id=1]
[2022-03-28T04:34:55.496Z] [2022/03/28 12:34:54.329 +08:00] [INFO] [PageStorage.cpp:354] ["PageStorage:RegionPersister restore 0 pages, write batch sequence: 0, 0 puts and 0 refs and 0 deletes and 0 upserts"] [thread_id=1]
[2022-03-28T04:34:55.496Z] [2022/03/28 12:34:54.329 +08:00] [INFO] [KVStore.cpp:59] ["KVStore:Restored 0 regions"] [thread_id=1]
[2022-03-28T04:34:55.497Z] [2022/03/28 12:34:54.329 +08:00] [INFO] [RegionTable.cpp:182] ["RegionTable:Start to restore"] [thread_id=1]
[2022-03-28T04:34:55.497Z] [2022/03/28 12:34:54.329 +08:00] [INFO] [RegionTable.cpp:188] ["RegionTable:Restore 0 tables"] [thread_id=1]
[2022-03-28T04:34:55.497Z] �[0;33mNote: Google Test filter = FilterParserTest.UnsupportedColumnType
[2022-03-28T04:34:55.497Z] �[m�[0;32m[==========] �[mRunning 1 test from 1 test case.
[2022-03-28T04:34:55.497Z] �[0;32m[----------] �[mGlobal test environment set-up.
[2022-03-28T04:34:55.497Z] �[0;32m[----------] �[m1 test from FilterParserTest
[2022-03-28T04:34:55.497Z] �[0;32m[ RUN      ] �[mFilterParserTest.UnsupportedColumnType
[2022-03-28T04:34:55.497Z] =================================================================
[2022-03-28T04:34:55.497Z] ==22778==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7fffac67cbf0 at pc 0x000013b06f46 bp 0x7fffac67c8b0 sp 0x7fffac67c8a8
[2022-03-28T04:34:55.497Z] READ of size 8 at 0x7fffac67cbf0 thread T0
[2022-03-28T04:34:55.497Z]     #0 0x13b06f45 in std::__1::vector<long, std::__1::allocator<long> >::empty() const /usr/local/bin/../include/c++/v1/vector:686:23
[2022-03-28T04:34:55.497Z]     #1 0x13b06f45 in DB::QueryFragment::toQueryTask(DB::DAGProperties const&, DB::MPPInfo&, DB::Context const&) const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Debug/dbgFuncCoprocessor.cpp:2157:115
[2022-03-28T04:34:55.497Z]     #2 0x13b007cc in DB::QueryFragment::toQueryTasks(DB::DAGProperties const&, DB::Context const&) const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Debug/dbgFuncCoprocessor.cpp:2179:27
[2022-03-28T04:34:55.497Z]     #3 0x13ae74ec in DB::queryPlanToQueryTasks(DB::DAGProperties const&, std::__1::shared_ptr<DB::mock::Executor>, unsigned long&, DB::Context const&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Debug/dbgFuncCoprocessor.cpp:2285:27
[2022-03-28T04:34:55.497Z]     #4 0x13ac70e4 in DB::compileQuery(DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<TiDB::TableInfo (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, DB::DAGProperties const&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Debug/dbgFuncCoprocessor.cpp:2529:28
[2022-03-28T04:34:55.497Z]     #5 0x73fea4f in DB::tests::FilterParserTest::generateRsOperator(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::TimezoneInfo&) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Storages/tests/gtest_filter_parser.cpp:77:42
[2022-03-28T04:34:55.497Z]     #6 0x7439716 in DB::tests::FilterParserTest_UnsupportedColumnType_Test::TestBody() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Storages/tests/gtest_filter_parser.cpp:478:28
[2022-03-28T04:34:55.497Z]     #7 0x138a9cb0 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2401:10
[2022-03-28T04:34:55.497Z]     #8 0x138a9cb0 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2437:14
[2022-03-28T04:34:55.497Z]     #9 0x13859e98 in testing::Test::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2473:5
[2022-03-28T04:34:55.497Z]     #10 0x1385cfa7 in testing::TestInfo::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2655:11
[2022-03-28T04:34:55.497Z]     #11 0x1385e50f in testing::TestCase::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2773:28
[2022-03-28T04:34:55.497Z]     #12 0x13879708 in testing::internal::UnitTestImpl::RunAllTests() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:4673:43
[2022-03-28T04:34:55.497Z]     #13 0x138abce0 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2401:10
[2022-03-28T04:34:55.497Z]     #14 0x138abce0 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:2437:14
[2022-03-28T04:34:55.497Z]     #15 0x1387832a in testing::UnitTest::Run() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/src/gtest.cc:4281:10
[2022-03-28T04:34:55.497Z]     #16 0x74b580a in RUN_ALL_TESTS() /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/contrib/googletest/googletest/include/gtest/gtest.h:2237:46
[2022-03-28T04:34:55.497Z]     #17 0x74b580a in main /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/TestUtils/gtests_dbms_main.cpp:36:16
[2022-03-28T04:34:55.497Z]     #18 0x7f8239857554 in __libc_start_main (/lib64/libc.so.6+0x22554)
[2022-03-28T04:34:55.497Z]     #19 0x31dfa68 in _start (/tiflash/gtests_dbms+0x31dfa68)
[2022-03-28T04:34:55.497Z] 
[2022-03-28T04:34:55.497Z] Address 0x7fffac67cbf0 is located in stack of thread T0 at offset 304 in frame
[2022-03-28T04:34:55.497Z]     #0 0x13affe9f in DB::QueryFragment::toQueryTasks(DB::DAGProperties const&, DB::Context const&) const /home/jenkins/agent/workspace/tiflash-sanitizer-daily/tiflash/dbms/src/Debug/dbgFuncCoprocessor.cpp:2161
[2022-03-28T04:34:55.497Z] 
[2022-03-28T04:34:55.497Z]   This frame has 6 object(s):
[2022-03-28T04:34:55.497Z]     [32, 72) 'mpp_info' (line 2167)
[2022-03-28T04:34:55.497Z]     [112, 192) 'ref.tmp' (line 2173)
[2022-03-28T04:34:55.497Z]     [224, 264) 'mpp_info10' (line 2178)
[2022-03-28T04:34:55.497Z]     [304, 328) 'ref.tmp12' (line 2178) <== Memory access at offset 304 is inside this variable
[2022-03-28T04:34:55.497Z]     [368, 408) 'ref.tmp13' (line 2178)
[2022-03-28T04:34:55.497Z]     [448, 528) 'ref.tmp20' (line 2179)
[2022-03-28T04:34:55.497Z] HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
[2022-03-28T04:34:55.497Z]       (longjmp and C++ exceptions *are* supported)
[2022-03-28T04:34:55.497Z] SUMMARY: AddressSanitizer: stack-use-after-scope /usr/local/bin/../include/c++/v1/vector:686:23 in std::__1::vector<long, std::__1::allocator<long> >::empty() const
[2022-03-28T04:34:55.497Z] Shadow bytes around the buggy address:
[2022-03-28T04:34:55.497Z]   0x1000758c7920: f8 f8 f2 f2 f2 f2 f8 f2 00 00 f2 f2 00 00 f3 f3
[2022-03-28T04:34:55.497Z]   0x1000758c7930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2022-03-28T04:34:55.497Z]   0x1000758c7940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2022-03-28T04:34:55.497Z]   0x1000758c7950: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f8 f8 f8 f8
[2022-03-28T04:34:55.497Z]   0x1000758c7960: f8 f2 f2 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
[2022-03-28T04:34:55.497Z] =>0x1000758c7970: f2 f2 f2 f2 00 00 00 00 00 f2 f2 f2 f2 f2[f8]f8
[2022-03-28T04:34:55.497Z]   0x1000758c7980: f8 f2 f2 f2 f2 f2 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2
[2022-03-28T04:34:55.497Z]   0x1000758c7990: 00 00 00 00 00 00 00 00 00 00 f3 f3 f3 f3 f3 f3
[2022-03-28T04:34:55.497Z]   0x1000758c79a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2022-03-28T04:34:55.497Z]   0x1000758c79b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2022-03-28T04:34:55.497Z]   0x1000758c79c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[2022-03-28T04:34:55.497Z] Shadow byte legend (one shadow byte represents 8 application bytes):
[2022-03-28T04:34:55.497Z]   Addressable:           00
[2022-03-28T04:34:55.497Z]   Partially addressable: 01 02 03 04 05 06 07
[2022-03-28T04:34:55.497Z]   Heap left redzone:       fa
[2022-03-28T04:34:55.497Z]   Freed heap region:       fd
[2022-03-28T04:34:55.497Z]   Stack left redzone:      f1
[2022-03-28T04:34:55.497Z]   Stack mid redzone:       f2
[2022-03-28T04:34:55.497Z]   Stack right redzone:     f3
[2022-03-28T04:34:55.497Z]   Stack after return:      f5
[2022-03-28T04:34:55.497Z]   Stack use after scope:   f8
[2022-03-28T04:34:55.497Z]   Global redzone:          f9
[2022-03-28T04:34:55.497Z]   Global init order:       f6
[2022-03-28T04:34:55.497Z]   Poisoned by user:        f7
[2022-03-28T04:34:55.497Z]   Container overflow:      fc
[2022-03-28T04:34:55.497Z]   Array cookie:            ac
[2022-03-28T04:34:55.497Z]   Intra object redzone:    bb
[2022-03-28T04:34:55.497Z]   ASan internal:           fe
[2022-03-28T04:34:55.497Z]   Left alloca redzone:     ca
[2022-03-28T04:34:55.497Z]   Right alloca redzone:    cb
[2022-03-28T04:34:55.497Z] ==22778==ABORTING

4. What is your TiFlash version? (Required)

@JaySon-Huang
Copy link
Contributor Author

JaySon-Huang commented Apr 13, 2022

reopen for this pr #4610 revert the changes in #4477

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
severity/minor type/bug The issue is confirmed as a bug.
Projects
None yet
2 participants