Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Core] Ray 2.9.0 with grcpio1.58 from conda-forge does not work #42483

Closed
mattip opened this issue Jan 18, 2024 · 10 comments
Closed

[Core] Ray 2.9.0 with grcpio1.58 from conda-forge does not work #42483

mattip opened this issue Jan 18, 2024 · 10 comments
Assignees
Labels
bug Something that is supposed to be working; but isn't core Issues that should be addressed in Ray Core P1 Issue that should be fixed within a few weeks QS Quantsight triage label stability

Comments

@mattip
Copy link
Contributor

mattip commented Jan 18, 2024

What happened + What you expected to happen

Maybe related to #35383, which was closed when ray refactored its grpcio handling. Reported in conda-forge/ray-packages-feedstock#136. Can be worked around by preferring grpcio-1.59 over grpcio-1.58 from conda-forge. The issue does not occur when using grpcio from PyPI (via pip install).

Even though there is a work-around, it would be good to understand what is going on: is conda-forge's build broken or is it the bazel-based build of ray?

cc @anyscalesam, originally reported by @apmorton

One thing that came up in other discussions around this issue is that conda-forge's approach to packaging is to re-use installable packages as build dependencies. That is, conda-forge alread builds many of the third-party build dependencies of ray, and it would simplify packaging (less patching and building) if the bazel-based ray build would use them. That would require a way to tell bazel "please use these system libraries", something that bazel verison 5 cannot easily do. But bazel version 6 does have a way to specify this. Something to think about.

Versions / Dependencies

linux x86_64
ray 2.9.0 (from conda-forge)
grpcio (from conda-forge)
1.59.3 - working
1.58.2 - broken
1.57.0 - working
1.56.0 - working
1.55.1 - broken
1.54.3 - broken

Reproduction script

$ env/bin/ray start --head
$ env/bin/python -c 'import ray; import logging; ray.init(address="ray://127.0.0.1:10001", logging_level=logging.DEBUG); print("hello")'

Issue Severity

Medium: It is a significant difficulty but I can work around it.

@mattip mattip added bug Something that is supposed to be working; but isn't triage Needs triage (eg: priority, bug/not-bug, and owning component) labels Jan 18, 2024
@anyscalesam anyscalesam added the core Issues that should be addressed in Ray Core label Jan 18, 2024
@rynewang
Copy link
Contributor

Hi @mattip after some discussions we decide to not update on our end because in pip it works fine. Would you mind continuing the path in conda-forge/conda-forge-repodata-patches-feedstock#638 and we can call it fixed?

@rynewang
Copy link
Contributor

cc @rkooo567

@mattip
Copy link
Contributor Author

mattip commented Jan 19, 2024

OK

@rkooo567 rkooo567 added QS Quantsight triage label and removed triage Needs triage (eg: priority, bug/not-bug, and owning component) labels Jan 22, 2024
@anyscalesam
Copy link
Contributor

@rynewang can we think of a systematic fix for this; is there nothing we can do so that dependency crawls between pip and conda are aligned so that if it works in pip it'll also work in condaforge?

@rynewang
Copy link
Contributor

rynewang commented Feb 1, 2024

I don't have extensive conda knowledge but based on the issue I guess grpcio compiled by conda is broken, while the one compiled by pip is good, so Ray don't have a great way to auto-fix this. @mattip do you have any insights on this?

@mattip
Copy link
Contributor Author

mattip commented Feb 2, 2024

I tried but could not make progress in figuring out what is wrong with that mix of package versions. I would be more motivated if we had a use case that requires grpcio-1.58, and cannot resolve without it.

@anyscalesam anyscalesam added the triage Needs triage (eg: priority, bug/not-bug, and owning component) label Feb 14, 2024
@jjyao jjyao added P1.5 Issues that will be fixed in a couple releases. It will be bumped once all P1s are cleared P2 Important issue, but not time-critical and removed triage Needs triage (eg: priority, bug/not-bug, and owning component) P1.5 Issues that will be fixed in a couple releases. It will be bumped once all P1s are cleared labels Feb 26, 2024
@anyscalesam anyscalesam added P1 Issue that should be fixed within a few weeks and removed P2 Important issue, but not time-critical labels Apr 24, 2024
@anyscalesam
Copy link
Contributor

grabbed time to brainstorm about this in a couple of weeks

@h-vetinari
Copy link

In conda-forge, we bring our own grpc and grpcio. We need to be able to build ray with the same version, which means unvendoring grpc. This is unfortunately extremely difficult with bazel, which is why it's been an open issue for a long time: conda-forge/ray-packages-feedstock#90.

@anyscalesam
Copy link
Contributor

@aslonnie @mattip chatting about this on monday

@anyscalesam
Copy link
Contributor

closing as we've updated our bazel version at this point.

@mattip mattip closed this as completed Aug 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something that is supposed to be working; but isn't core Issues that should be addressed in Ray Core P1 Issue that should be fixed within a few weeks QS Quantsight triage label stability
Projects
None yet
Development

No branches or pull requests

7 participants