Skip to content

os/exec: fd leak on Plan 9 #7118

@0intro

Description

@0intro
What steps will reproduce the problem?

Run tests for os/exec.

What is the expected output? What do you see instead?

The TestExtraFiles test is failing because of leaked file descriptors.

cpu% cd src/pkg/os/exec; go test
--- FAIL: TestExtraFiles (0.20 seconds)
    exec_test.go:234: TestExtraFiles: Something already leaked - closed fd 11
    exec_test.go:407: Run: exit status: 'exec.test 1454466: 1'; stdout "leaked parent file. fd = 12; want 11\n", stderr ""
FAIL
exit status: 'exec.test 1454437: 1'
FAIL    os/exec 1.364s

We can observe the following open file descriptors:

  0 r  c    0 (000000000000000a   0 00)     0        0 /dev/null\n
  1 rw |    0 (0000000001df6742   0 00) 65536       54 #|/data1\n
  2 rw |    0 (0000000001df6782   0 00) 65536        0 #|/data1
  3 rw M 1956 (0000000000d66dd2   0 00)  8192       12 /tmp/333163398
  4 r  c    0 (0000000000000001   0 00)     0      528 /dev/bintime
  5 r  M 1956 (0000000000d66dd1 854 00)  8192        0 /tmp/go-build843954301/os/exec/_test/exec.test
  6 r  M 1956 (0000000000d66dd1 854 00)  8192        0 /tmp/go-build843954301/os/exec/_test/exec.test
  7 r  M 1956 (0000000000d66dd1 854 00)  8192        0 /tmp/go-build843954301/os/exec/_test/exec.test
  8 r  M 1956 (0000000000d66dd1 854 00)  8192        0 /tmp/go-build843954301/os/exec/_test/exec.test
  9 r  M 1956 (0000000000d66dd1 854 00)  8192        0 /tmp/go-build843954301/os/exec/_test/exec.test
 10 r  M 1956 (0000000000d66dd1 854 00)  8192        0 /tmp/go-build843954301/os/exec/_test/exec.test
 11 r  c    0 (000000000000000f   0 00)     0       32 /dev/random
 12 r  M 1956 (0000000000d66dd1 854 00)  8192        0 /tmp/go-build843954301/os/exec/_test/exec.test
 13 r  c    0 (000000000000000a   0 00)     0        0 /dev/null
 14 rw |    0 (0000000001df6801   0 00) 65536        0 #|/data
 15 rw |    0 (0000000001df6802   0 00) 65536     1275 #|/data1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions