Re: [RFC PATCH] Support debuginfo and source file fetching via debuginfo server

Tom Tromey
2019-11-01T19:31:18Z

Tom> The control-c question is a good one -- I'd also like to know the
Tom> answer. Most things in gdb are interruptible this way.

Aaron> We are now using the libcurl multi interface to fetch files over HTTP
Aaron> and it is mostly non-blocking (although blocking can happen during
Aaron> domain name resolution). However ctrl+c does not interrupt our symbol
Aaron> downloading within GDB. This may be due to GDB's SIGINT handling,
Aaron> which just sets a flag for the event loop when it is not safe to
Aaron> throw an exception. Based on a comment in
Aaron> gdb/event-top.c:handle_sigint(), symfile reading is one such region.

Aaron> Also, we have an environment var $DEBUGINFOD_TIMEOUT that lets users
Aaron> control how much time is spent attempting each download without having
Aaron> to rely on ctrl+c.

I think an environment variable may be too late. I realize gdb doesn't
generally allow interrupting the reading of symbol tables. But, this
case is a little different, in that the main thing happening is the
download of the debug info. Being able to interrupt this would be good,
because servers can wedge, download speeds can be low, etc. Also, maybe
printing something if the download takes too long would be good to do.

Tom