[ https://issues.apache.org/jira/browse/STDCXX-597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12555420#action_12555420 ]
Martin Sebor commented on STDCXX-597: ------------------------------------- Travis, I get one assertion from 0.char before applying the patch: # ASSERTION (S7) (3 lines): # TEXT: rw_printf(">%{/*Gs}<", ...) == ">\"\"<"; got ">(misaligned address 0x000000000042c8a7)<" # LINE: 1142 and 5 after applying it: # ASSERTION (S7) (3 lines): # TEXT: rw_match("[EMAIL PROTECTED]@0b", "ab", 2) == 140733193388034, got 1 # LINE: 819 # ASSERTION (S7) (3 lines): # TEXT: rw_match("[EMAIL PROTECTED]@[EMAIL PROTECTED]@3", "[EMAIL PROTECTED]@[EMAIL PROTECTED]@0", 7) == 140733193388039, got 6 # LINE: 855 # ASSERTION (S7) (3 lines): # TEXT: rw_match("[EMAIL PROTECTED]@0b", L"ab", 2) == 140733193388034, got 1 # LINE: 970 # ASSERTION (S7) (3 lines): # TEXT: rw_match("[EMAIL PROTECTED]@0b", "ab", 2) == 140733193388034, got 1 # LINE: 1063 # ASSERTION (S7) (3 lines): # TEXT: rw_printf(">%{/*Gs}<", ...) == ">\"\"<"; got ">(misaligned address 0x000000000042c8c7)<" # LINE: 1142 > purify reports uninitialized memory read in _rw_get_char > --------------------------------------------------------- > > Key: STDCXX-597 > URL: https://issues.apache.org/jira/browse/STDCXX-597 > Project: C++ Standard Library > Issue Type: Improvement > Components: Test Driver > Affects Versions: 4.2.0 > Reporter: Travis Vitek > Priority: Minor > Fix For: 4.2.1 > > Attachments: stdcxx-597.patch > > > **** Purify instrumented ./21.string.access (pid 2878) **** > UMR: Uninitialized memory read: > * This is occurring while in thread 2878: > _rw_get_char(char const*, char const**, unsigned*) [char.cpp:562] > rw_match(char const*, char const*, unsigned) [char.cpp:816] > test_access<char, std::char_traits<char>, std::allocator<char> >(char, > std::char_traits<char>*, char*, StringFunc const&, StringTestCase const&) > [21.string.access.cpp:274] > test_access(StringFunc const&, StringTestCase const&) > [21.string.access.cpp:317] > _rw_test_case(StringFunc const&, StringTestCase const&, (*)(StringFunc > const&, StringTestCase const&)) [21.strings.cpp:1298] > _rw_run_cases(StringFunc const&, StringTest const&) [21.strings.cpp:1353] > * Reading 1 byte from 0x8182256 in the heap. > * Address 0x8182256 is 14 bytes into a malloc'd block at 0x8182248 of 46 > bytes. > * This block was allocated from thread -1207973632: > malloc [rtlib.o] > operator new(unsigned) [libstd15d.so] > __rw::__rw_allocate(unsigned, int) [memory.cpp:53] > std::allocator<char>::allocate(unsigned, const*) [_allocator.h:144] > std::string<char, std::char_traits<char>, > std::allocator<char>>::_C_get_rep(unsigned, unsigned) [string.cc:102] > std::string<char, std::char_traits<char>, > std::allocator<char>>::string<char, std::char_traits<char>, > std::allocator<char>>[not-in-charge](char const*, unsigned, > std::allocator<char> const&) [string.cc:180] > **** Purify instrumented ./21.string.access (pid 2878) **** > UMR: Uninitialized memory read: > * This is occurring while in thread 2878: > _rw_get_char(char const*, char const**, unsigned*) [char.cpp:562] > rw_match(char const*, char const*, unsigned) [char.cpp:816] > test_access<char, UserTraits<char>, std::allocator<char> >(char, > UserTraits<char>*, char*, StringFunc const&, StringTestCase const&) > [21.string.access.cpp:274] > test_access(StringFunc const&, StringTestCase const&) > [21.string.access.cpp:317] > _rw_test_case(StringFunc const&, StringTestCase const&, (*)(StringFunc > const&, StringTestCase const&)) [21.strings.cpp:1298] > _rw_run_cases(StringFunc const&, StringTest const&) [21.strings.cpp:1353] > * Reading 1 byte from 0x818d5a6 in the heap. > * Address 0x818d5a6 is 14 bytes into a malloc'd block at 0x818d598 of 46 > bytes. > * This block was allocated from thread -1207973632: > malloc [rtlib.o] > operator new(unsigned) [libstd15d.so] > __rw::__rw_allocate(unsigned, int) [memory.cpp:53] > std::allocator<char>::allocate(unsigned, const*) [_allocator.h:144] > std::basic_string<char, std::char_traits<char>, > std::allocator<char>><char, UserTraits<char>, std::allocator<char> > >::_C_get_rep(unsigned, unsigned) [string.cc:102] > std::basic_string<char, std::char_traits<char>, > std::allocator<char>><char, UserTraits<char>, std::allocator<char> > >::basic_string<char, std::char_traits<char>, > std::allocator<char>>[not-in-charge](char const*, unsigned, > std::allocator<char> const&) [string.cc:180] -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.