On Fri, Jan 03, 2014 at 10:30:11PM +0100, Jan Kratochvil wrote: > On Thu, 02 Jan 2014 23:52:05 +0100, Mark Wielaard wrote: > > I don't agree with the infinite default, there should be a limit by > > default, but I agree with everything else. > > I have realized you are right there is needed: > [patch] Detect infinite backtraces > > https://lists.fedorahosted.org/pipermail/elfutils-devel/2014-January/003706.html
I haven't read the patch yet, but it does look like a nice addition independent of any -n default for eu-stack. > Even 2048 is not enough. Why should I have to use: > $ ./src/stack -n 999999 -e ./a.out --core ./core.*|tail BTW. If you don't want any limit then use -n 0. > [...] > #523820 0x00000000004004fe float > #523821 0x00000000004004fe float > #523822 0x000000000040050e main > #523823 0x000000305f821d65 __libc_start_main > #523824 0x0000000000400429 _start > $ _ > > This is a perfectly valid backtrace, I do not see why I should specify an > extra option to get valid backtrace. It is a valid backtrace, but it isn't a good idea to output half a million lines by default. If you really want hunderds of thousands of lines of output you can use -n 0. eu-stack will now warn if the backtrace was insanely large by default. > > The backtrace could just be bad causing us to endlessly unwind. > > It no longer can. If your patch guarantees that then that is good. But I don't agree that there shouldn't be any limit in eu-stack by default. Generating hunderd thousands lines of output is not a good default. With -n 0 users now have the choice which they prefer. Cheers, Mark
