crash on system with maybe broken timers
stefan@franke.ms
stefan@franke.ms
Mon Apr 18 18:58:04 GMT 2022
I just faced an issue, which I fixed locally, which happened while debugging
a remote target with an inaccurate timer.
What's happening is:
toplev::~toplev () calls g_timer->print (stderr);
timer::print (FILE *fp) calls validate_phases(fp);
timer::validate_phases (FILE *fp) const calls gcc_unreachable ();
gcc_unreachable () calls (fancy_abort (__FILE__, __LINE__, __FUNCTION__))
fancy_abort (const char *file, int line, const char *function) calls
internal_error ("in %s, at %s:%d", function, trim_filename (file), line);
internal_error (const char *gmsgid, ...) calls report_diagnostic
(&diagnostic);
diagnostic_report_diagnostic (diagnostic_context *context, diagnostic_info
*diagnostic) calls pp_format (context->printer, &diagnostic->message);
. I stop here, and you can see why it crashes;
context->printer was closed before entering the destructor of toplev in
toplev::main
diagnostic_finish (global_dc);
maybe someone wants to fix this.
Stefan
More information about the Gcc-help
mailing list