First-chance exception at 0x000007fefd76aa7d in CheckDllLoad.exe: Microsoft
C++ exception:
boost::exception_detail::clone_impl<boost::exception_detail::bad_alloc_> at
memory location 0x0026f020..
First-chance exception at 0x000007fefd76aa7d in CheckDllLoad.exe: Microsoft
C++ exception: [rethrow] at memory location 0x00000000..
First-chance exception at 0x000007fefd76aa7d in CheckDllLoad.exe: Microsoft
C++ exception:
boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::filesystem::basic_filesystem_error<boost::filesystem::basic_path<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::filesystem::path_traits>
> at memory location 0x0026ed10..

Stacktrace after LoadLibrary call:


openvrmld.dll!boost::copy_exception<boost::exception_detail::bad_alloc_>(const
boost::exception_detail::bad_alloc_ & e={...})  Line 42 + 0x23 bytes    C++
     openvrmld.dll!boost::exception_detail::get_bad_alloc<42>()  Line 80 +
0xb1 bytes    C++
     openvrmld.dll!`dynamic initializer for
'boost::exception_detail::exception_ptr_bad_alloc<42>::e''()  Line 94 + 0x10
bytes    C++
     msvcr90d.dll!000000000f5b2a3c()
     openvrmld.dll!_CRT_INIT(void * hDllHandle=0x000007fee8dd0000, unsigned
long dwReason=1, void * lpreserved=0x0000000000000000)  Line 320    C
     openvrmld.dll!__DllMainCRTStartup(void * hDllHandle=0x000007fee8dd0000,
unsigned long dwReason=1, void * lpreserved=0x0000000000000000)  Line 537 +
0x13 bytes    C
     openvrmld.dll!_DllMainCRTStartup(void * hDllHandle=0x000007fee8dd0000,
unsigned long dwReason=1, void * lpreserved=0x0000000000000000)  Line 508
C

To me it looks like the boost exceptions are initializing themselves (to
have enable the global functions like "current_exception" etc.) by throwing
around some exceptions. Now the MSVC exception handling implementation (as
far as I read) uses a special errorcode (-*529697949* , In *hex*, this is
0xE06D7363) internally to determine if an exception occured. With this
errorcode set (from the "unevil" exception during initialization) the
LoadLibrary call exits with an error, just because the internal errror flag
is set to the "C++ exception Magic Number"...so far my ideas, I might be
totally wrong.

However, looks like a openvrml problem rather then an osgPlugin one.

Regards,
Thomas



On Fri, Jul 30, 2010 at 6:33 PM, Jan Ciger <[email protected]> wrote:

> On Fri, Jul 30, 2010 at 6:28 PM, Jan Ciger <[email protected]> wrote:
> > However, the only thing that uses Boost is OpenVRML and according to
> > what they have on the web page, 1.41 Boost should work with 0.18.4 and
> > upwards. It would probably pay off to post the exception to the
> > OpenVRML forum/mailing list and ask there as it doesn't seem to be
> > anything OSG related.
>
> One more thing - if the exception is from the filesystem module, it
> could mean that boost is told to open something that it cannot find.
> What kind of exception are you getting?
>
> Jan
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to