Boost logo

Boost-Build :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2003-07-25 20:23:56


At 10:59 AM 7/25/2003, Beman Dawes wrote:

>OK, at long last the intermittent bjam memory exception has finally
>reoccurred for a .exe built with symbols, so I was able to get a call
stack
>trace. See below.
>
>This was a release build (VC++ 7.1), but with symbols turned on.
>
>I'll try to leave the debugger open for a while so that if anyone has any

>further questions (contents of variables, etc.) I can try to answer them.

No one answered, so I took a look myself.

The first sign of a problem is that timestamp should be calling
string_free(), which then in turn should call free(). By the time free() is
called the stack must have already been whacked; there is no way free()
could legitimately call extend_full().

The two possibilities that come to mind are (1) path.value (that's what
string_free() tries to free) has been corrupted or (2) there is some kind
of code generation bug.

Any ideas?

--Beman

> ntdll.dll!77f8381b()
> ntdll.dll!77f58cca()
> bjam.exe!_heap_alloc(unsigned int size=4254762) Line 211 + 0xf C
> ntdll.dll!77f58a3a()
> > bjam.exe!string_reserve_internal(string * self=0x003f4578, unsigned
int
>capacity=1241976) Line 56 C
> bjam.exe!extend_full(string * self=0x00320000, char *
start=0x00000000,
>char * finish=0x00320000) Line 85 C
> bjam.exe!free(void * pBlock=0x004744f0) Line 101 + 0xe C
> bjam.exe!timestamp(char * target=0x00477640, long *
>time=0x009d7fcc) Line 186 C
> bjam.exe!search(char * target=0x006d4402, long * time=0x009d7fcc, char
*
>
>* another_target=0x00000000) Line 132 + 0x1a C
> bjam.exe!bind_explicitly_located_target(void * xtarget=0x009d7fa4,
void
>* data=0x00000000) Line 168 C
> bjam.exe!hashenumerate(hash * hp=0x000011bb, void (void *, void *)*
>f=0x0040c5f0, void * data=0x00000000) Line 251 + 0xa C
> bjam.exe!bind_explicitly_located_targets() Line 178 + 0xd C
> bjam.exe!make(int n_targets=1, const char * * targets=0x032e47d8, int
>anyhow=0) Line 127 C
> bjam.exe!main(int argc=3276800, char * * argv=0x004744e8, char * *
>arg_environ=0x0012f424) Line 436 C
> bjam.exe!mainCRTStartup() Line 259 + 0x12 C
> kernel32.dll!77e814c7()
> ntdll.dll!77f944a8()
>
>
>
>
>To unsubscribe from this group, send an email to:
>jamboost-unsubscribe_at_[hidden]
>
>
>
>Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk