#1449 closed Bugs (fixed)
thread_specific_ptr causing crash in wave tests
Reported by: | jrp at dial dot pipex dot com | Owned by: | Anthony Williams |
---|---|---|---|
Milestone: | Boost 1.35.0 | Component: | thread |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
testwave crashes under VC++ 2008 (9.0) at line 30 of tss.hpp:
> testwave.exe!boost::thread_specific_ptr<phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > *>::cleanup(phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > * * data=0x0012fedc) Line 30 + 0xb bytes C++
The error is:
Unhandled exception at 0x0068b924 in testwave.exe: 0xC0000005: Access violation writing location 0xde3840a0
The local variables are:
- data 0x0012fedc phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > * * - 0x0012ff08 {save=0x1023bab5 frame={...} } phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > * - phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> {a={...} } phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> phoenix::tuple_base<phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > {...} phoenix::tuple_base<phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > + a {type=1244944 value={...} valid=1245020 } boost::wave::grammars::closures::closure_value - save 0x1023bab5 {save=0x458904c4 frame={...} } phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > * + phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> {a={...} } phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> - save 0x458904c4 {save=??? frame=??? } phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > * - phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> {a={...} } phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> phoenix::tuple_base<phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > {...} phoenix::tuple_base<phoenix::tuple<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > - a {type=??? value={...} valid=??? } boost::wave::grammars::closures::closure_value type CXX0030: Error: expression cannot be evaluated - value {i=??? ui=??? b=??? } boost::wave::grammars::closures::closure_value::<unnamed-type-value> i CXX0030: Error: expression cannot be evaluated ui CXX0030: Error: expression cannot be evaluated b CXX0030: Error: expression cannot be evaluated valid CXX0030: Error: expression cannot be evaluated save CXX0030: Error: expression cannot be evaluated - frame phoenix::impl::closure_frame_holder<phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > > & tsp_frame CXX0030: Error: expression cannot be evaluated - frame {tsp_frame={...} } phoenix::impl::closure_frame_holder<phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > > & - tsp_frame {func=??? } boost::thread_specific_ptr<phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > *> func CXX0030: Error: expression cannot be evaluated - frame {tsp_frame={...} } phoenix::impl::closure_frame_holder<phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > > & - tsp_frame {func=??? } boost::thread_specific_ptr<phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > *> func CXX0030: Error: expression cannot be evaluated func 0xeb04c483 void (phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > * *)* - this 0x004ca64c {func=0xeb04c483 } const boost::thread_specific_ptr<phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > *> * const func 0xeb04c483 void (phoenix::closure_frame<phoenix::closure<boost::wave::grammars::closures::closure_value,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t,phoenix::nil_t> > * *)*
Change History (4)
follow-up: 2 comment:1 by , 15 years ago
comment:2 by , 15 years ago
Component: | wave → thread |
---|---|
Owner: | changed from | to
Replying to jrp at dial dot pipex dot com:
This may be a threads issue, rather than a waves issue.
Yes it is a thread issue and has been fixed already by Anthony (at least he asked me to verify a patch).
I'm reassigning this to him.
comment:3 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:4 by , 15 years ago
Summary: | jrp → thread_specific_ptr causing crash in wave tests |
---|
Note:
See TracTickets
for help on using tickets.
This may be a threads issue, rather than a waves issue.