public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: crossgcc@sourceware.org
Subject: Broken backtrace
Date: Tue, 13 Dec 2011 18:05:00 -0000	[thread overview]
Message-ID: <b0379eeb-32b8-46ad-8010-8bc92dd015b4@zose-store-12> (raw)
In-Reply-To: <64b6c88a-c06e-402d-b3a8-e5b02c39420d@zose-store-12>

Hi Yann, all,

I'm not sure if it was already the case with previous Ubuntus, but CT-NG's
backtrace is broken at least with Ubuntu 11.10 (using bash):

[INFO ]  Installing PPL: done in 7912.66s (at 198:02)
[INFO ]  Saving state to restart at step 'cloog'...
[INFO ]  =================================================================
[INFO ]  Installing CLooG/ppl
[ERROR]    make[2]: *** [cloog] Error 1
[ERROR]    make[1]: *** [check-recursive] Error 1
[ERROR]
[ERROR]    >>
[ERROR]    >>  Error happened in: main[scripts/crosstool-NG.sh]
[ERROR]    >>
[ERROR]    >>  For more info on this error, look at the file: 'build.log'
[ERROR]    >>  There is a list of known issues, some with workarounds, in:
[ERROR]    >>      '/Toolchains/crosstool-ng/build/share/doc/ct-ng-hg+default-69cfd6e0f1d1/B - Known issues.txt'
[ERROR]
[ERROR]    Build failed in step 'Extracting and patching toolchain components'
[ERROR]
[ERROR]    (elapsed: 198:20.71)

The step should have been 'Installing CLooG/ppl', and the calls should have been
backtraced.

I've performed some tests, which show that this issue is caused by the following
lines:

    14     # Bail out early in subshell, the upper level shell will act accordingly.
    15     [ ${BASH_SUBSHELL} -eq 0 ] || exit $ret

http://crosstool-ng.org/hg/crosstool-ng/file/096845dbd877/scripts/functions#l14

The trace should be displayed for the deepest subshell, not for the top one.

For this example, I end up with subshells 2 to 0, and the trace variables
CT_STEP_COUNT and CT_STEP_MESSAGE are correct only for subshells 2 and 1. For
subshell 0, these variables are like before do_cloog() is called, i.e. 1 for
${CT_STEP_COUNT}, "<none>" for ${CT_STEP_MESSAGE[1]} and "Extracting and
patching toolchain components" for ${CT_STEP_MESSAGE[2]}. CT_OnError() sets
CT_STEP_COUNT to 2 before logging ${CT_STEP_MESSAGE[${CT_STEP_COUNT}]}, hence
the result.

Notes regarding CT_OnError() (nothing to do with this issue):
 - The step variable (already used in main()) could be defined as local to be
cleaner, even if it does not really matter when exiting.
 - "offset=1" seems to be a spurious line.

As to the error itself of my example, I'm testing a patch I've just cooked.

Best regards,
Benoît Thébaudeau

--
For unsubscribe information see http://sourceware.org/lists.html#faq

       reply	other threads:[~2011-12-13 18:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <64b6c88a-c06e-402d-b3a8-e5b02c39420d@zose-store-12>
2011-12-13 18:05 ` Benoît Thébaudeau [this message]
2011-12-13 19:42   ` Yann E. MORIN
2011-12-13 20:18     ` Benoît Thébaudeau
2011-12-13 23:56       ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b0379eeb-32b8-46ad-8010-8bc92dd015b4@zose-store-12 \
    --to=benoit.thebaudeau@advansee.com \
    --cc=crossgcc@sourceware.org \
    --cc=yann.morin.1998@anciens.enib.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).