pixi icon indicating copy to clipboard operation
pixi copied to clipboard

OS 24 error installing robostack packages

Open gftabor opened this issue 1 month ago • 2 comments

Checks

  • [x] I have checked that this issue has not already been reported.

  • [x] I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

Commands I ran and their output:

pixi shell

pixi.toml/pyproject.toml file that reproduces my issue:

[project]
name = "mqp"
version = "0.1.0"
description = "Development environment for VEX MQP"
authors = ["Your Name <[email protected]>"]
channels = ["https://prefix.dev/conda-forge","https://prefix.dev/robostack-jazzy"]
platforms = ["linux-64","osx-64"]

[dependencies]
compilers = "*"
cmake = "*"
make = "*"
ninja = "*"
pip = ">=25.1.1,<26"


ros-jazzy-desktop = "*"
python = "3.12.*"
ros-jazzy-turtlebot3 = "*"
ros-jazzy-turtlebot3-msgs = "*"
ros-jazzy-turtlebot3-simulations = "*"
colcon-common-extensions = "*"
rosdep = "*"
ros-jazzy-ament-cmake-vendor-package = "*"
ros-jazzy-ament-cmake-clang-format = "*"
ros-jazzy-navigation2 = "*"

pixi info output:

tabor@taborwork:~/Documents/test$ pixi shell
      validate cache       [00:00:00] [━━━━━━━━━━━━━━━━━━━━] fonts-conda-forge (+265)
      download & extract   [00:00:00] [━━━━━━━━━━━━━━━━━━━━] 17.22 KiB @ 262.90 KiB/s ros-jazzy-ament-lint
      installing packages  [00:00:00] [━━━━━━━━━━━━━━━━━━━━] 1,025/1,025 gz-sensors8 (+199)                      Error:   × failed to write proj-9.6.2-h18fbb6c_2.json
  ╰─▶ Failed to create temporary file in '/home/tabor/Documents/test/.pixi/envs/default/conda-meta': No file
      descriptors available (os error 24) at path "/home/tabor/Documents/test/.pixi/envs/default/conda-meta/
      prefix_record_Q6gTDZ"

Other files (e.g. script files, source files, etc.):

Issue description

OS 24 error. I removed a few dependencies and a few supported OSes until I got to minimal example.

I have gotten same error on Linux, OSX and Arm Linux.

Expected behavior

Open less files at once?

gftabor avatar Oct 18 '25 15:10 gftabor

I would also respect a "We opened too many files, permission to rerun with 'ulimit -n 2048' " with a confirmation dialogue.

gftabor avatar Oct 18 '25 16:10 gftabor

Is this fixed with that command? Because we could pottentionally update the automatic rlimit being set by Pixi.
https://github.com/prefix-dev/pixi/blob/b71d61644dff650b9f6e466882799229910daf9f/crates/pixi_utils/src/rlimit.rs#L4

ruben-arts avatar Oct 20 '25 06:10 ruben-arts

Did you still encounter this issue @gftabor ?

ruben-arts avatar Nov 21 '25 13:11 ruben-arts

Did you still encounter this issue @gftabor ?

Ya, same issue. Same toml from main issue.

tabor@taborwork:~/test$ pixi clean cache
No cache types specified using the flags.
No cache types specified using the flags.
Do you really want to remove all cache directories from your machine? yes
  removed /home/tabor/.cache/rattler/cache                                      tabor@taborwork:~/test$ rm -rf .pixi
tabor@taborwork:~/test$ ls -a
.  ..  .gitattributes  .gitignore  pixi.lock  pixi.toml
tabor@taborwork:~/test$ rm pixi.lock
tabor@taborwork:~/test$ pixi shell
 WARN Encountered 1 warning while parsing the manifest:
  ⚠ The `project` field is deprecated. Use `workspace` instead.
   ╭─[/home/tabor/test/pixi.toml:1:1]
 1 │ ╭─▶ [project]
 2 │ │   name = "mqp"
 3 │ │   version = "0.1.0"
 4 │ │   description = "Development environment for VEX MQP"
 5 │ │   authors = ["Your Name <[email protected]>"]
 6 │ │   channels = ["https://prefix.dev/conda-forge","https://prefix.dev/robostack-jazzy"]
 7 │ ├─▶ platforms = ["linux-64","osx-64"]
   · ╰──── replace this with 'workspace'
 8 │     
   ╰────

Error:   × failed to fetch pcre-8.45-h9c3ff4c_0.tar.bz2
  ├─▶ failed to open cache lock for writing: '/home/tabor/.cache/rattler/
  │   cache/pkgs/pcre-8.45-h9c3ff4c_0.lock
  ╰─▶ No file descriptors available (os error 24)

tabor@taborwork:~/test$ pixi --version
pixi 0.59.0

gftabor avatar Nov 21 '25 14:11 gftabor

Does setting a new ulimit work though @gftabor ? ulimit -n 2048?

baszalmstra avatar Nov 28 '25 10:11 baszalmstra

Does setting a new ulimit work though @gftabor ? ulimit -n 2048?

Yes.

gftabor avatar Nov 28 '25 13:11 gftabor

I made a PR so that pixi tries to update the limit to 2048 at startup (it used to be 1024).

baszalmstra avatar Nov 28 '25 14:11 baszalmstra

I made a PR so that pixi tries to update the limit to 2048 at startup (it used to be 1024).

Is a more scalable solution detecting when you are near the limit and telling the user something, or automatically upping the limit? I am just thinking if you hit the 1024 limit 2048 doesn't seem so unreasonable to hit too...

gftabor avatar Nov 28 '25 21:11 gftabor