bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[BUG] RETURN trap with -o functrace: infinite recursion on 'eval return'


From: Martijn Dekker
Subject: [BUG] RETURN trap with -o functrace: infinite recursion on 'eval return'
Date: Tue, 10 Apr 2018 10:56:49 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

$ bash -o functrace -c 'fn() { eval "return"; }; trap "fn" RETURN; fn'

Result: segfault due to infinite recursion.

__________

Even apart from this bug with 'eval return', the effect of '-o functrace' is a bit strange:

$ bash -o functrace -c 'fn() { printf foo; fn2; };
        fn2() { printf bar; fn3; };
        fn3() { printf baz\\n; };
        trap fn RETURN; fn'
foobarbaz
foobarbaz
foobarbaz
foobarbaz

(I'd expect one 'foobarbaz', not four)

It seems odd that the RETURN trap would be triggered while a RETURN trap action is still being executed. Might it be better to temporarily deactivate the effect of '-o functrace' while a RETURN trap action is being executed?

Thanks,

- M.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]