Opened 10 years ago
Closed 9 years ago
#7768 closed Bugs (fixed)
serialization test_array_xml_warchive: double free or corruption
Reported by: | Owned by: | Robert Ramey | |
---|---|---|---|
Milestone: | To Be Determined | Component: | serialization |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
test_array_xml_warchive shows an use after free bug on many machines. See:
http://www.boost.org/development/tests/trunk/developer/serialization.html
Change History (5)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
It could also be a bug in libstdc++, because clang with "-stdlib=libc++" (http://libcxx.llvm.org/) doesn't show the issue. I've tried to reduce the testcase yesterday, but couldn't get rid of boost libraries. And a simple testcase, that doesn't depend on any external libraries, is needed before one could open a gcc bug.
comment:3 by , 10 years ago
I've spent some time investigating this so far with no results. Here are a few facts:
a) This occurs in a very few programs which use the xml_?archive classes. b) This suggests issues related to utf8_codecvt and /or spirit parser. I've spent some time improving the test for utf8 and believe that there are issues here. I've checked in the changes and we'll watch the trunk tests to see if errors on test_utf8_codecvt go away.
Issue is still pending.
Robert Ramey
comment:4 by , 10 years ago
I believed I (with Marshall's help) have traced this to an issue with utf8_codecvt facet. The problem only shows up when it's recovering from an exception. That is, utf8_codecvt is not exception-safe on these platforms. This is because due variations among standard header implementations we're sometimes pulling code from the standard header ans sometimes from our own facet. It's a bit of a fiasco but it needs a real fix - not just a quick one. So it's on our list.
Robert Ramey
comment:5 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
I believe that recent fixes to utf_codecvt will address this issue. Feel free to re-test and resubmit if this problem still exists.
I haven't checked in any changes for sometime. So presumably this has been tripped by some other change. Does anyone have any idea when this started to occur? Or any other information about it?
Robert Ramey