Boost logo

Boost :

Subject: Re: [boost] merge to master?
From: John Maddock (jz.maddock_at_[hidden])
Date: 2016-03-05 13:51:09

>> I still see a few issues:
>> * The program iterator_test.cpp aborts when it tries to increment an
>> out-of-range vector iterator with msvc (14 and 12).
> I see this on the test matrix, but I haven't been able to reproduce it
> locally.

That's weird, it's easily reproducible for me with VC14 x86 debug mode.

In the test case you have:

     std::vector<wchar_t> la2;
             translator(a.end()), // bug here

The call to translator(a.end()) leads to wchar_from_mb.hpp:137:

         typename boost::iterators::iterator_reference<Base>::type c =

Where an attempt is made to dereference and increment the result of the
previous call to end().

>> * Running the serialization tests under valgrind on Linux flags up a lot
>> of failures (many of which may all be the same issue) - you can
>> reproduce with
>> bjam toolsetname testing.launcher="valgrind --error-exitcode=1"
> Hmmm - there are a number of tests which trap in sanitizers and in
> valgrind. These are artifacts of the tests and not the library. I
> think most of these are dangling pointers which result from not
> deleting dematerialized data structures via pointers. If I had
> nothing else to do, I might go back and fix these tests - but it's a
> lot bigger job than meets the eye and I've got other stuff to do.
>> * There's at least one multiprecision test which fails with the new
>> version (test_cpp_int_deserial.cpp) with vc12 and earlier, but not vc14
>> strangely. It dies with an archive exception complaining that the
>> archive is invalid with some VC compiler versions but not others.

This last one may actually be either an issue with the iostreams
library, or my code. Either way I've pushed a fix for multiprecision.

The issue was that constructing an input archive from a std::ifstream
dies if there's a peek() on the stream prior to the archive
constructor. I suspect this is due to the calls to imbue() in the
archive constructor invalidating the stream buffer and the fstream then
gets it's internals in a twist.

HTH, John.

Boost list run by bdawes at, gregod at, cpdaniel at, john at