https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102742

            Bug ID: 102742
           Summary: ERROR: descriptor 3 still open after tests complete
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libbacktrace
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: ian at gcc dot gnu.org
  Target Milestone: ---

>From time to time, I see this failure when I run tests when I run e.g.

make -j16 check -k RUNTESTFLAGS="dg.exp=pr64637.c"

ERROR: descriptor 3 still open after tests complete
ERROR: descriptor 4 still open after tests complete

However, running with -j1 it's gone. I'm pretty sure these FDs belong to
jobserver and I can prove it with:

diff --git a/libbacktrace/btest.c b/libbacktrace/btest.c
index 9f9c03babf3..f9be9a26db4 100644
--- a/libbacktrace/btest.c
+++ b/libbacktrace/btest.c
@@ -482,6 +482,9 @@ check_open_files (void)
 int
 main (int argc ATTRIBUTE_UNUSED, char **argv)
 {
+  const char *makeflags = getenv ("MAKEFLAGS");
+  fprintf (stderr, "XXX: %s\n", makeflags);
+
   state = backtrace_create_state (argv[0], BACKTRACE_SUPPORTS_THREADS,
                                  error_callback_create, NULL);

Then I see:

XXX: kw -j16 --jobserver-auth=3,4

in test-suite.log.

Reply via email to