Hi all, I am using boost 1.28 and the threads library on windows with VC7.Net. I am creating threads in a threadgroup use function objects. Inside of these threads, I am creating other threads again using function objects. The problem is at run time the debug environment is informing me of a call type collision indicating the return address/stack is set up incorrectly. The debug message: "The value of ESP was not properly saved across afunction call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention." this is in the declaration template<typename Functor> void assign_to(Functor f) { this->assign_to(f,tag()); } The error is at the end of the function First, is it legal in boost::thread to start one thread in another Second, If it is, what is going on with the function_template.hpp code here Thanks bille