|
Boost-Build : |
From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2008-08-08 15:56:01
Hi,
I've found what appears to be a problem with certain assumptions made
by process_jam_log and the failure to abide by those assumptions in
bjam. During some preliminary testing on Mac OSX (Leopard), running
the trunk nightly tests, I found that process_jam_log was crashing
with a bus error during the results processing (line 499 in
pjl.cpp). The problem originates at line 781, where process_jam_log
expects all the action output to be written consecutively to the log
file. In the attached excerpt from the bjam results log, you can see
that numeric.o build action output is interleaved with the long.o
action output. This interleaved output crashes process_jam_log, as
it expects to find all action output contiguous in the log file.
So as to how to fix this problem. The issue, as I see it, is that
execunix.c is responsible for outputting the action data whereas
make1.c (lines 252 and 825) outputs action information used by
process_jam_log. Seems like we need to merge all action related
output into a single location to avoid interleaved output and ensure
robust process_jam_log processing.
-- Noel
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