#8328 closed Bugs (wontfix)
chrono crashes visual studio 2012 regression tests
Reported by: | Owned by: | viboes | |
---|---|---|---|
Milestone: | To Be Determined | Component: | chrono |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | io_ex | Cc: |
Description
The following tests crash causing a popup debug window (which causes problems on the machine running regression tests) when running the visual studio regression tests on windows:
- io_ex1_d
- io_ex1_h
- v1_io_ex1_h
I will attach the stack traces and windows minidump files.
Attachments (3)
Change History (18)
by , 10 years ago
Attachment: | io_ex1_d-callstack.txt added |
---|
comment:2 by , 10 years ago
Replying to Thomas Kent <teeks99@…>:
I also have the minidump files (about 11MB each)
Sorry I don't use visual studio and I don't know how to make use of these files. Thanks anyway.
comment:3 by , 10 years ago
From the regression test I see that there is error for MSVC 11, but it works for MSVC 10. Unfortunately I have not installed MSVC 11.
Anyway as the trace show there is an error on the test Jamfile as even if the test is named v1_ it is using version 2. See the patch below.
Index: Jamfile.v2 =================================================================== --- Jamfile.v2 (revision 83520) +++ Jamfile.v2 (working copy) @@ -110,7 +110,7 @@ : <define>BOOST_CHRONO_HEADER_ONLY <define>BOOST_ERROR_CODE_HEADER_ONLY #<define>BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING - <define>BOOST_CHRONO_VERSION=2 + #<define>BOOST_CHRONO_VERSION=1 : v1_$(sources[1]:B)_h ] ; }
Could you try this test forcing the version 2
Index: boost/chrono/config.hpp =================================================================== --- boost/chrono/config.hpp (revision 83520) +++ boost/chrono/config.hpp (working copy) @@ -14,7 +14,7 @@ #include <boost/config.hpp> #if !defined BOOST_CHRONO_VERSION -#define BOOST_CHRONO_VERSION 1 +#define BOOST_CHRONO_VERSION 2 #else #if BOOST_CHRONO_VERSION!=1 && BOOST_CHRONO_VERSION!=2 #error "BOOST_CHRONO_VERSION must be 1 or 2"
to see if there is something that makes io V2 incompatible with V1.
comment:4 by , 10 years ago
Status: | new → assigned |
---|
follow-up: 6 comment:5 by , 10 years ago
Those changes didn't seem to affect anything....assuming my bjam skills are correct. After making the changes (in boost-trunk\libs\chrono\test) I ran "b2 toolset=msvc-11.0 -a". Is that what I should have done?
comment:6 by , 10 years ago
Replying to Thomas Kent <teeks99@…>:
Those changes didn't seem to affect anything....assuming my bjam skills are correct. After making the changes (in boost-trunk\libs\chrono\test) I ran "b2 toolset=msvc-11.0 -a". Is that what I should have done?
Have you applied the change to boost/chrono/config.hpp?
comment:7 by , 10 years ago
Yes, before running the above bjam command I applied the change to config.hpp and to Jamfile.v2.
comment:8 by , 10 years ago
This seems a regression with the I/O library of msvc-11.0. Do you know if there are some bugs associated to msvc-11.0 that could be related?
For the time being I'm unable to debug it. I will appreciate if you could you try to do a deeper analysis and post it here.
comment:9 by , 9 years ago
Severity: | Regression → Problem |
---|
This is not a regression as Boost.Chrono can not anticipate the behavior of new compilers.
comment:10 by , 9 years ago
Summary: | chrono crashes visual studio regression tests → chrono crashes visual studio 2012 regression tests |
---|
comment:12 by , 9 years ago
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
The test are passing with msvn 9, 10 and 12. I will not try to fix it.
comment:13 by , 9 years ago
If we're not going to fix this for msvc-11.0, can we just BOOST_FAIL() the tests for that compiler version, so that it doesn't keep crashing the whole regression test?
comment:15 by , 9 years ago
Does this patch avoids the crach
svn diff libs/chrono/example/io_ex1.cpp Index: libs/chrono/example/io_ex1.cpp =================================================================== --- libs/chrono/example/io_ex1.cpp (revision 86380) +++ libs/chrono/example/io_ex1.cpp (working copy) @@ -53,10 +53,13 @@ << ClockTick(3) + nanoseconds(10) << '\n'; cout << "\nsystem_clock::now() = " << system_clock::now() << '\n'; +#if defined _MSC_VER && _MSC_VER == 1700 +#else #if BOOST_CHRONO_VERSION==2 cout << "\nsystem_clock::now() = " << time_fmt(chrono::timezone::local) << system_clock::now() << '\n'; cout << "\nsystem_clock::now() = " << time_fmt(chrono::timezone::local,"%Y/%m/%d") << system_clock::now() << '\n'; #endif +#endif #ifdef BOOST_CHRONO_HAS_CLOCK_STEADY cout << "steady_clock::now() = " << steady_clock::now() << '\n';
Committed revision [86384].
io_ex1_d callstack