[boost] upgrade boost 1.33 up to 1.39 -> MCF assertion
Hello everybody! When i upgrade boost form 1.33.1 up to 1.39 I get the following assertion failed error message: Debug Assertion Failed! File: F:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dllinit.cpp Line: 587 ================== void AFXAPI AfxCoreInitModule() { ASSERT(AfxGetModuleState() != AfxGetAppModuleState()); All run ok when i rollback boost. There are breaking changes in boost.Thread http://www.boost.org/doc/libs/1_39_0/doc/html/thread/changes.html since 1.33 Interface of scoped_lock has been changed and boost::mutex now is boost::recursive_mutex. Am i right? Did anybody experiance this problem? Any help is appreciated. -- Regards, Andrey
AMDG Andrey Torba wrote:
There are breaking changes in boost.Thread http://www.boost.org/doc/libs/1_39_0/doc/html/thread/changes.html since 1.33 Interface of scoped_lock has been changed and boost::mutex now is boost::recursive_mutex. Am i right?
Not exactly. boost::mutex was never intended to be recursive. It happened to be recursive on Windows because the implementation used CRITICAL_SECTIONs. In Christ, Steven Watanabe
Hi, I'm having the exact same problem upgrading from 1.35 to 1.39. Release build runs fine, but debug build asserts as mentioned. I get the assert in a dll which uses boost. Again, reverting to 1.35 works fine. Any help would be appreciated. - Lee. ________________________________ From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Andrey Torba Sent: 23 July 2009 14:40 To: boost-users@lists.boost.org Subject: [Boost-users] [boost] upgrade boost 1.33 up to 1.39 -> MCF assertion Hello everybody! When i upgrade boost form 1.33.1 up to 1.39 I get the following assertion failed error message: Debug Assertion Failed! File: F:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dllinit.cpp Line: 587 ================== void AFXAPI AfxCoreInitModule() { ASSERT(AfxGetModuleState() != AfxGetAppModuleState()); All run ok when i rollback boost. There are breaking changes in boost.Thread http://www.boost.org/doc/libs/1_39_0/doc/html/thread/changes.html since 1.33 Interface of scoped_lock has been changed and boost::mutex now is boost::recursive_mutex. Am i right? Did anybody experiance this problem? Any help is appreciated. -- Regards, Andrey Schneider Trading 4th Floor, 25 Copthall Avenue London EC2R 7BP -------------------------------------------------------- Message from: lee.macdonald@schneidertrading.com Message to: boost-users@lists.boost.org Attached files: 0 This e-mail and any files transmitted with it are confidential, may be legally privileged, and are for the sole use of the intended recipient. Copyright in this e-mail and any accompanying document created by us is owned by us. If you are not the intended recipient of this e-mail or any part of it please telephone our IT Department at the number shown above or by e-mail at info@schneidertrading.com. You should not use or disclose to any other person the contents of this e-mail or its attachments (if any), nor take copies. This e-mail is not a representation or warranty and is not intended nor should it be taken to create any legal relations, contractual or otherwise. Schneider Trading Associates Ltd (Registration No. 3692131) is incorporated in England and Wales and the registered office is at 25 Copthall Avenue, London EC2R 7BP. The company is authorised and regulated by the Financial Services Authority
Thanks for the info. I'm also using boost::thread. Disabling the creation of the thread fixes it for me. //thread_.reset(new boost::thread(boost::bind(&Scheduler::run, this))); Just need to work out why. - Lee. -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Andrey Torba Sent: 23 July 2009 17:31 To: boost-users@lists.boost.org Subject: Re: [Boost-users] [boost] upgrade boost 1.33 up to 1.39 -> MCFassertion
Lee MacDonald
What boost libraries does your DLL use? In my case: boost::scoped_ptr, boost::lexical_cast. Also the boost.thread is linked implicitly. -- Regards, Andrey _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users Schneider Trading 4th Floor, 25 Copthall Avenue London EC2R 7BP -------------------------------------------------------- Message from: lee.macdonald@schneidertrading.com Message to: boost-users@lists.boost.org Attached files: 0 This e-mail and any files transmitted with it are confidential, may be legally privileged, and are for the sole use of the intended recipient. Copyright in this e-mail and any accompanying document created by us is owned by us. If you are not the intended recipient of this e-mail or any part of it please telephone our IT Department at the number shown above or by e-mail at info@schneidertrading.com. You should not use or disclose to any other person the contents of this e-mail or its attachments (if any), nor take copies. This e-mail is not a representation or warranty and is not intended nor should it be taken to create any legal relations, contractual or otherwise. Schneider Trading Associates Ltd (Registration No. 3692131) is incorporated in England and Wales and the registered office is at 25 Copthall Avenue, London EC2R 7BP. The company is authorised and regulated by the Financial Services Authority
Apologies, I was mistaken - was still using 1.35 for that last test ;) Still no joy. - Lee. -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Andrey Torba Sent: 23 July 2009 18:00 To: boost-users@lists.boost.org Subject: Re: [Boost-users] [boost] upgrade boost 1.33 up to 1.39 ->MCFassertion
Disabling the creation of the thread fixes it for me. I can't do such way :) the heap of code i deal with is huge
Does boost.thread have any static variables? -- Regards, Andrey _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users Schneider Trading 4th Floor, 25 Copthall Avenue London EC2R 7BP -------------------------------------------------------- Message from: lee.macdonald@schneidertrading.com Message to: boost-users@lists.boost.org Attached files: 0 This e-mail and any files transmitted with it are confidential, may be legally privileged, and are for the sole use of the intended recipient. Copyright in this e-mail and any accompanying document created by us is owned by us. If you are not the intended recipient of this e-mail or any part of it please telephone our IT Department at the number shown above or by e-mail at info@schneidertrading.com. You should not use or disclose to any other person the contents of this e-mail or its attachments (if any), nor take copies. This e-mail is not a representation or warranty and is not intended nor should it be taken to create any legal relations, contractual or otherwise. Schneider Trading Associates Ltd (Registration No. 3692131) is incorporated in England and Wales and the registered office is at 25 Copthall Avenue, London EC2R 7BP. The company is authorised and regulated by the Financial Services Authority
The problem apears between boost 1.36 - 1.37. -- Regards, Andrey
http://lists.boost.org/threads-devel/2009/06/0475.php
i've commented
libs/thread/src/win32/tss_pe.cpp:
extern "C"
{
extern BOOL (WINAPI * const _pBoostRawDllMain)(HANDLE, DWORD,
LPVOID)=&dll_callback;
}
2009/7/24 Andrey Torba
The problem apears between boost 1.36 - 1.37.
-- Regards, Andrey
-- Regards, Andrey
participants (3)
-
Andrey Torba
-
Lee MacDonald
-
Steven Watanabe