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

[Bug]: ExternalSortTest failed #791

Closed
1 task done
JinHai-CN opened this issue Mar 15, 2024 · 1 comment
Closed
1 task done

[Bug]: ExternalSortTest failed #791

JinHai-CN opened this issue Mar 15, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@JinHai-CN
Copy link
Contributor

JinHai-CN commented Mar 15, 2024

Is there an existing issue for the same bug?

  • I have checked the existing issues.

Branch name

main

CI Action link

https://github.com/infiniflow/infinity/actions/runs/8293250336/job/22695989385?pr=784

Other environment information

No response

Actual behavior


[ RUN      ] ExternalSortTest.test1
=================================================================
==34014==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x53100f5c7e8c at pc 0x560db0fbcc73 bp 0x7fffb78d9330 sp 0x7fffb78d9328
READ of size 1 at 0x53100f5c7e8c thread T0
    #0 0x560db0fbcc72 in infinity::SortMerger@external_sort_merger<unsigned int, unsigned char>::Init(infinity::DirectIO@external_sort_merger&) /infinity/src/storage/invertedindex/common/external_sort_merger.cpp:184:27
    #1 0x560db0fc4a20 in infinity::SortMerger@external_sort_merger<unsigned int, unsigned char>::Run() /infinity/src/storage/invertedindex/common/external_sort_merger.cpp:380:5
    #2 0x560daff55f50 in void ExternalSortTest::CheckMerger<unsigned int, unsigned char>(unsigned long, unsigned int) /infinity/src/unit_test/storage/invertedindex/common/external_sort.cpp:95:16
    #3 0x560daff549e2 in ExternalSortTest_test1_Test::TestBody() /infinity/src/unit_test/storage/invertedindex/common/external_sort.cpp:177:5
    #4 0x560db1df62e2 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2599:10
    #5 0x560db1dae57a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2635:14
    #6 0x560db1d66294 in testing::Test::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:2674:5
    #7 0x560db1d67ec9 in testing::TestInfo::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:2853:11
    #8 0x560db1d694af in testing::TestSuite::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:3012:30
    #9 0x560db1d8d057 in testing::internal::UnitTestImpl::RunAllTests() /infinity/third_party/googletest/googletest/src/gtest.cc:5870:44
    #10 0x560db1df7882 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2599:10
    #11 0x560db1db3f72 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2635:14
    #12 0x560db1d8c398 in testing::UnitTest::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:5444:10
    #13 0x560dafac0710 in RUN_ALL_TESTS() /infinity/third_party/googletest/googletest/include/gtest/gtest.h:2293:73
    #14 0x560dafac06aa in main /infinity/src/unit_test/main.cpp:20:12
    #15 0x7f596547414f  (/lib/x86_64-linux-gnu/libc.so.6+0x2814f) (BuildId: 6a981b07a3731293c24c10a21397416d3c3d52ed)
    #16 0x7f5965474208 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28208) (BuildId: 6a981b07a3731293c24c10a21397416d3c3d52ed)
    #17 0x560daf9e33b4 in _start (/infinity/cmake-build-debug/src/test_main+0x7b83b4) (BuildId: 45225c04b9e993b30538c4722179931b8f71fbae)

0x53100f5c7e8c is located 0 bytes after 79500-byte region [0x53100f5b4800,0x53100f5c7e8c)
allocated by thread T0 here:
    #0 0x560dafa805e2 in malloc (/infinity/cmake-build-debug/src/test_main+0x8555e2) (BuildId: 45225c04b9e993b30538c4722179931b8f71fbae)
    #1 0x560db0fba994 in infinity::SortMerger@external_sort_merger<unsigned int, unsigned char>::NewBuffer() /infinity/src/storage/invertedindex/common/external_sort_merger.cpp:100:28
    #2 0x560db0fbabfc in infinity::SortMerger@external_sort_merger<unsigned int, unsigned char>::Init(infinity::DirectIO@external_sort_merger&) /infinity/src/storage/invertedindex/common/external_sort_merger.cpp:109:5
    #3 0x560db0fc4a20 in infinity::SortMerger@external_sort_merger<unsigned int, unsigned char>::Run() /infinity/src/storage/invertedindex/common/external_sort_merger.cpp:380:5
    #4 0x560daff55f50 in void ExternalSortTest::CheckMerger<unsigned int, unsigned char>(unsigned long, unsigned int) /infinity/src/unit_test/storage/invertedindex/common/external_sort.cpp:95:16
    #5 0x560daff549e2 in ExternalSortTest_test1_Test::TestBody() /infinity/src/unit_test/storage/invertedindex/common/external_sort.cpp:177:5
    #6 0x560db1df62e2 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2599:10
    #7 0x560db1dae57a in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2635:14
    #8 0x560db1d66294 in testing::Test::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:2674:5
    #9 0x560db1d67ec9 in testing::TestInfo::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:2853:11
    #10 0x560db1d694af in testing::TestSuite::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:3012:30
    #11 0x560db1d8d057 in testing::internal::UnitTestImpl::RunAllTests() /infinity/third_party/googletest/googletest/src/gtest.cc:5870:44
    #12 0x560db1df7882 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2599:10
    #13 0x560db1db3f72 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /infinity/third_party/googletest/googletest/src/gtest.cc:2635:14
    #14 0x560db1d8c398 in testing::UnitTest::Run() /infinity/third_party/googletest/googletest/src/gtest.cc:5444:10
    #15 0x560dafac0710 in RUN_ALL_TESTS() /infinity/third_party/googletest/googletest/include/gtest/gtest.h:2293:73
    #16 0x560dafac06aa in main /infinity/src/unit_test/main.cpp:20:12
    #17 0x7f596547414f  (/lib/x86_64-linux-gnu/libc.so.6+0x2814f) (BuildId: 6a981b07a3731293c24c10a21397416d3c3d52ed)

SUMMARY: AddressSanitizer: heap-buffer-overflow /infinity/src/storage/invertedindex/common/external_sort_merger.cpp:184:27 in infinity::SortMerger@external_sort_merger<unsigned int, unsigned char>::Init(infinity::DirectIO@external_sort_merger&)
Shadow bytes around the buggy address:
  0x53100f5c7c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x53100f5c7c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x53100f5c7d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x53100f5c7d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x53100f5c7e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x53100f5c7e80: 00[04]fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x53100f5c7f00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x53100f5c7f80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x53100f5c8000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x53100f5c8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x53100f5c8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==34014==ABORTING

Expected behavior

No response

Steps to reproduce

Use CI to run the test cases.

Additional information

No response

@JinHai-CN JinHai-CN added the bug Something isn't working label Mar 15, 2024
@yuzhichang
Copy link
Member

Cannot reproduce for recent commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants