[thread] Broken after last commit

Hello, regression tests are starting to show a breakage of the thread lib after the last major commit. Error message is: cxx: Severe: ../boost/thread/locks.hpp, line 9: could not open source file "boost/thread/detail/move.hpp" (srcfilnoopen) #include <boost/thread/detail/move.hpp> Markus

Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
regression tests are starting to show a breakage of the thread lib after the last major commit.
Yes. I added the missing file first thing this morning, but the tests haven't had a chance to cycle again. Anthony -- Anthony Williams Just Software Solutions Ltd - http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Anthony Williams wrote:
Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
regression tests are starting to show a breakage of the thread lib after the last major commit.
Yes. I added the missing file first thing this morning, but the tests haven't had a chance to cycle again.
Compilation of the thread library now fails on Tru64/CXX with: cxx: Error: ../boost/thread/pthread/mutex.hpp, line 162: identifier "pthread_mutex_scoped_lock" is undefined (undeclared) pthread_mutex_scoped_lock const _(&m); ------------^ and many more errors for undeclared identifiers. Markus

Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
Anthony Williams wrote:
Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
regression tests are starting to show a breakage of the thread lib after the last major commit.
Yes. I added the missing file first thing this morning, but the tests haven't had a chance to cycle again.
Compilation of the thread library now fails on Tru64/CXX with:
cxx: Error: ../boost/thread/pthread/mutex.hpp, line 162: identifier "pthread_mutex_scoped_lock" is undefined (undeclared) pthread_mutex_scoped_lock const _(&m); ------------^
and many more errors for undeclared identifiers.
Huh? I tested this on linux before check in. Aha --- I guess you don't have a native timed lock: I got the sense of the #ifdef wrong for that case. I would be grateful if you could try again now. Thanks for getting back to me on this. Anthony -- Anthony Williams Just Software Solutions Ltd - http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Anthony Williams wrote:
Huh? I tested this on linux before check in. Aha --- I guess you don't have a native timed lock: I got the sense of the #ifdef wrong for that case.
I would be grateful if you could try again now. Thanks for getting back to me on this.
Better, only two failures left: hp_cxx.compile.c++ ../../../bin.v2/libs/thread/build/hp_cxx-71_006_tru64/debug/threading-multi/barrier.o cxx: Error: ../../../boost/thread/pthread/mutex.hpp, line 196: identifier "pthread_cond_timewait" is undefined (undeclared) int const cond_res=pthread_cond_timewait(&cond,&m,&timeout); -----------------------------------^ cxx: Error: ../../../boost/thread/pthread/mutex.hpp, line 197: identifier "ETIMEOUT" is undefined (undeclared) if(cond_res==ETIMEOUT) -----------------------------^ cxx: Info: 2 errors detected in the compilation of "../../../libs/thread/src/barrier.cpp". Markus

Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
Anthony Williams wrote:
Huh? I tested this on linux before check in. Aha --- I guess you don't have a native timed lock: I got the sense of the #ifdef wrong for that case.
I would be grateful if you could try again now. Thanks for getting back to me on this.
Better, only two failures left:
Oops. I missed the "d" off "timed" in both cases. Please try again. Thanks for the quick turnaround. Anthony -- Anthony Williams Just Software Solutions Ltd - http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Anthony Williams wrote:
Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
Anthony Williams wrote:
Huh? I tested this on linux before check in. Aha --- I guess you don't have a native timed lock: I got the sense of the #ifdef wrong for that case.
I would be grateful if you could try again now. Thanks for getting back to me on this. Better, only two failures left:
Oops. I missed the "d" off "timed" in both cases. Please try again. Thanks for the quick turnaround.
The library compiles now without errors. Thank you, Markus

Markus Schöpflin wrote: [...]
The library compiles now without errors.
... but when compiling test_mutex.cpp, there are a few issues left. hp_cxx.compile.c++ ../../../bin.v2/libs/thread/test/test_mutex.test/hp_cxx-71_006_tru64/debug/threading-multi/test_mutex.o cxx: Warning: ../../../boost/thread/pthread/recursive_mutex.hpp, line 250: non-void function "boost::recursive_timed_mutex::timed_lock(const boost::system_time &)" should return a value (D:noreturnval) return; ----------------------^ cxx: Error: ../../../boost/thread/pthread/recursive_mutex.hpp, line 254: identifier "pthread_cond_timewait" is undefined (undeclared) int const cond_res=pthread_cond_timewait(&cond,&m,&timeout); -----------------------------------^ cxx: Error: ../../../boost/thread/pthread/recursive_mutex.hpp, line 255: identifier "ETIMEOUT" is undefined (undeclared) if(cond_res==ETIMEOUT) -----------------------------^ cxx: Info: 2 errors detected in the compilation of "test_mutex.cpp". All other tests compile and execute OK. Markus

Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
Markus Schöpflin wrote:
[...]
The library compiles now without errors.
... but when compiling test_mutex.cpp, there are a few issues left.
Aah! It's the same typo in recursive_mutex.hpp rather than mutex.hpp. Please try again. Anthony -- Anthony Williams Just Software Solutions Ltd - http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Anthony Williams wrote:
Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
Markus Schöpflin wrote:
[...]
The library compiles now without errors. ... but when compiling test_mutex.cpp, there are a few issues left.
Aah! It's the same typo in recursive_mutex.hpp rather than mutex.hpp. Please try again.
The mutex test now compiles and links, but fails on execution: ====== BEGIN OUTPUT ====== Running 6 test cases... Assertion failed: !res, file ../../../boost/thread/pthread/mutex.hpp, line 176 unknown location(0): fatal error in "test_timed_mutex": signal: SIGABRT (application abort requested) test_mutex.cpp(44): last checkpoint *** 1 failure detected in test suite "Master Test Suite" EXIT STATUS: 201 ====== END OUTPUT ====== I wonder if this is related to the warning during compilation: cxx: Warning: ../../../boost/thread/pthread/recursive_mutex.hpp, line 250: non-void function "boost::recursive_timed_mutex::timed_lock(const boost::system_time &)" should return a value (D:noreturnval) return; ----------------------^ I might be totally off track here, but the warning seems genuine. Markus

Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
The mutex test now compiles and links, but fails on execution:
====== BEGIN OUTPUT ====== Running 6 test cases... Assertion failed: !res, file ../../../boost/thread/pthread/mutex.hpp, line 176 unknown location(0): fatal error in "test_timed_mutex": signal: SIGABRT (application abort requested) test_mutex.cpp(44): last checkpoint
*** 1 failure detected in test suite "Master Test Suite"
EXIT STATUS: 201 ====== END OUTPUT ======
I wonder if this is related to the warning during compilation:
cxx: Warning: ../../../boost/thread/pthread/recursive_mutex.hpp, line 250: non-void function "boost::recursive_timed_mutex::timed_lock(const boost::system_time &)" should return a value (D:noreturnval) return; ----------------------^
I might be totally off track here, but the warning seems genuine.
The warning is genuine (so I've fixed it), but it's not the problem here --- I got the timed_lock #ifdef the wrong way round again, so it was trying to use an unitialized condition variable in timed_mutex. Please try again, and thanks for your continued patience. Anthony -- Anthony Williams Just Software Solutions Ltd - http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Anthony Williams wrote:
Markus Schöpflin <markus.schoepflin@comsoft.de> writes:
I might be totally off track here, but the warning seems genuine.
The warning is genuine (so I've fixed it), but it's not the problem here ---
I can confirm that the warning is gone now.
I got the timed_lock #ifdef the wrong way round again, so it was trying to use an unitialized condition variable in timed_mutex.
Please try again, and thanks for your continued patience.
The mutex test now compiles, links, and executes without any visible error. Just to be sure, I'm rerunning the other tests as well, I'll notify you if anything shows up. Thank you, Markus
participants (2)
-
Anthony Williams
-
Markus Schöpflin