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

Wayland + Nvidia: rerun --skip-welcome-screen causes Rerun to hang on launch #5283

Closed
jleibs opened this issue Feb 26, 2024 · 4 comments · Fixed by #6171
Closed

Wayland + Nvidia: rerun --skip-welcome-screen causes Rerun to hang on launch #5283

jleibs opened this issue Feb 26, 2024 · 4 comments · Fixed by #6171
Assignees
Labels
🪳 bug Something isn't working 🐧 linux Linux-specific problems 📺 re_viewer affects re_viewer itself

Comments

@jleibs
Copy link
Member

jleibs commented Feb 26, 2024

So far Rerun works fine in all other contexts, however when skipping the welcome screen the viewer hangs consistently.

Happens in either debug or release.

Output:

$ ./target/release/rerun --skip-welcome-screen
[2024-02-26T12:40:22Z DEBUG rerun::run] Detected 32 cores. Using 30 compute threads.
[2024-02-26T12:40:22Z DEBUG re_memory::memory_limit] Setting memory limit to 46.9 GiB, which is 75% of total available memory (62.5 GiB).
[2024-02-26T12:40:22Z INFO  re_sdk_comms::server] Hosting a SDK server over TCP at 0.0.0.0:9876. Connect with the Rerun logging SDK.
[2024-02-26T12:40:22Z DEBUG eframe] Using the wgpu renderer
[2024-02-26T12:40:22Z DEBUG sctk] Bound new global [44] wl_output v4
[2024-02-26T12:40:22Z DEBUG sctk] Bound new global [45] wl_output v4
[2024-02-26T12:40:22Z DEBUG sctk] Bound new global [8] zxdg_output_manager_v1 v3
[2024-02-26T12:40:22Z DEBUG sctk] Bound new global [42] wl_seat v7
[2024-02-26T12:40:22Z DEBUG sctk] supported wl_shm format Argb8888
[2024-02-26T12:40:22Z DEBUG sctk] supported wl_shm format Xrgb8888
[2024-02-26T12:40:22Z DEBUG sctk] supported wl_shm format Xbgr8888
[2024-02-26T12:40:22Z DEBUG sctk] supported wl_shm format Abgr8888
[2024-02-26T12:40:22Z DEBUG eframe::native::wgpu_integration] Event::Resumed
[2024-02-26T12:40:22Z DEBUG eframe::native::file_storage] Loading app state from "/home/jleibs/.local/share/rerun/app.ron"…
[2024-02-26T12:40:22Z DEBUG egui_winit] Failed to set window size
[2024-02-26T12:40:22Z DEBUG egui_wgpu] Picked the only available wgpu adapter: backend: Vulkan, device_type: DiscreteGpu, name: "NVIDIA Graphics Device", driver: "NVIDIA", driver_info: "545.29.06", vendor: 0x10DE, device: 0x2705
[2024-02-26T12:40:22Z INFO  tracing::span] perform;
[2024-02-26T12:40:22Z INFO  zbus::handshake] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2024-02-26T12:40:22Z INFO  tracing::span] read_command;
[2024-02-26T12:40:22Z INFO  zbus::handshake] write_command; command=NegotiateUnixFD
[2024-02-26T12:40:22Z INFO  tracing::span] read_command;
[2024-02-26T12:40:22Z INFO  zbus::handshake] write_command; command=Begin
[2024-02-26T12:40:22Z INFO  tracing::span] socket reader;
[2024-02-26T12:40:22Z INFO  tracing::span] perform;
[2024-02-26T12:40:22Z INFO  zbus::handshake] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2024-02-26T12:40:22Z INFO  tracing::span] read_command;
[2024-02-26T12:40:22Z INFO  zbus::handshake] write_command; command=NegotiateUnixFD
[2024-02-26T12:40:22Z INFO  tracing::span] read_command;
[2024-02-26T12:40:22Z INFO  zbus::handshake] write_command; command=Begin
[2024-02-26T12:40:22Z INFO  tracing::span] socket reader;
[2024-02-26T12:40:22Z INFO  zbus::connection] {}; obj_server_task_name="ObjectServer task"
[2024-02-26T12:40:22Z INFO  zbus::object_server] dispatch_message; msg=Msg { type: MethodCall, sender: UniqueName(Str(Borrowed(":1.1"))), path: ObjectPath("/org/a11y/atspi/accessible/root"), iface: InterfaceName(Str(Borrowed("org.freedesktop.DBus.Properties"))), member: MemberName(Str(Borrowed("Set"))), body: Signature("ssv") }
[2024-02-26T12:40:22Z INFO  zbus::object_server] dispatch_method_call; msg=Msg { type: MethodCall, sender: UniqueName(Str(Borrowed(":1.1"))), path: ObjectPath("/org/a11y/atspi/accessible/root"), iface: InterfaceName(Str(Borrowed("org.freedesktop.DBus.Properties"))), member: MemberName(Str(Borrowed("Set"))), body: Signature("ssv") }
[2024-02-26T12:40:22Z INFO  zbus::object_server] dispatch_method_call_try; msg=Msg { type: MethodCall, sender: UniqueName(Str(Borrowed(":1.1"))), path: ObjectPath("/org/a11y/atspi/accessible/root"), iface: InterfaceName(Str(Borrowed("org.freedesktop.DBus.Properties"))), member: MemberName(Str(Borrowed("Set"))), body: Signature("ssv") }
[2024-02-26T12:40:22Z DEBUG re_renderer::context] wgpu adapter backend: Vulkan, device_type: DiscreteGpu, name: "NVIDIA Graphics Device", driver: "NVIDIA", driver_info: "545.29.06"
[2024-02-26T12:40:22Z DEBUG sctk] Bound new global [42] wl_seat v7
[2024-02-26T12:40:22Z DEBUG egui::context] Loading new font definitions

Some window decorations show up but the app is otherwise totally unresponsive:
screen

In debugger, everthing paused except:
image

@jleibs jleibs added 🪳 bug Something isn't working 📺 re_viewer affects re_viewer itself 🐧 linux Linux-specific problems labels Feb 26, 2024
@emilk
Copy link
Member

emilk commented Feb 26, 2024

Have you tried attaching a debugger to get a callstack?

@jleibs
Copy link
Member Author

jleibs commented Feb 27, 2024

Confirmed this also repros in the egui demo app (but not egui hello_world app)

@jleibs
Copy link
Member Author

jleibs commented Feb 27, 2024

Turns out this (and many other things) were fixed by downgrading the nvidia driver from version 545 -> 535

@jleibs
Copy link
Member Author

jleibs commented Mar 18, 2024

This appears to be related to be caused by: gfx-rs/wgpu#4775

Also appears to be fixed on latest (trunk) wgpu with the nvidia 550-drivers as of gfx-rs/wgpu#4967 so we can probably close after next wgpu (and subsequent egui releases).

jleibs added a commit that referenced this issue Mar 29, 2024
…e no store_view (#5724)

### What
- Mitigates: #5283

All this does is re-orders the calls so that we always create a renderer
and call begin_frame / before_submit even if the case where we have no
StoreView.

In theory this uses a few more resources when skipping the welcome
screen, but practically in almost all cases this is only for a few
frames until log-data starts arriving.

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using newly built examples:
[app.rerun.io](https://app.rerun.io/pr/5724/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5724/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[app.rerun.io](https://app.rerun.io/pr/5724/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/5724)
- [Docs
preview](https://rerun.io/preview/9043a05f182790ade51cc78f6b979b5327d98617/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/9043a05f182790ade51cc78f6b979b5327d98617/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
@Wumpf Wumpf self-assigned this Jun 14, 2024
@Wumpf Wumpf closed this as completed in 8382c27 Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working 🐧 linux Linux-specific problems 📺 re_viewer affects re_viewer itself
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants