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

Fix SAN failure in Daily build #4201

Merged
merged 3 commits into from
Sep 7, 2022

Conversation

eddyashton
Copy link
Member

@eddyashton eddyashton commented Sep 7, 2022

The Instrumented build has detected a container overflow since #4183, which added the external executor test.

We can't work out what's different about this build/app/run, or what's unusual about this bit of code that causes the error. I'm leaning towards it being a false positive, but can't be sure.

The fix here is to refactor the code to avoid the alert entirely.

The full sanitizer error, for posterity:
79: ==19100==ERROR: AddressSanitizer: container-overflow on address 0x6030001cbe20 at pc 0x7fe4de8a26bb bp 0x7fe4dbe5c8e0 sp 0x7fe4dbe5c8d8
79: READ of size 1 at 0x6030001cbe20 thread T2
79:     #0 0x7fe4de8a26ba in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__is_long() const /usr/lib/llvm-10/bin/../include/c++/v1/string:1420:39
79:     #1 0x7fe4de8a23a4 in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::size() const /usr/lib/llvm-10/bin/../include/c++/v1/string:947:17
79:     #2 0x7fe4de8d7524 in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::empty() const /usr/lib/llvm-10/bin/../include/c++/v1/string:967:42
79:     #3 0x7fe4df23dfd3 in tls::CA::CA(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool) /__w/1/s/build/../src/tls/ca.h:32:24
79:     #4 0x7fe4e02e803d in tls::CA::CA(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) /__w/1/s/build/../src/tls/ca.h:22:7
79:     #5 0x7fe4e067ccb9 in ccf::js::js_is_valid_x509_cert_bundle(JSContext*, JSValue, int, JSValue*) /__w/1/s/build/../src/js/crypto.cpp:139:15
79:     #6 0x7fe4e07c2d95 in js_call_c_function /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16079:19
79:     #7 0x7fe4e07dd1c1 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16273:16
79:     #8 0x7fe4e07e0065 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16680:27
79:     #9 0x7fe4e07dfc07 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16644:27
79:     #10 0x7fe4e07e0065 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16680:27
79:     #11 0x7fe4e07dce77 in JS_Call /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:18717:12
79:     #12 0x7fe4df653170 in ccf::js::Context::call(ccf::js::JSWrappedValue const&, std::__1::vector<ccf::js::JSWrappedValue, std::__1::allocator<ccf::js::JSWrappedValue> > const&) const /__w/1/s/build/../src/js/wrap.h:432:16
79:     #13 0x7fe4df64bd49 in ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)::operator()(ccf::endpoints::EndpointContext&) const /__w/1/s/build/../src/node/rpc/member_frontend.h:923:28
79:     #14 0x7fe4df647da6 in decltype(std::__1::forward<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&>(fp)(std::__1::forward<ccf::endpoints::EndpointContext&>(fp0))) std::__1::__invoke<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&>(ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/type_traits:3539:1
79:     #15 0x7fe4df647b66 in void std::__1::__invoke_void_return_wrapper<void>::__call<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&>(ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/__functional_base:348:9
79:     #16 0x7fe4df647a2c in std::__1::__function::__alloc_func<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&), std::__1::allocator<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)>, void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/functional:1540:16
79:     #17 0x7fe4df6424a1 in std::__1::__function::__func<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&), std::__1::allocator<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)>, void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/functional:1714:12
79:     #18 0x7fe4e0a1a7c6 in std::__1::__function::__value_func<void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) const /usr/lib/llvm-10/bin/../include/c++/v1/functional:1867:16
79:     #19 0x7fe4e09d1707 in std::__1::function<void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) const /usr/lib/llvm-10/bin/../include/c++/v1/functional:2473:12
79:     #20 0x7fe4e09a3421 in ccf::endpoints::EndpointRegistry::execute_endpoint(std::__1::shared_ptr<ccf::endpoints::EndpointDefinition const>, ccf::endpoints::EndpointContext&) /__w/1/s/build/../src/endpoints/endpoint_registry.cpp:370:5
79:     #21 0x7fe4df7fc182 in ccf::RpcFrontend::process_command(std::__1::shared_ptr<ccf::RpcContextImpl>, kv::CommittableTx&, std::__1::function<void (kv::CommittableTx&, ccf::RpcContextImpl&)> const&, unsigned long, unsigned long) /__w/1/s/build/../src/node/rpc/frontend.h:367:23
79:     #22 0x7fe4df54d494 in ccf::RpcFrontend::process(std::__1::shared_ptr<ccf::RpcContextImpl>) /__w/1/s/build/../src/node/rpc/frontend.h:626:14
79:     #23 0x7fe4e05319e6 in http::HTTP2ServerEndpoint::handle_request(llhttp_method, std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, std::__1::map<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> >, std::__1::less<void>, std::__1::allocator<std::__1::pair<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> > > > >&&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >&&, int) /__w/1/s/build/../src/http/http2_endpoint.h:180:41
79:     #24 0x7fe4e05358d4 in http2::ServerSession::handle_request(http2::StreamData*) /__w/1/s/build/../src/http/http2.h:551:12
79:     #25 0x7fe4deb5d062 in http2::on_frame_recv_callback(nghttp2_session*, nghttp2_frame const*, void*) /__w/1/s/build/../src/http/http2.h:144:14
79:     #26 0x7fe4e0d1c25a in session_call_on_frame_received /__w/1/s/build/../3rdparty/exported/nghttp2/nghttp2_session.c:3658:10
79:     #27 0x7fe4e0d2b949 in nghttp2_session_on_data_received /__w/1/s/build/../3rdparty/exported/nghttp2/nghttp2_session.c:5473:8
79:     #28 0x7fe4e0d4dd56 in session_process_data_frame /__w/1/s/build/../3rdparty/exported/nghttp2/nghttp2_session.c:5492:8
79:     #29 0x7fe4e0d41134 in nghttp2_session_mem_recv /__w/1/s/build/../3rdparty/exported/nghttp2/nghttp2_session.c:7176:12
79:     #30 0x7fe4df295feb in http2::Session::recv(unsigned char const*, unsigned long) /__w/1/s/build/../src/http/http2.h:435:22
79:     #31 0x7fe4df291511 in http::HTTP2Endpoint::recv_(unsigned char const*, unsigned long) /__w/1/s/build/../src/http/http2_endpoint.h:67:19
79:     #32 0x7fe4df28f1cd in http::HTTP2Endpoint::recv_cb(std::__1::unique_ptr<threading::Tmsg<ccf::TLSEndpoint::SendRecvMsg>, std::__1::default_delete<threading::Tmsg<ccf::TLSEndpoint::SendRecvMsg> > >) /__w/1/s/build/../src/http/http2_endpoint.h:32:11
79:     #33 0x7fe4e0590b61 in threading::Task::run_next_task() /__w/1/s/build/../src/ds/thread_messaging.h:70:7
79:     #34 0x7fe4e0333958 in threading::ThreadMessaging::run_one() /__w/1/s/build/../src/ds/thread_messaging.h:275:19
79:     #35 0x7fe4dec360f7 in ccf::Enclave::run_main() /__w/1/s/build/../src/enclave/enclave.h:442:63
79:     #36 0x7fe4deb47b0d in enclave_run /__w/1/s/build/../src/enclave/main.cpp:342:28
79:     #37 0x12f394e in virtual_run /__w/1/s/build/../src/enclave/virtual_enclave.h:158:16
79:     #38 0x12f26e1 in host::Enclave::run() /__w/1/s/build/../src/host/enclave.h:253:15
79:     #39 0x53b640 in main::$_30::operator()() const /__w/1/s/build/../src/host/main.cpp:620:17
79:     #40 0x53b15f in decltype(std::__1::forward<main::$_30>(fp)()) std::__1::__invoke<main::$_30>(main::$_30&&) /usr/lib/llvm-10/bin/../include/c++/v1/type_traits:3539:1
79:     #41 0x53af07 in void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_30>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_30>&, std::__1::__tuple_indices<>) /usr/lib/llvm-10/bin/../include/c++/v1/thread:273:5
79:     #42 0x53a145 in void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_30> >(void*) /usr/lib/llvm-10/bin/../include/c++/v1/thread:284:5
79:     #43 0x7fe4e729c608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608)
79:     #44 0x7fe4e6d75132 in clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132)
79: 
79: 0x6030001cbe20 is located 0 bytes inside of 24-byte region [0x6030001cbe20,0x6030001cbe38)
79: allocated by thread T2 here:
79:     #0 0x4cd51d in operator new(unsigned long) (/__w/1/s/build/cchost+0x4cd51d)
79:     #1 0x7fe4de88e36c in std::__1::__libcpp_allocate(unsigned long, unsigned long) /usr/lib/llvm-10/bin/../include/c++/v1/new:253:10
79:     #2 0x7fe4de89e172 in std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::allocate(unsigned long, void const*) /usr/lib/llvm-10/bin/../include/c++/v1/memory:1864:37
79:     #3 0x7fe4de89d920 in std::__1::allocator_traits<std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::allocate(std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&, unsigned long) /usr/lib/llvm-10/bin/../include/c++/v1/memory:1581:21
79:     #4 0x7fe4defa0d95 in std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::__vallocate(unsigned long) /usr/lib/llvm-10/bin/../include/c++/v1/vector:994:37
79:     #5 0x7fe4e02e84c2 in std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::vector(std::initializer_list<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >) /usr/lib/llvm-10/bin/../include/c++/v1/vector:1333:9
79:     #6 0x7fe4e02e7fed in tls::CA::CA(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) /__w/1/s/build/../src/tls/ca.h:22:10
79:     #7 0x7fe4e067ccb9 in ccf::js::js_is_valid_x509_cert_bundle(JSContext*, JSValue, int, JSValue*) /__w/1/s/build/../src/js/crypto.cpp:139:15
79:     #8 0x7fe4e07c2d95 in js_call_c_function /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16079:19
79:     #9 0x7fe4e07dd1c1 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16273:16
79:     #10 0x7fe4e07e0065 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16680:27
79:     #11 0x7fe4e07dfc07 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16644:27
79:     #12 0x7fe4e07e0065 in JS_CallInternal /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:16680:27
79:     #13 0x7fe4e07dce77 in JS_Call /__w/1/s/build/../3rdparty/exported/quickjs/quickjs.c:18717:12
79:     #14 0x7fe4df653170 in ccf::js::Context::call(ccf::js::JSWrappedValue const&, std::__1::vector<ccf::js::JSWrappedValue, std::__1::allocator<ccf::js::JSWrappedValue> > const&) const /__w/1/s/build/../src/js/wrap.h:432:16
79:     #15 0x7fe4df64bd49 in ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)::operator()(ccf::endpoints::EndpointContext&) const /__w/1/s/build/../src/node/rpc/member_frontend.h:923:28
79:     #16 0x7fe4df647da6 in decltype(std::__1::forward<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&>(fp)(std::__1::forward<ccf::endpoints::EndpointContext&>(fp0))) std::__1::__invoke<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&>(ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/type_traits:3539:1
79:     #17 0x7fe4df647b66 in void std::__1::__invoke_void_return_wrapper<void>::__call<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&>(ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)&, ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/__functional_base:348:9
79:     #18 0x7fe4df647a2c in std::__1::__function::__alloc_func<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&), std::__1::allocator<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)>, void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/functional:1540:16
79:     #19 0x7fe4df6424a1 in std::__1::__function::__func<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&), std::__1::allocator<ccf::MemberEndpoints::init_handlers()::'lambda'(ccf::endpoints::EndpointContext&)>, void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) /usr/lib/llvm-10/bin/../include/c++/v1/functional:1714:12
79:     #20 0x7fe4e0a1a7c6 in std::__1::__function::__value_func<void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) const /usr/lib/llvm-10/bin/../include/c++/v1/functional:1867:16
79:     #21 0x7fe4e09d1707 in std::__1::function<void (ccf::endpoints::EndpointContext&)>::operator()(ccf::endpoints::EndpointContext&) const /usr/lib/llvm-10/bin/../include/c++/v1/functional:2473:12
79:     #22 0x7fe4e09a3421 in ccf::endpoints::EndpointRegistry::execute_endpoint(std::__1::shared_ptr<ccf::endpoints::EndpointDefinition const>, ccf::endpoints::EndpointContext&) /__w/1/s/build/../src/endpoints/endpoint_registry.cpp:370:5
79:     #23 0x7fe4df7fc182 in ccf::RpcFrontend::process_command(std::__1::shared_ptr<ccf::RpcContextImpl>, kv::CommittableTx&, std::__1::function<void (kv::CommittableTx&, ccf::RpcContextImpl&)> const&, unsigned long, unsigned long) /__w/1/s/build/../src/node/rpc/frontend.h:367:23
79:     #24 0x7fe4df54d494 in ccf::RpcFrontend::process(std::__1::shared_ptr<ccf::RpcContextImpl>) /__w/1/s/build/../src/node/rpc/frontend.h:626:14
79:     #25 0x7fe4e05319e6 in http::HTTP2ServerEndpoint::handle_request(llhttp_method, std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, std::__1::map<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> >, std::__1::less<void>, std::__1::allocator<std::__1::pair<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> > > > >&&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >&&, int) /__w/1/s/build/../src/http/http2_endpoint.h:180:41
79:     #26 0x7fe4e05358d4 in http2::ServerSession::handle_request(http2::StreamData*) /__w/1/s/build/../src/http/http2.h:551:12
79:     #27 0x7fe4deb5d062 in http2::on_frame_recv_callback(nghttp2_session*, nghttp2_frame const*, void*) /__w/1/s/build/../src/http/http2.h:144:14
79:     #28 0x7fe4e0d1c25a in session_call_on_frame_received /__w/1/s/build/../3rdparty/exported/nghttp2/nghttp2_session.c:3658:10
79:     #29 0x7fe4e0d2b949 in nghttp2_session_on_data_received /__w/1/s/build/../3rdparty/exported/nghttp2/nghttp2_session.c:5473:8
79: 
79: Thread T2 created by T0 here:
79:     #0 0x488b5a in pthread_create (/__w/1/s/build/cchost+0x488b5a)
79:     #1 0x12ec0f0 in std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-10/bin/../include/c++/v1/__threading_support:394:10
79:     #2 0x51960b in std::__1::thread::thread<main::$_30&, void>(main::$_30&) /usr/lib/llvm-10/bin/../include/c++/v1/thread:300:16
79:     #3 0x509ebc in main /__w/1/s/build/../src/host/main.cpp:640:28
79:     #4 0x7fe4e6c7a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082)
79: 
79: HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_container_overflow=0.
79: If you suspect a false positive see also: https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow.
79: SUMMARY: AddressSanitizer: container-overflow /usr/lib/llvm-10/bin/../include/c++/v1/string:1420:39 in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__is_long() const
79: Shadow bytes around the buggy address:
79:   0x0c0680031770: fd fd fd fa fa fa 00 00 00 00 fa fa 00 00 00 fa
79:   0x0c0680031780: fa fa fd fd fd fd fa fa 00 00 00 00 fa fa 00 00
79:   0x0c0680031790: 00 00 fa fa 00 00 00 00 fa fa 00 00 00 00 fa fa
79:   0x0c06800317a0: 00 00 00 00 fa fa 00 00 00 00 fa fa 00 00 00 00
79:   0x0c06800317b0: fa fa 00 00 00 00 fa fa 00 00 00 fa fa fa 00 00
79: =>0x0c06800317c0: 00 00 fa fa[fc]fc fc fa fa fa fa fa fa fa fa fa
79:   0x0c06800317d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
79:   0x0c06800317e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
79:   0x0c06800317f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
79:   0x0c0680031800: fd fd fd fa fa fa fd fd fd fd fa fa fd fd fd fa
79:   0x0c0680031810: fa fa fd fd fd fd fa fa fd fd fd fd fa fa fd fd
79: Shadow byte legend (one shadow byte represents 8 application bytes):
79:   Addressable:           00
79:   Partially addressable: 01 02 03 04 05 06 07 
79:   Heap left redzone:       fa
79:   Freed heap region:       fd
79:   Stack left redzone:      f1
79:   Stack mid redzone:       f2
79:   Stack right redzone:     f3
79:   Stack after return:      f5
79:   Stack use after scope:   f8
79:   Global redzone:          f9
79:   Global init order:       f6
79:   Poisoned by user:        f7
79:   Container overflow:      fc
79:   Array cookie:            ac
79:   Intra object redzone:    bb
79:   ASan internal:           fe
79:   Left alloca redzone:     ca
79:   Right alloca redzone:    cb
79:   Shadow gap:              cc
79: ==19100==ABORTING

@eddyashton eddyashton requested a review from a team September 7, 2022 08:21
@jumaffre jumaffre mentioned this pull request Sep 7, 2022
@ghost
Copy link

ghost commented Sep 7, 2022

fix_san_ca_container_overflow@49342 aka 20220907.9 vs main ewma over 20 builds from 49052 to 49338

Click to see table

main

build_id build_number tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^
49052 20220830.5 6243.9 8.3497e+07 19771.6 1.63882e+07 5617.5 1.53396e+07 2484.63 1.00967e+07 1595.83 1.66597e+08 2114.25 9.31027e+06 1413.67 9.79149e+07 1911.34 9.04813e+06 24499.2 894669 1.36806e+06 9.25851e+06 3.57417e+07
49065 20220830.11 6498.05 8.32349e+07 19845.5 1.6126e+07 5555.34 1.53396e+07 2537.85 1.00967e+07 1615.01 1.66335e+08 2114.42 9.31027e+06 1426.3 9.79149e+07 1930.97 9.04813e+06 28223.4 905909 1.36025e+06 9.35583e+06 3.58669e+07
49089 20220830.21 6327.51 8.29727e+07 19728 1.69124e+07 5594 1.56017e+07 2469.94 1.00967e+07 1578.76 1.645e+08 2069.16 9.04813e+06 1384.46 9.73907e+07 1918.59 9.04813e+06 25438.5 907877 1.36378e+06 9.1797e+06 3.59292e+07
49098 20220831.3 6293.13 8.24484e+07 19643 1.58639e+07 5550.54 1.53396e+07 2431.91 1.00967e+07 1601.42 1.66597e+08 2116.99 9.04813e+06 1416.95 9.81771e+07 1927.53 9.04813e+06 25100.5 902634 1.40437e+06 9.21684e+06 3.65714e+07
49106 20220831.6 6358.32 8.27106e+07 19722.9 1.63882e+07 5631.73 1.53396e+07 2531.52 1.00967e+07 1581.98 1.645e+08 2118.76 9.31027e+06 1398.22 9.81771e+07 1925.64 9.04813e+06 24382.3 880020 1.37605e+06 9.21269e+06 3.59923e+07
49116 20220831.9 6277.52 8.3497e+07 19504.9 1.71746e+07 5574.63 1.56017e+07 2492.81 9.83456e+06 1586.51 1.66597e+08 2146.08 9.31027e+06 1404.73 9.79149e+07 1925.98 9.04813e+06 24504.5 904468 1.3463e+06 9.33872e+06 3.5128e+07
49132 20220831.16 6391.85 8.29727e+07 19777.9 1.66503e+07 5648.95 1.56017e+07 2545.37 1.00967e+07 1645.44 1.66597e+08 2114.65 9.31027e+06 1418.92 9.84392e+07 1937.53 9.04813e+06 26516.1 902793 1.37458e+06 9.3815e+06 3.63121e+07
49144 20220901.3 6219.9 8.40213e+07 19555.4 1.58639e+07 5592.24 1.56017e+07 2484.2 1.03588e+07 1568.03 1.66597e+08 2069.72 9.31027e+06 1380.86 9.76528e+07 1914.77 9.04813e+06 26903.4 887609 1.36015e+06 9.23346e+06 3.54933e+07
49192 20220901.20 6291.29 8.32349e+07 19553.4 1.69124e+07 5611.48 1.53396e+07 2487.2 1.00967e+07 1576.13 1.66335e+08 2134.9 9.57242e+06 1376.9 9.76528e+07 1960.47 9.04813e+06 22720.1 908520 1.36034e+06 9.24597e+06 3.58669e+07
49201 20220902.3 6071.92 8.29727e+07 19595.1 1.69124e+07 5512.94 1.50774e+07 2541.19 1.00967e+07 1573.3 1.66597e+08 2109.91 9.04813e+06 1382.23 9.81771e+07 1924.19 9.04813e+06 24821.4 926098 1.37836e+06 9.44201e+06 3.63759e+07
49214 20220902.10 6131.03 8.29727e+07 19760 1.71746e+07 5570.12 1.56017e+07 2480.01 1.00967e+07 1503.76 1.66335e+08 2074.09 9.31027e+06 1380.22 9.79149e+07 1920.74 9.04813e+06 25352.7 899064 1.38069e+06 9.23346e+06 3.56794e+07
49223 20220905.3 6242.76 8.29727e+07 19388.5 1.58639e+07 5560.94 1.53396e+07 2593.74 1.00967e+07 1566.31 1.66335e+08 2083.89 9.31027e+06 1379.45 9.81771e+07 1919.71 9.04813e+06 21802.8 888077 1.37477e+06 9.30905e+06 3.56174e+07
49234 20220905.7 6431.06 8.29727e+07 19818.6 1.63882e+07 5669 1.50774e+07 2550.03 1.00967e+07 1564.23 1.66597e+08 2123.14 9.31027e+06 1413.84 9.84392e+07 1926.61 9.04813e+06 32009 892992 1.37661e+06 9.22934e+06 3.56168e+07
49239 20220905.9 6399.81 8.69049e+07 19883.2 1.58639e+07 5603.01 1.53396e+07 2547.35 9.83456e+06 1591.61 1.66597e+08 2158.88 9.57242e+06 1408.33 9.81771e+07 1918.08 9.04813e+06 20484.8 899541 1.36569e+06 9.35151e+06 3.58042e+07
49242 20220905.10 6147.41 8.24484e+07 19864.5 1.63882e+07 5578.21 1.53396e+07 2483.16 9.83456e+06 1576.76 1.66859e+08 2073.83 9.04813e+06 1392.2 9.79149e+07 1928.57 8.78598e+06 23463.6 903708 1.37145e+06 9.35151e+06 3.59298e+07
49243 20220905.11 6244.91 8.3497e+07 19894.9 1.63882e+07 5530.05 1.56017e+07 2549.59 1.00967e+07 1588.65 1.66597e+08 2116.87 9.31027e+06 1395.13 9.81771e+07 1834.76 1.08831e+07 22359.5 900054 1.36934e+06 9.26269e+06 3.59298e+07
49259 20220906.1 6298.81 8.32349e+07 19838.2 1.58639e+07 5637.77 1.53396e+07 2488.7 9.83456e+06 1568.27 1.66597e+08 2138.73 9.31027e+06 1396.55 9.79149e+07 1926.24 9.04813e+06 26178.7 906229 1.36505e+06 9.19206e+06 3.58663e+07
49287 20220906.8 6313.21 8.27106e+07 19488.2 1.6126e+07 5528.88 1.53396e+07 2479.37 9.83456e+06 1554.43 1.66597e+08 2101.41 9.31027e+06 1374.59 9.81771e+07 1926.35 9.04813e+06 23064.7 875774 1.35881e+06 9.17559e+06 3.44781e+07
49321 20220907.2 6335.3 8.37592e+07 19895.8 1.66503e+07 5568.19 1.53396e+07 2510.33 1.2456e+07 1534.08 1.66597e+08 2077.44 9.04813e+06 1375.62 9.79149e+07 1928.95 9.04813e+06 27714.5 883971 1.39737e+06 9.40736e+06 3.63766e+07
49338 20220907.8 6293.79 8.27106e+07 19885 1.6126e+07 5571.13 1.53396e+07 2498.72 9.83456e+06 1600.78 1.66597e+08 2120.24 9.31027e+06 1397.94 9.79149e+07 1927.35 9.04813e+06 20492.2 905949 1.37615e+06 9.25855e+06 3.55556e+07

fix_san_ca_container_overflow

build_id build_number tpcc_virtual_cft^ tpcc_virtual_cft_mem ls_virtual_cft^ ls_virtual_cft_mem ls_jwt_virtual_cft^ ls_jwt_virtual_cft_mem ls_js_virtual_cft^ ls_js_virtual_cft_mem tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_v8_virtual_cft^ ls_v8_virtual_cft_mem ls_full_js_virtual_cft^ ls_full_js_virtual_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_full_v8_virtual_cft^ ls_full_v8_virtual_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_js_jwt_virtual_cft^ ls_js_jwt_virtual_cft_mem hist_sgx_cft^ ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^
49334 20220907.6 11737.9 0 41306.3 0 10172.7 0 4683.41 0 5992.93 8.32349e+07 2884.8 0 3616.42 0 19798.5 1.6126e+07 5672.79 1.58639e+07 2510.4 0 2610.15 1.00967e+07 3577.11 0 22874.5 1618.09 1.67121e+08 2123.47 9.57242e+06 1402.97 9.76528e+07 1924.48 9.04813e+06 904908 1.36323e+06 9.18789e+06 3.56174e+07
49342 20220907.9 11112.8 0 42008.5 0 10750.9 0 4696.39 0 6296.2 8.32349e+07 2776.4 0 3514.49 0 19809.6 1.69124e+07 5664.29 1.53396e+07 2440.87 0 2540.08 1.00967e+07 3381.81 0 24955.4 1510.29 1.66597e+08 2118.47 9.31027e+06 1398.39 9.81771e+07 1921.56 9.04813e+06 904708 1.36324e+06 9.23767e+06 3.58669e+07

images

Copy link
Member

@MahatiC MahatiC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have we found out where in the code CA constructor is being called by default values? (I couldn't find any)

Edit: I think the answer is no, just looked at your edited description

@eddyashton
Copy link
Member Author

Have we found out where in the code CA constructor is being called by default values? (I couldn't find any)

Edit: I think the answer is no, just looked at your edited description

I don't think there any instances calling the constructors with the default values, as they would be ambiguous (is CA c; supposed to call the std::string or std::vector constructor?). That's why I've also removed the default values.

@MahatiC
Copy link
Member

MahatiC commented Sep 7, 2022

(is CA c; supposed to call the std::string or std::vector constructor?)

Without a default constructor explicitly specified, it will result in an error. (With and without default values)

@eddyashton eddyashton merged commit 910f89f into microsoft:main Sep 7, 2022
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.

4 participants