.version
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Dec 13 23:32:39 2011 +0100 (2011-12-13)
changeset 2807 4193d6e6a174
parent 1075 61bfa38f2174
child 1565 a32dc48671c3
child 1793 5cd3dd909770
child 1944 3a7ac3dd859d
child 2057 8398f0469d6a
child 2175 bde8f1be2511
child 2296 d18cc3da3879
child 2427 5a725fbda9e0
child 2582 7c5f0c6ddac1
child 2729 adc12224e93c
child 2863 1081af8ee469
child 2954 b005740d1473
child 3029 06cf4f81a5a2
child 3108 f36a98f63749
child 3177 47a7a813b589
child 3236 b83e6d31adba
permissions -rw-r--r--
scripts: fix dumping execution backtrace

Dumping the backtrace has been broken since changeset #652e56d6d35a:
scripts: execute each steps in a subshell

We can spawn sub-sub-shells in some cases.

The way the fault handler works is to dump the backtrace, but to avoid
printing it once for every sub-shell (which could get quite confusing),
it simply exits when it detects that it is being run in a sub-shell,
leaving to the top-level shell the work to dump the backtrace.

Because each step is executed in its own sub-shell, the variable arrays
that contain the step name, the source file and line number, are lost
when exiting the per-step sub-shell.

Hence, the backtrace is currently limited to printing only the top-level
main procedure of the shell.

Fix this thus:
- when dumping the bckatraces for the steps & the functions, remember
it was dumped, and only dump it if it was not already dumped
- at the top-level shell, print the hints

Also, rename the top-level step label.

Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 hg