Skip to content

runtime: checkfds breaks on AIX and Solaris #61584

Closed
@rolandshoemaker

Description

@rolandshoemaker

http://go.dev/cl/509020 broke the aix-ppc64 and solaris-amd64-oraclerel builders.

For AIX it appears that the secureFDs was previously not working as intended, as something at another level (presumably in the kernel) was already reopening FDs when the binary was SUID, meaning our calls to fcntl(F_GETFD) always returned the expected value with no error. Doing this when not in SUID returns -1 with an error of 0, which breaks our assumption that EBADF will be returned (also violates the IBM documentation, possibly suggesting we are not properly getting the error code).

For Solaris, I've not been able to acquire a buildlet to test yet, but the Oracle docs suggest nothing particularly obvious. Possible there is a similar thing happening as AIX?

Build logs:

cc @ianlancetaylor @heschi

Metadata

Metadata

Labels

FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions