bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
35k stars 3.43k forks source link

Current tracy deps don't follow compatibility table #13970

Open torsteingrindvik opened 2 months ago

torsteingrindvik commented 2 months ago

Bevy version

0.13 or any since commit below

What you did

This commit: https://github.com/bevyengine/bevy/commit/4e9590a5ce24310ab177adb510f208adaca40924

bumped tracy deps. The compat table shows: https://github.com/nagisa/rust_tracy_client?tab=readme-ov-file#version-support-table

So post-bump we're using versions without compat.

What went wrong

Trying to use tracy with the versions after bump doesn't work for me- the collection of traces crashes.

Additional information

My workaround is to init logging with a tracy layer before I start the Bevy app, which stops Bevy from using the bad tracy version.

Imo. the tracy versions in bevy_log should be reverted until an official new release is made.

torsteingrindvik commented 2 months ago

@pcwalton you made a comment on the linked commit so perhaps you had the same issue. Did you get around it?

rparrett commented 2 months ago

What version of tracy are you you using? I currently am able to collect traces with Tracy 0.10.0 with both

At one point I was using a particular commit of tracy (e1b1fd7 ?) as recommendd by François, but that doesn't seem necessary anymore, as far as I can tell.

torsteingrindvik commented 2 months ago

What version of tracy are you you using? I currently am able to collect traces with Tracy 0.10.0 with both

* The bevy commit just before the linked commit

* Current bevy main

At one point I was using a particular commit of tracy (e1b1fd7 ?) as recommendd by François, but that doesn't seem necessary anymore, as far as I can tell.

Using v0.10.

Which platform are you on? I'm on Linux and X11 which requires a legacy flag to be enabled as well when building.

rparrett commented 2 months ago

macOS

rparrett commented 1 month ago

Ah, I see now after a cargo update. It looks like this is a perhaps minor tracy-client update causing the incompatibility, and not the initial bump on our end.

I wonder if we should pin

tracing-tracy = { version = "=0.11.0", optional = true }
tracy-client = { version = "=0.17.0", optional = true }

This makes things work with Tracy 0.10 for me.

Or if the latest versions with with (just released) Tracy 0.11 maybe specify those minor versions explicitly instead.

rparrett commented 1 month ago

Tracy 0.11 seems to be compatible with

    Updating tracing-tracy v0.11.0 -> v0.11.1
    Updating tracy-client v0.17.0 -> v0.17.1
torsteingrindvik commented 1 month ago

Tracy 0.11 seems to be compatible with

    Updating tracing-tracy v0.11.0 -> v0.11.1
    Updating tracy-client v0.17.0 -> v0.17.1

Ah great, if I'm following what you're saying the new tracy version is compatible with what Bevy 0.14 has so long as cargo update is ran to get the newest patch versioning for tracy?

In that case this can be closed

rparrett commented 1 month ago

Yes, but because there's an incompatibility in a semver compatible release of those deps, we should probably pin them to one or the other.

rparrett commented 1 month ago

Also if we have docs pointing to that compatibility table, we should probably update them, since it doesn't seem useful at the moment.