I ran the debugger and looked more closely at the stack trace, but I still don't know what I can do about the error. Could it be a bug that affects my type of system or something?
 
It still points to the free function (possible corrupted memory block) which appears to be called by the boost::throw_exception function called by boost::filesystem::detail::dir_itr_init()  + 0x27a. <-- What is that? That may be more the source of the problem. This appears to be called by the directory_iterator constructor.
 
Below is the stack trace from the time a button is clicked (when the problem arises).
 

            kernel32.dll!77e73887()          

            kernel32.dll!77e73887()          

            ntdll.dll!77f59037()      

>          PICtool-w32.exe!free(void * pBlock=0xe06d7363)  Line 103 C

            PICtool-w32.exe!_CxxThrowException(void * pExceptionObject=0x0012f1fc, const _s__ThrowInfo * pThrowInfo=0x00434a8c)  + 0x34      C++

            PICtool-w32.exe!boost::throw_exception<boost::filesystem::filesystem_error>()  + 0x20           C++

            PICtool-w32.exe!boost::filesystem::detail::dir_itr_init()  + 0x27a            C++

            PICtool-w32.exe!PICtoolCompileWnd::OnBnClickedStart()  Line 283 C++

 

Many Thanks Again,

Ryan



goochrules! <goochrules@gmail.com> wrote:
> The stack trace indicates that the path object destructor ~path() is calling
> free(void * pBlock blah...) in free.c and that is when the break occurs due to the
> filesystem::error.
>
> What does that mean? It seems like there is nothing I can do if it is being caused
> by the destructor and/or Windows heap functions, but maybe I am not reading the
> output correctly.

It sounds to me like there's some sort of memory corruption, possibly
a block is being twice freed, or a non-block is being freed. Either
way, I can't really tell what's going on w/o more information, such as
a self-contained example demonstrating this problem.

In the mean-time, using the stack trace, figure out which call in your
code leads to the exception and comment it out. Then, see if the
exception shows up elsewhere.


-- Matthew Peltzer
-- goochrules@gmail.com
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users


Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!