jrdeng / libyuv

Automatically exported from code.google.com/p/libyuv (2015-08-19)
http://code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

ARGBToUYVY msan failure #457

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
10:53:38 memcheck_analyze.py [ERROR] FAIL! There were 2 errors: 
10:53:38 memcheck_analyze.py [ERROR] 
### BEGIN MEMORY TOOL REPORT (error hash=#4C1139FC0BDF7C3E#)
Command: src/out/Release/libyuv_unittest
InvalidRead
Invalid read of size 2
  memcpy@@GLIBC_2.14 (/tmp/valgrind-src/valgrind-memcheck/valgrind/memcheck/mc_replace_strmem.c:877)
  ARGBToUV422Row_Any_SSSE3 (/mnt/data/b/build/slave/linux_memcheck_tsan/build/src/out/Release/libyuv_unittest)
  ARGBToUYVY (source/convert_from_argb.cc:677)
  libyuv::libyuvTest_ARGBToUYVY_Random_Test::TestBody() (/mnt/data/b/build/slave/linux_memcheck_tsan/build/src/out/Release/libyuv_unittest)
Address 0x66588b2 is 2 bytes after a block of size 4,096 alloc'd
  malloc (m_replacemalloc/vg_replace_malloc.c:270)
  libyuv::libyuvTest_ARGBToUYVY_Random_Test::TestBody() (/mnt/data/b/build/slave/linux_memcheck_tsan/build/src/out/Release/libyuv_unittest)
Suppression (error hash=#4C1139FC0BDF7C3E#):
  For more info on using suppressions see http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff#TOC-Suppressing-memory-reports
{
   <insert_a_suppression_name_here>
   Memcheck:Unaddressable
   fun:memcpy@@GLIBC_2.14
   fun:ARGBToUV422Row_Any_SSSE3
   fun:ARGBToUYVY
   fun:_ZN6libyuv33libyuvTest_ARGBToUYVY_Random_Test8TestBodyEv
}
### END MEMORY TOOL REPORT (error hash=#4C1139FC0BDF7C3E#)

Original issue reported on code.google.com by fbarch...@google.com on 23 Jun 2015 at 6:03

GoogleCodeExporter commented 9 years ago
drmemory reproduces it too

Dr. Memory version 1.6.1 build 2 built on Dec 14 2013 12:27:10
Dr. Memory results for pid 8264: "libyuv_unittest.exe"
Application cmdline: "out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 
--gtest_filter=*"
Recorded 99 suppression(s) from default C:\Program Files (x86)\Dr. 
Memory\bin\suppress-default.txt

Error #1: UNADDRESSABLE ACCESS: reading 0x01491b80-0x01491b84 4 byte(s)
# 0 replace_memcpy                                                             
[d:\drmemory_package\drmemory\replace.c:215]
# 1 ARGBToUV422Row_Any_SSSE3                                                   
[d:\src\libyuv\libyuv\source\row_any.cc:578]
# 2 ARGBToYUY2                                                                 
[d:\src\libyuv\libyuv\source\convert_from_argb.cc:570]
# 3 libyuv::libyuvTest_ARGBToYUY2_Random_Test::TestBody                        
[d:\src\libyuv\libyuv\unit_test\convert_test.cc:913]
# 4 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> 
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2420]
# 5 testing::Test::Run                                                         
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2437]
# 6 testing::TestInfo::Run                                                     
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2612]
# 7 testing::TestCase::Run                                                     
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2730]
# 8 testing::internal::UnitTestImpl::RunAllTests                               
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:4604]
# 9 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTe
stImpl,bool> [d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2420]
#10 testing::UnitTest::Run                                                     
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:4225]
#11 RUN_ALL_TESTS                                                              
[d:\src\libyuv\libyuv\testing\gtest\include\gtest\gtest.h:2326]
Note: @0:02:45.206 in thread 4808
Note: instruction: mov    (%edx) -> %eax

Error #2: UNADDRESSABLE ACCESS: reading 0x01497400-0x01497404 4 byte(s)
# 0 replace_memcpy                                                             
[d:\drmemory_package\drmemory\replace.c:215]
# 1 ARGBToUV422Row_Any_SSSE3                                                   
[d:\src\libyuv\libyuv\source\row_any.cc:578]
# 2 ARGBToUYVY                                                                 
[d:\src\libyuv\libyuv\source\convert_from_argb.cc:677]
# 3 libyuv::libyuvTest_ARGBToUYVY_Random_Test::TestBody                        
[d:\src\libyuv\libyuv\unit_test\convert_test.cc:914]
# 4 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void> 
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2420]
# 5 testing::Test::Run                                                         
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2437]
# 6 testing::TestInfo::Run                                                     
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2612]
# 7 testing::TestCase::Run                                                     
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2730]
# 8 testing::internal::UnitTestImpl::RunAllTests                               
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:4604]
# 9 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTe
stImpl,bool> [d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:2420]
#10 testing::UnitTest::Run                                                     
[d:\src\libyuv\libyuv\testing\gtest\src\gtest.cc:4225]
#11 RUN_ALL_TESTS                                                              
[d:\src\libyuv\libyuv\testing\gtest\include\gtest\gtest.h:2326]
Note: @0:02:45.456 in thread 4808
Note: next higher malloc: 0x01497420-0x01498420
Note: instruction: mov    (%edx) -> %eax

Original comment by fbarch...@google.com on 23 Jun 2015 at 6:29

GoogleCodeExporter commented 9 years ago
Fixed in r1437

Original comment by fbarch...@google.com on 23 Jun 2015 at 9:59

GoogleCodeExporter commented 9 years ago

Original comment by phthor...@gmail.com on 24 Jun 2015 at 1:00