Boost logo

Boost-Build :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2003-07-07 09:29:49


At 03:43 AM 7/7/2003, Vladimir Prus wrote:

>Hi Beman,
>
>Beman Dawes wrote:
>> The problem is an access violation reading location 0x0000001c. It
always
>> happens at the same place in the code, line 570 of make1.c. The line of
>> code reads:
>>
>> if (t->includes) {
>
>That's interesting. The line of code in question is very new --- added
for
>V2 M5. So it's possibly a new bug.
>
>However, I have no idea how "t" can be incorrect here. Two considerations
>1. The line
> t = t->original_target
> above may cause the problem. OTOH, t->original_target is always
> correctly initialized.

I added an assert:

if (t->flags & T_FLAG_INTERNAL) {
assert( t->original_target );
t = t->original_target;
}

/* Clean current includes */
if (t->includes) {
t->includes = 0;
}

The assert does fail, after around 30 seconds of 100% CPU activity.

--Beman

 


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