Hi Tommi, Great, thanks very much. I did:
svn up tntnet gmake uninstall gmake clean gmake gmake install then in comp_ptr: gmake clean gmake It still fails for me. I'm wondering if I did something wrong. watchmalloc did not detect anything on Solaris. Its a 64 bit build on Solaris, with Sun Studio 12. Maybe the compiler behaves differently to gcc. I'll try some more tests, I'll try it with gcc. =>[1] ServerSessionState::getSomething(this = 0xee01b31100000000), line 36 in "ServerSessionState.h" [2] __unnamed_KQZAm_Sd5Jlpx::_component_comp_ptr::page0_type::operator()(this = 0x485b48, request = CLASS, reply = CLASS, qparam = CLASS), line 210 in "comp_ptr.cpp" [3] __unnamed_KQZAm_Sd5Jlpx::_component_comp_ptr::operator()(this = 0x485ae0, request = CLASS, reply = CLASS, qparam = CLASS), line 159 in "comp_ptr.cpp" [4] tnt::Component::operator()(this = 0x485ae0, request = CLASS, reply = CLASS, qparam = CLASS, top = true), line 41 in "component.cpp" [5] tnt::Worker::dispatch(this = 0x46e1d0, request = CLASS, reply = CLASS), line 313 in "worker.cpp" [6] tnt::Worker::processRequest(this = 0x46e1d0, request = CLASS, , line 224 in "worker.cpp" [7] tnt::Worker::run(this = 0x46e1d0), line 138 in "worker.cpp" [8] cxxtools::DetachedThread::exec(this = 0x46e1d0), line 315 in "thread.h" [9] cxxtools::Method<void,cxxtools::DetachedThread,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void>::operator()(this = 0x4621a0), line 894 in "method.tpp" [10] cxxtools::Callable<void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void,cxxtools::Void>::call(this = 0x4621a0), line 314 in "callable.tpp" [11] thread_entry(arg = 0x4650d0), line 43 in "threadimpl.cpp" [12] _thr_setup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fef00504b [13] _lwp_start(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fef005280 (dbx) Thanks, Mark On Mon, 13 Apr 2009 22:52:29 +0200 Tommi Mäkitalo <[email protected]> wrote: > Hi Mark, > > thank you for the testcase. > > I fixed that now in svn. I have to think about the solution if this > is the final one, but it at least works. > > The reason for the last crash was, that the scope takes the ownership > of all objects put into the scope. And this scope mechanism is also > used for named parameters. In your case the parameter-scope takes > ownership of your ServerSessionState and after the subcomponent this > ServerSessionState is deleted, which is not expected. > > The objects in the scope are held within smart pointers. Luckily the > smart pointer has a destroy policy and by setting this to a > null-policy, the object is actually not deleted. > > Tommi -- ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ Tntnet-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tntnet-general
