30 May
2006
30 May
'06
2:37 p.m.
The exception is thrown because it tries to allocate 3435973868 bytes of memory. It's hard to tell why, but you can see that it tries to print an error: "invalid name "ÌÌÌÌ." in path "" Where, the path it tried is "ÌÌÌÌ./". It complains about the "ÌÌÌÌ" not being valid, after prepending that itself: I think that it prepended it as being the root (ie, it should be C: or D: or something like that). That indicates an undefined variable that is being used (the root disk). Imho, this is a bug in boost - but you might be able to work around it by actually setting a root. On Tue, May 30, 2006 at 11:30:37AM +0200, Alessandro Testa wrote: > hi, > I've a problem with a simple program. > > the source is like this: > > int main(int argc, char **argv) > { > > > std::string s("./"); > boost::filesystem::path p(s, WifiSolution::check_name); > > etc... > > this program works fine on linux and freebsd. when I try to execute it > on windows xp it throws an > exception during the creation of the object p, more specific in the > function m_path_append. > > the complete stack is > > msvcr80.dll!operator new(unsigned int size=3435973868) Line 63 + > 0x1e bytes C++ > msvcp80.dll!std::_Allocate(unsigned int _Count=3435973868, > char * __formal=0x00000000) Line 44 + 0x6 bytes C++ > > msvcp80.dll!std::basic_string ,std::allocator > >::_Copy(unsigned int _Newsize=3435973867, unsigned int _Oldlen=31) > Line 1986 + 0xd bytes C++ > > msvcp80.dll!std::basic_string ,std::allocator > >::_Grow(unsigned int _Newsize=3435973867, bool _Trim=false) Line 2012 > + 0xb bytes C++ > > msvcp80.dll!std::basic_string ,std::allocator > >::append(const > std::basic_string ,std::allocator > & > _Right={...}, unsigned int _Roff=0, unsigned int _Count=3435973836) > Line 931 + 0x16 bytes C++ > > msvcp80.dll!std::operator+ ,std::allocator > >(const > std::basic_string ,std::allocator > & > _Left="invalid name "ÌÌÌÌ." in path: "", const > std::basic_string ,std::allocator > & > _Right="ÌÌÌÌ./") Line 25 + 0x21 bytes C++ > Backup++.exe!boost::filesystem::path::m_path_append() + 0xddc > bytes C++ > Backup++.exe!boost::filesystem::path::path() + 0x4b bytes C++ > Backup++.exe!main(int argc=1, char * * argv=0x003a5c40) Line 22 + > 0xf bytes C++ > > as you can see I'm using Microsoft Visual Studio .NET 2005 (vc-8.0) > > Any idea? > Bye > Alex > _______________________________________________ > Boost-users mailing list > Boost-users@lists.boost.org > http://lists.boost.org/mailman/listinfo.cgi/boost-users -- Carlo Wood