Repository navigation
test_pdb failures on Solaris following realpath fixes #142836
Description
Activity
Do we know why this issue wasn't picked up by build bots?
Relevant code is here:
Lines 3564 to 3580 in a043407
def _fd_dir_for_pipe_targets(self): """Return a directory exposing live file descriptors, if any.""" proc_fd = "/proc/self/fd" if os.path.isdir(proc_fd) and os.path.exists(os.path.join(proc_fd, '0')): return proc_fd dev_fd = "/dev/fd" if os.path.isdir(dev_fd) and os.path.exists(os.path.join(dev_fd, '0')): if sys.platform.startswith("freebsd"): try: if os.stat("/dev").st_dev == os.stat(dev_fd).st_dev: return None except FileNotFoundError: return None return dev_fd return None Do we know why this issue wasn't picked up by build bots?
I guess because there's no "sunos" buildbot.
I don't fully understand the motivations behind
_fd_dir_for_pipe_targets. I'm not sure when/procor/devis relevant. The proposed patch seems reasonable, although I'd like to see it protected by a comment (so it doesn't get optimized away) and probably be in its own stanza (so it's disentangled from the other concerns). Now that these functions are growing more complexity, perhaps they should be rewritten as separate functions so that this function body looks something like:return self._fd_dir_from_proc() or self._fd_dir_from_dev()
- changed the title
[-]test_pdb failures on sunos following realpath fixes[/-][+]test_pdb failures on Solaris following realpath fixes[/+]on Dec 16, 2025 Hi, I edited the title. I think this is Solaris-related by the content. SunOS is already deprecated, so I believe the original title was just a typo. Please feel free to change it back if I’m mistaken.
Reacted by Jason R. CoombsDo we know why this issue wasn't picked up by build bots?
I guess because there's no "sunos" buildbot.
Oh! It does fail in the Solaris buildbot (example).
I suspect the failure wasn't reported because that environment isn't at a tier included in reporting.
- addedtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
on Dec 16, 2025 As far as I understand, Solaris is not our supported platform anymore. The OS itself is dying too. I don't think we have to do something on this. If there is a quick and clean fix, sure we can apply that, but I don't think it's worth it to spend too much time to investigate the OS specific behavior, or making the code super ugly just to make it work for Solaris.
- added a commit that references this issue
on Dec 17, 2025 I'm pleased to say, CoPilot was able to implement fully the fix, including submitting the PR, based on the discussion above.
- added a commit that references this issue
on Dec 17, 2025 Thank you for the fix @jaraco!
Hi, I edited the title. I think this is Solaris-related by the content. SunOS is already deprecated, so I believe the original title was just a typo. Please feel free to change it back if I’m mistaken.
The name is a little confusing due to historical reasons, but what we know as Solaris/Illumos today is reported as
sunos5by the platform module.Oh! It does fail in the Solaris buildbot (example).
I suspect the failure wasn't reported because that environment isn't at a tier included in reporting.
Indeed. The Solaris buildbot is not being reported, one reason being that it was never green - I am working on that, and thanks to several Python developers, I was able to merge some fixes recently, but it's still not quite there yet...
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsDone
@kulikjak reports seeing the following test failure on Solaris following #142371:
I am no expert here, but I tried looking into this and apparently opening anything other than regular file or directory from
/proc/_pid_/rootraisesEACCES:https://docs.oracle.com/cd/E88353_01/html/E37852/proc-5.html
It is however possible to open the pipe descriptor via
/dev/fdand the following change fixes the issue:Originally posted by @kulikjak in #142371 (comment)
Linked PRs