Boost logo

Boost-Build :

Subject: Re: [Boost-build] Early bjam abort
From: Nogradi, Chris (Chris.Nogradi_at_[hidden])
Date: 2012-04-30 12:43:41


Steve,

> With this change I am seeing bjam stuck in an endless loop

I should have mentioned that I am actually running SVN 78259 instead of 78252 when this happens.

> I think this should be fixed as of r78252.
> All of my simple test cases pass now. Please
> let me know if there are still issues.

I tried 78252 and it crashes here:

        bjam.exe!make1breakcycle(_target * t=0x0a38ae08, _target * cycle_root=0x0cb4262c) Line 1278 + 0x6 bytes C
        bjam.exe!make1a(_state * pState=0x0d18a108) Line 288 + 0x10 bytes C
        bjam.exe!make1(_target * t=0x0a38ae08) Line 233 + 0x9 bytes C
        bjam.exe!make(_list * targets=0x033d17a0, int anyhow=0) Line 171 + 0x14 bytes C
        bjam.exe!builtin_update_now(frame * frame=0x0018dc88, int flags=0) Line 1387 + 0x10 bytes C
        bjam.exe!function_run(_function * function_=0x0037ef20, frame * frame=0x0018dc88, _stack * s=0x004d20d4) Line 3390 + 0x13 bytes C
        bjam.exe!evaluate_rule(_object * rulename=0x0037eee4, frame * frame=0x0018dc88) Line 264 + 0x16 bytes C
        bjam.exe!function_call_rule(_jam_function * function=0x01e56fb8, frame * frame=0x0018e3f4, _stack * s=0x004d20d4, int n_args=1, const char * unexpanded=0x0037eee4, _object * file=0x01ec3134, int line=998) Line 468 + 0xd bytes C
        bjam.exe!function_run(_function * function_=0x01e56fb8, frame * frame=0x0018e3f4, _stack * s=0x004d20d4) Line 3950 + 0x2d bytes C
        bjam.exe!parse_file(_object * f=0x01ec3134, frame * frame=0x0018e3f4) Line 57 + 0x13 bytes C
        bjam.exe!function_run(_function * function_=0x01de7988, frame * frame=0x0018e3f4, _stack * s=0x004d20d4) Line 4127 + 0x13 bytes C
        bjam.exe!evaluate_rule(_object * rulename=0x01eaed9c, frame * frame=0x0018e3f4) Line 264 + 0x16 bytes C
        bjam.exe!function_call_rule(_jam_function * function=0x01de80f8, frame * frame=0x0018e898, _stack * s=0x004d20d4, int n_args=3, const char * unexpanded=0x01eaed9c, _object * file=0x01e05ca4, int line=283) Line 468 + 0xd bytes C
        bjam.exe!function_run(_function * function_=0x01de80f8, frame * frame=0x0018e898, _stack * s=0x004d20d4) Line 3950 + 0x2d bytes C
        bjam.exe!evaluate_rule(_object * rulename=0x01eb5d34, frame * frame=0x0018e898) Line 264 + 0x16 bytes C
        bjam.exe!function_call_rule(_jam_function * function=0x01ec0ed8, frame * frame=0x0018f004, _stack * s=0x004d20d4, int n_args=1, const char * unexpanded=0x01eb5d34, _object * file=0x01e9a38c, int line=142) Line 468 + 0xd bytes C
        bjam.exe!function_run(_function * function_=0x01ec0ed8, frame * frame=0x0018f004, _stack * s=0x004d20d4) Line 3950 + 0x2d bytes C
        bjam.exe!parse_file(_object * f=0x01e9a38c, frame * frame=0x0018f004) Line 57 + 0x13 bytes C
        bjam.exe!function_run(_function * function_=0x01e9cf98, frame * frame=0x0018f004, _stack * s=0x004d20d4) Line 4127 + 0x13 bytes C
        bjam.exe!evaluate_rule(_object * rulename=0x01de11c4, frame * frame=0x0018f004) Line 264 + 0x16 bytes C
        bjam.exe!function_call_rule(_jam_function * function=0x01ec0b58, frame * frame=0x0018f664, _stack * s=0x004d20d4, int n_args=1, const char * unexpanded=0x01de11c4, _object * file=0x01e9c3e4, int line=8) Line 468 + 0xd bytes C
        bjam.exe!function_run(_function * function_=0x01ec0b58, frame * frame=0x0018f664, _stack * s=0x004d20d4) Line 3950 + 0x2d bytes C
        bjam.exe!parse_file(_object * f=0x01e9c3e4, frame * frame=0x0018f664) Line 57 + 0x13 bytes C
        bjam.exe!function_run(_function * function_=0x01ea3a30, frame * frame=0x0018f664, _stack * s=0x004d20d4) Line 4127 + 0x13 bytes C
        bjam.exe!parse_file(_object * f=0x01dd79bc, frame * frame=0x0018f664) Line 57 + 0x13 bytes C
        bjam.exe!main(int argc=2, char * * argv=0x0037225c, char * * arg_environ=0x00372300) Line 542 + 0x12 bytes C
        bjam.exe!__tmainCRTStartup() Line 327 + 0x19 bytes C
        bjam.exe!mainCRTStartup() Line 196 C
        kernel32.dll!75d9339a()
        [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
        ntdll.dll!778c9ef2()
        ntdll.dll!778c9ec5()

Chris

-----Original Message-----
From: Nogradi, Chris
Sent: Monday, April 30, 2012 9:42 AM
To: 'steven_at_[hidden]'; Boost.Build developer's and user's list
Subject: RE: [Boost-build] Early bjam abort

> I think this should be fixed as of r78252.
> All of my simple test cases pass now. Please
> let me know if there are still issues.

Thanks Steve!

With this change I am seeing bjam stuck in an endless loop in:

TARGET * target_scc( TARGET * t )
{
    TARGET * result = t;
    TARGET * tmp;
    while ( result->scc_root )
        result = result->scc_root; <----------------------------------- stuck here

If you need additional info I can provide it to you.

Chris

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of this e-mail or any attachment is prohibited. If you have received this e-mail in error, please contact the sender and delete all copies.

Thank you for your cooperation.


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