Status: Available
Owner: ----
Labels: Type-Bug Pri-2
Components: libvpx
New issue 1768 by jz...@
google.com: segfault in VP9 ResizeTest
https://bugs.chromium.org/p/webm/issues/detail?id=1768v1.11.0-225-g8f56e1c07
This is related to the same setup as in issue #1767.
Currently only realtime is tested with VP9 [1], unlike VP8 which uses ONE_PASS_TEST_MODES. Matching that instantiation will result in intermittent segfaults.
This has only been observed under -fsanitize=integer and x86.
$ source tools/set_analyzer_env.sh integer
$ LDFLAGS="-fsanitize=integer --rtlib=compiler-rt -lgcc_s" ../configure --target=x86-linux-gcc --enable-ccache --enable-vp9-temporal-denoising --disable-dependency-tracking --enable-debug --disable-install-docs --disable-optimizations
[1]
https://chromium.googlesource.com/webm/libvpx/+/8f56e1c074712ffa937dc48a14d4b01e378a170f/test/resize_test.cc#799[2]
UndefinedBehaviorSanitizer:DEADLYSIGNAL
==2662603==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0xf721cec0 (pc 0x089aeb55 bp 0xff8b3f38 sp 0xff8b3840 T2662603)
==2662603==The signal is caused by a READ memory access.
#0 0x89aeb55 in vpx_sad64x64x4d_avx2 vpx_dsp/x86/sad4d_avx2.c:97:15
#1 0x8bddec3 in vp9_diamond_search_sad_avx vp9/encoder/x86/vp9_diamond_search_sad_avx.c:196:7
#2 0x8b1c79a in full_pixel_diamond vp9/encoder/vp9_mcomp.c:2516:17
#3 0x8b1c079 in vp9_full_pixel_search vp9/encoder/vp9_mcomp.c:2877:13
#4 0x8cf7a25 in simple_motion_search vp9/encoder/vp9_encodeframe.c:3433:3
#5 0x8cf51bd in ml_predict_var_rd_paritioning vp9/encoder/vp9_encodeframe.c:3509:5
#6 0x8ced44d in rd_pick_partition vp9/encoder/vp9_encodeframe.c:4077:7
#7 0x8cc5d6f in encode_rd_sb_row vp9/encoder/vp9_encodeframe.c:4536:7
#8 0x8cc2bc7 in vp9_encode_sb_row vp9/encoder/vp9_encodeframe.c:5863:5
#9 0x8cc6099 in vp9_encode_tile vp9/encoder/vp9_encodeframe.c:5887:5
#10 0x8cf8fa3 in encode_tiles vp9/encoder/vp9_encodeframe.c:5900:7
#11 0x8cc92a3 in encode_frame_internal vp9/encoder/vp9_encodeframe.c:6117:9
#12 0x8cc6ef4 in vp9_encode_frame vp9/encoder/vp9_encodeframe.c:6277:5
#13 0x8b428d1 in encode_without_recode_loop vp9/encoder/vp9_encoder.c:4134:3
#14 0x8b3df64 in encode_frame_to_data_rate vp9/encoder/vp9_encoder.c:5522:10
#15 0x8b334d8 in Pass0Encode vp9/encoder/vp9_encoder.c:5793:3
#16 0x8b31496 in vp9_get_compressed_data vp9/encoder/vp9_encoder.c:7897:5
#17 0x8a68b14 in encoder_encode vp9/vp9_cx_iface.c:1422:20
#18 0x8881a13 in vpx_codec_encode vpx/src/vpx_encoder.c:208:13
#19 0x84c929c in libvpx_test::Encoder::EncodeFrameInternal(libvpx_test::VideoSource const&, unsigned long) test/encode_test_driver.cc:86:3
#20 0x84c8ee1 in libvpx_test::Encoder::EncodeFrame(libvpx_test::VideoSource*, unsigned long) test/encode_test_driver.cc:57:5
#21 0x84cabdf in libvpx_test::EncoderTest::RunLoop(libvpx_test::VideoSource*) test/encode_test_driver.cc:205:16
#22 0x85b26ad in (anonymous namespace)::ResizeTest_TestExternalResizeWorks_Test::TestBody() test/resize_test.cc:326:3
#23 0x85b30d8 in non-virtual thunk to (anonymous namespace)::ResizeTest_TestExternalResizeWorks_Test::TestBody() test/resize_test.cc
#24 0x8d8b50d in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) third_party/googletest/src/src/gtest.cc:2607:10
#25 0x8d72eb2 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) third_party/googletest/src/src/gtest.cc:2643:14
#26 0x8d48b4a in testing::Test::Run() third_party/googletest/src/src/gtest.cc:2682:5
#27 0x8d49832 in testing::TestInfo::Run() third_party/googletest/src/src/gtest.cc:2861:11
#28 0x8d4a028 in testing::TestSuite::Run() third_party/googletest/src/src/gtest.cc:3015:28
#29 0x8d5d27f in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/src/gtest.cc:5855:44
#30 0x8d8e69d in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) third_party/googletest/src/src/gtest.cc:2607:10
#31 0x8d75502 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) third_party/googletest/src/src/gtest.cc:2643:14
#32 0x8d5cd62 in testing::UnitTest::Run() third_party/googletest/src/src/gtest.cc:5438:10
#33 0x8664902 in RUN_ALL_TESTS() third_party/googletest/src/include/gtest/gtest.h:2490:46
#34 0x8663ade in main test/test_libvpx.cc:74:10
#35 0xf79e7904 in __libc_start_main csu/../csu/libc-start.c:332:16
UndefinedBehaviorSanitizer can not provide additional info.
SUMMARY: UndefinedBehaviorSanitizer: SEGV vpx_dsp/x86/sad4d_avx2.c:97:15 in vpx_sad64x64x4d_avx2
==2662603==ABORTING
--
You received this message because:
1. The project was configured to send all issue notifications to this address
You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings