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

Benoît, All,

On Tuesday 13 December 2011 19:06:18 Benoît Thébaudeau wrote:
> 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):

It's also broken here on Debian Squeeze.
I have not yet investigated too much, but I plan on doing so after I finish
some more important stuff (eg. multilib, canadian...).

> [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.

OK, I just understood what happens! Thanks for pointing this.
Can you try to revert changeset #652e56d6d35a:

    scripts: execute each steps in a subshell

    To avoid variable leakage from one step to another, isolate the
    steps from each others by running them in their own sub-shell.

    This avoids variables leaking from one step to the others.


> 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.

Probably both right, I'll look after dinner.

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

Thank you!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

  reply	other threads:[~2011-12-13 19:42 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
2011-12-13 19:42   ` Yann E. MORIN [this message]
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=201112132041.43690.yann.morin.1998@anciens.enib.fr \
    --to=yann.morin.1998@anciens.enib.fr \
    --cc=benoit.thebaudeau@advansee.com \
    --cc=crossgcc@sourceware.org \
    /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).