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

Rerun library doesn't work with current arrow-rs version (unless chrono is downgraded) #9159

Open
manglemix opened this issue Feb 27, 2025 · 4 comments
Assignees
Labels
🪳 bug Something isn't working 💣 crash crash, deadlock/freeze, do-no-start 🦀 Rust API Rust logging API

Comments

@manglemix
Copy link

manglemix commented Feb 27, 2025

Describe the bug
There was a recent commit that broke arrow-rs, which Rerun depends on.
apache/arrow-rs#7209

To Reproduce
Steps to reproduce the behavior:

  1. Add rerun as a library dependency to a crate
  2. cargo check the crate

Backtrace

error[E0034]: multiple applicable items in scope
   --> /home/manglemix/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arrow-arith-53.4.0/src/temporal.rs:91:36
    |
91  |         DatePart::Quarter => |d| d.quarter() as i32,
    |                                    ^^^^^^^ multiple `quarter` found
    |
note: candidate #1 is defined in the trait `ChronoDateExt`
   --> /home/manglemix/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arrow-arith-53.4.0/src/temporal.rs:637:5
    |
637 |     fn quarter(&self) -> u32;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
note: candidate #2 is defined in the trait `Datelike`
   --> /home/manglemix/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/chrono-0.4.40/src/traits.rs:47:5
    |
47  |     fn quarter(&self) -> u32 {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^
help: disambiguate the method for candidate #1
    |
91  |         DatePart::Quarter => |d| ChronoDateExt::quarter(&d) as i32,
    |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
help: disambiguate the method for candidate #2
    |
91  |         DatePart::Quarter => |d| Datelike::quarter(&d) as i32,
    |                                  ~~~~~~~~~~~~~~~~~~~~~

Desktop (please complete the following information):

  • OS: macOS Sonoma 14.6.1

Rerun version
rerun = { version = "0.22.0", features = ["nasm", "sdk"], default-features = false }

Additional context
I couldn't find any statement addressing this issue

@manglemix manglemix added 👀 needs triage This issue needs to be triaged by the Rerun team 🪳 bug Something isn't working labels Feb 27, 2025
@alamb
Copy link

alamb commented Feb 27, 2025

Note we have released a new version of arrow-rs that fixes hte issue

@Wumpf Wumpf changed the title Rerun library doesn't work with current arrow-rs version Rerun library doesn't work with current arrow-rs version when using chrono in the same crate Mar 3, 2025
@Wumpf
Copy link
Member

Wumpf commented Mar 3, 2025

Can confirm this happens in a minimal application with

[dependencies]
chrono = "0.4.40"
rerun = { version = "0.22.0", features = [
    "nasm",
    "sdk",
], default-features = false }

@manglemix you can work around this by forcing the chrono patch version to an older version. cargo update chrono --precise 0.4.34 worked for me

@alamb any chance that fix could be backported to 53.4.x? That's what the rerun crate depends on currently :/

@Wumpf
Copy link
Member

Wumpf commented Mar 3, 2025

For posterity, details of what happened are here
apache/arrow-rs#7209 (comment)
(Thanks for that writeup @alamb !!)

@Wumpf Wumpf changed the title Rerun library doesn't work with current arrow-rs version when using chrono in the same crate Rerun library doesn't work with current arrow-rs version (unless chrono is downgraded) Mar 3, 2025
@alamb
Copy link

alamb commented Mar 3, 2025

Can confirm this happens in a minimal application with

[dependencies]
chrono = "0.4.40"
rerun = { version = "0.22.0", features = [
    "nasm",
    "sdk",
], default-features = false }

@manglemix you can work around this by forcing the chrono patch version to an older version. cargo update chrono --precise 0.4.34 worked for me

@alamb any chance that fix could be backported to 53.4.x? That's what the rerun crate depends on currently :/

I would be willing to make such a release.

Could you help by:

  1. Make a PR to backport the fix to https://github.com/apache/arrow-rs/tree/53.0.0_maintenance
  2. File a tracking ticket to create a 53.4.1 release (e.g. copy/paste/modify the one from Release arrow-rs / parquet patch version 54.2.1 (Feb 2025) (HOTFIX) apache/arrow-rs#7209)

@Wumpf Wumpf added 🦀 Rust API Rust logging API 💣 crash crash, deadlock/freeze, do-no-start and removed 👀 needs triage This issue needs to be triaged by the Rerun team labels Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working 💣 crash crash, deadlock/freeze, do-no-start 🦀 Rust API Rust logging API
Projects
None yet
Development

No branches or pull requests

4 participants