Boost logo

Boost :

From: Anthony Williams (anthony_w.geo_at_[hidden])
Date: 2006-08-09 06:27:21


Aleksey Gurtovoy <agurtovoy_at_[hidden]> writes:

> Anthony Williams writes:
>> I've been trying to run some regression tests today using
>> regression.py. After a few false starts, bjam ran to the end, but
>> now process_jam_logs won't run --- every time it runs it thinks for
>> a few seconds, and then quits with the message:
>>
>> **** exception(205): std::out_of_range: invalid string position
>> ******** errors detected; see standard output for details ********
>>
>> Any thoughts?
>
> Seems like it's being fed an unexpected input. Unfortunately,
> process_jam_log doesn't have a logging option, and the easiest way to
> see what exactly it chockes on would be to run it under debugger, with
> the command line extracted from the regression.py's log.

The error is in parse_skipped_msg_aux, trying to parse the message

...skipped <@boost!libs!parameter!test\python-parameter-test.test\gcc\debug>python-parameter-test.run for lack of <CYGWIN_EXE@>python2.4.exe...

The CYGWIN_EXE@ bit is causing confusion on line 232 (CVS HEAD version) ---
there is no path separator in "CYGWIN@", so the insert is failing (with an
out_of_range exception), as the call to dir.find is returning
std::string::npos.

Changing line 232 to two lines:

        string::size_type path_sep_pos=dir.find( '/', start_pos + 1);
        dir.insert( (path_sep_pos==string::npos)?dir.size():path_sep_pos,"/bin" );

allows it to run to completion --- I have now run collect_and_upload_logs, so
the results should be available soon.

Maybe I should set PYTHON_ROOT (my python installation lives in
c:\local\python24), but it should work without it set.

Anthony

-- 
Anthony Williams
Software Developer
Just Software Solutions Ltd
http://www.justsoftwaresolutions.co.uk

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk