ISC_PLATFORM_USEBACKTRACE

Hal Murray hmurray at megapathdsl.net
Tue May 30 23:44:48 UTC 2017


> I'll be seeing if even that works, and if it works, how it compares to gdb
> backtrace. 

gdb doesn't work when ntpd is started automatically at boot time.  That's 
interesting because, at least on my laptop, wifi doesn't get started until 
after ntpd is running.  That tested a code path I never figured out how to 
otherwise test, and of course, it had a syscall what wasn't (yet) allowed.

strace solved that one.

There is another problem in this area.  That's translating a stack trace in 
the middle of libc into a syscall.  It's not simple, even with symbols for 
libc.  Mostly, I could guess.  I think I had to look at the source at least 
once.

strace gives you exactly what you want with a huge overhead which probably 
isn't practical on a busy server.  It might be possible to modify it to keep 
a buffer of the last N syscalls and dump the buffer when the program being 
traced crashes.


> I remain a fan of ripping out unused and useless code.

I generally agree.  This code is currently unused.  But is it useless?

An alternative would be to debug it and set things up to use it.  I know 
about three cases where it might be very helpful.
  SIGSYS or a seccomp trap.  
  SIGBUS, usually an address fault.
  The ASSERT handler.

---------

Since I seem to be the only one interested in that code, I have a simple 
solution.  Find somebody else to maintain the seccomp list.  Then I'll shut 
up and you can dump that code and we can stop wasting time on discussions 
like this.


-- 
These are my opinions.  I hate spam.





More information about the devel mailing list