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

Address Sanitizer (rightfully) complains about stack overflow #32

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pramalhe
Copy link

@pramalhe pramalhe commented Jan 7, 2022

No description provided.

@pramalhe
Copy link
Author

pramalhe commented Jan 7, 2022

Example of ASAN's message:

mem_allocator initialized!
datasize=10

==121746==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffe2dad9f98 at pc 0x7f9c7a18569a bp 0x7ffe2dad9ea0 sp 0x7ffe2dad9648
READ of size 10 at 0x7ffe2dad9f98 thread T0
#0 0x7f9c7a185699 in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823
#1 0x557703c34e97 in ycsb_wl::init_table_slice() benchmarks/ycsb_wl.cpp:130
#2 0x557703c3547c in ycsb_wl::threadInitTable(void*) benchmarks/ycsb.h:24
#3 0x557703c3547c in ycsb_wl::init_table_parallel() benchmarks/ycsb_wl.cpp:94
#4 0x557703c3584a in ycsb_wl::init() benchmarks/ycsb_wl.cpp:27
#5 0x557703c24ea0 in main system/main.cpp:44
#6 0x7f9c79c040b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
#7 0x557703c258fd in _start (/workspace/concurrency/code/2plsf/DBx1000/rundb+0x128fd)

Address 0x7ffe2dad9f98 is located in stack of thread T0 at offset 104 in frame
#0 0x557703c34baf in ycsb_wl::init_table_slice() benchmarks/ycsb_wl.cpp:107

This frame has 4 object(s):
[32, 40) 'new_row' (line 123)
[64, 72) 'row_id' (line 124)
[96, 104) 'primary_key' (line 128) <== Memory access at offset 104 overflows this variable
[128, 134) 'value' (line 134)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions are supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:823 in __interceptor_memcpy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant