[ https://issues.apache.org/jira/browse/STDCXX-597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12555420#action_12555420 ] sebor edited comment on STDCXX-597 at 2/13/08 9:02 AM: -------------------------------------------------------------- Travis, I get one assertion from 0.char before applying the patch: {noformat} # ASSERTION (S7) (3 lines): # TEXT: rw_printf(">%{/*Gs}<", ...) == ">\"\"<"; got ">(misaligned address 0x000000000042c8a7)<" # LINE: 1142 {noformat} and 5 after applying it: {noformat} # ASSERTION (S7) (3 lines): # TEXT: rw_match("\0@0a\0@0b", "ab", 2) == 140733193388034, got 1 # LINE: 819 # ASSERTION (S7) (3 lines): # TEXT: rw_match("a@0a@1a@2a@3", "a@3a@2a@1a@0", 7) == 140733193388039, got 6 # LINE: 855 # ASSERTION (S7) (3 lines): # TEXT: rw_match("\0@0a\0@0b", L"ab", 2) == 140733193388034, got 1 # LINE: 970 # ASSERTION (S7) (3 lines): # TEXT: rw_match("\0@0a\0@0b", "ab", 2) == 140733193388034, got 1 # LINE: 1063 # ASSERTION (S7) (3 lines): # TEXT: rw_printf(">%{/*Gs}<", ...) == ">\"\"<"; got ">(misaligned address 0x000000000042c8c7)<" # LINE: 1142 {noformat} was (Author: sebor): 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("\0@0a\0@0b", "ab", 2) == 140733193388034, got 1 # LINE: 819 # ASSERTION (S7) (3 lines): # TEXT: rw_match("a@0a@1a@2a@3", "a@3a@2a@1a@0", 7) == 140733193388039, got 6 # LINE: 855 # ASSERTION (S7) (3 lines): # TEXT: rw_match("\0@0a\0@0b", L"ab", 2) == 140733193388034, got 1 # LINE: 970 # ASSERTION (S7) (3 lines): # TEXT: rw_match("\0@0a\0@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 > > Original Estimate: 2h > Remaining Estimate: 2h > > {noformat} > **** 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, std::allocator >(char, std::char_traits*, 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::allocate(unsigned, const*) [_allocator.h:144] > std::string, std::allocator>::_C_get_rep(unsigned, unsigned) [string.cc:102] > std::string, std::allocator>::string, std::allocator>[not-in-charge](char const*, unsigned, std::allocator 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, std::allocator >(char, UserTraits*, 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::allocate(unsigned, const*) [_allocator.h:144] > std::basic_string, std::allocator>, std::allocator >::_C_get_rep(unsigned, unsigned) [string.cc:102] > std::basic_string, std::allocator>, std::allocator >::basic_string, std::allocator>[not-in-charge](char const*, unsigned, std::allocator const&) [string.cc:180] > {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.