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

New clients do not receive data in Web-Viewer mode after dropping old messages #5344

Closed
Charlie-AuZone opened this issue Feb 28, 2024 · 2 comments · Fixed by #8146
Closed
Assignees
Labels
🪳 bug Something isn't working user-request This is a pressing issue for one of our users 🕸️ web regarding running the viewer in a browser

Comments

@Charlie-AuZone
Copy link

Describe the bug

out.mp4

After a while, new clients fail to recieve data in server mode. This happens once the memory limit is reached and some data is dropped.

To Reproduce
Steps to reproduce the behavior:

import rerun as rr
import numpy as np
import time
rr.init("rerun_example_my_data", spawn=False)
rr.serve(open_browser=True, server_memory_limit="1GB")

imarray = np.random.rand(540,960,3) * 255

while True:
    rr.log("test", rr.Image(imarray))
    time.sleep(0.01)
  1. Run the above code
  2. Observe the Rerun screen in the browser running correctly of an image with random noise.
  3. After the terminal says Memory limit (954 MiB) exceeded. Dropping old log messages from the server. Clients connecting after this will not see the full history, open a new tab to the same URL: http://localhost:9090?url=ws://localhost:9877
  4. Observe that in the new tab, no data is seen, but in the original tab, data is still being streamed in.

Expected behavior

On the new tab, older logs are lost but new data is streamed in.

Desktop (please complete the following information):

  • OS: Windows 10

Rerun version
rerun_py 0.14.0 [rustc 1.74.0 (79e9716c9 2023-11-13), LLVM 17.0.4] x86_64-pc-windows-msvc release-0.14.0 0c723a8, built 2024-02-28T14:53:55Z

Additional context
Also occurs in the Rust program, but a Python replication of the bug was included here for a minimal reproducible sample.

@Charlie-AuZone Charlie-AuZone added 👀 needs triage This issue needs to be triaged by the Rerun team 🪳 bug Something isn't working labels Feb 28, 2024
@Charlie-AuZone Charlie-AuZone changed the title New clients do not receive data in server mode after dropping old messages New clients do not receive data in Web-Viewer mode after dropping old messages Feb 28, 2024
@Wumpf Wumpf added 🕸️ web regarding running the viewer in a browser and removed 👀 needs triage This issue needs to be triaged by the Rerun team labels Apr 23, 2024
@teh-cmc teh-cmc added the user-request This is a pressing issue for one of our users label Oct 20, 2024
@edwardstevenw
Copy link

I also experience this behavior. I am running rerun --serve --server-memory-limit 100MB --memory-limit 100MB and I open the url to view the logged data. Whenever messages have been dropped, I cannot reconnect to the server again.

Also if I may say another thing I experienced which is related to the memory limit, is that --memory-limit does not take effect for web viewer client. It defaults to 2.3GB, not 100MB which I expected. I will create an issue for this separately if I have to, thank you!

@teh-cmc
Copy link
Member

teh-cmc commented Nov 14, 2024

I now have a full native repro for this (no web-viewer involved at all).

I think this is just another manifestation of #5531, in particular the problem is not that no data is received, but rather that SetStoreInfo is never fired again, therefore the new client never instantiates a new recording and everything.

If I'm right, we can definitely come up with a simple patch for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working user-request This is a pressing issue for one of our users 🕸️ web regarding running the viewer in a browser
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants