Boost logo

Boost Users :

From: RYAN ROSARIO (uclamathguy_at_[hidden])
Date: 2004-09-08 21:11:45


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_at_[hidden]> 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_at_[hidden]
_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users

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



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net