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

"RuntimeError: Frame didn't arrive within 5000" with D415 and D435 #9417

Closed
PaulaScharf opened this issue Jul 15, 2021 · 16 comments
Closed

"RuntimeError: Frame didn't arrive within 5000" with D415 and D435 #9417

PaulaScharf opened this issue Jul 15, 2021 · 16 comments

Comments

@PaulaScharf
Copy link

PaulaScharf commented Jul 15, 2021

Required Info
Camera Model D415 and D435
Firmware Version 05.12.14.50 and 5.12.12.100
Operating System & Version Win 10
Platform PC (Optiplex 7080 with Intel I5)
SDK Version 2.48.0.3381
Language Python v3.7

Issue Description

When retrieving the color stream of our D415 and D435 camera we often get the error:

RuntimeError: Frame didn't arrive within 5000

This usually happens when we start our system and do the first request of the color frame but sometimes also after the system was already running for a while. The error seemingly shows up randomly. It not just happens in our python code but also from time to time in the Realsense Viewer (here the video visibly lags and sometimes shows the error message "No frames received"). We have been running into this issue for half a year now, so this was already the case for older firmware and SDK versions.

We have tried unplugging our camera or doing a hardware reset in our python code, but it usually does not solve the issue. Changing the USB cable also doesn't do anything. Sometimes it does however help to restart our PC. We usually just take a break when it happens and after a while it will often work again. It is really annoying though.

We are aware of other issues about this error (#9270, #8691, #5181, #2168, #6628, and #927) but none of the proposed solutions have worked for us.

We are using the cameras for live video streaming not for recording videos.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 15, 2021

Hi @PaulaScharf Are you using the cameras one at a time or both of them at the same time, please?

Also, if you have auto-exposure enabled then does your program's start-up reliability improve if you skip the first several frames with a for instruction directly preceding wait_for_frames() such as the one below?

for index in range(5):
pipeline.wait_for_frames()

@PaulaScharf
Copy link
Author

PaulaScharf commented Jul 15, 2021

Thank you for the reply :)

We are just using one at a time depending on our setup. These days we are mostly using D415.

I will try skipping the first few frames. Can I leave this issue open or should I reopen it in case the error happens again?

@MartyG-RealSense
Copy link
Collaborator

It is fine to leave the issue open. Generally, an issue would be closed if you close it yourself (or ask us to close it) or we do not receive a comment from you for a couple of weeks.

@PaulaScharf
Copy link
Author

The error has happened again even though we are now skipping the first few frames. I also tried turning the auto-exposure on and off but that doesn't help. What really worries me is that the error is also visible in the Realsense Viewer, so I don't think it is an issue of our python code.

@PaulaScharf
Copy link
Author

In the Realsense Viewer we also currently get an error like this:

Notification from Hardware
  Received the following Notification:
    Timestamp: 1626442553117.083008
    Severity: Error
    Description: USB CAM overflow

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 16, 2021

What resolution and FPS speed are you using, please? USB CAM Overflow suggests to me that the USB port may be having difficulty with handling the incoming data in a timely manner and the SDK's 'frame queue' is getting jammed up with frames instead of being able to process new frames as they arrive (hence 'No Frames Received' and 'Frame didn't arrive within 5000' warnings).

Also, are you using the official 1 meter USB cable supplied with the camera or a longer cable of your own choice? If it is a longer cable that you purchased yourself then having a high quality cable is important due to the volume of data bandwidth that RealSense cameras transmit through the cable. This is especially true for cables longer than 2 meters. A low-quality cable could result in performance degradation or camera disconnections.

@MartyG-RealSense
Copy link
Collaborator

Hi @PaulaScharf Do you require further assistance with this case, please? Thanks!

@PaulaScharf
Copy link
Author

PaulaScharf commented Jul 22, 2021

Hi @MartyG-RealSense, yes, sorry, we are only in the lab once or twice a week to work with the cameras.

We have tried several different USB-cables now:

  • both of our official 1m USB cables that came with the cameras
  • two high end 3m cables (USB3.2 Gen 1, transfer rate of up to 5Gbps, max current of 3A)
  • a random 1m cable that was lying around (dont know the specs)

All of these have occasionally produced the error 5000. What kind of specs for the usb cable do you think are necessary to work with the cameras?

Also, we noticed that the cameras get very hot when using them. Maybe heat is an issue?

@MartyG-RealSense
Copy link
Collaborator

Information about USB cable specification can be found on page 85 of the current edition of the data sheet document for the 400 Series cameras.

https://dev.intelrealsense.com/docs/intel-realsense-d400-series-product-family-datasheet

The official 1 meter cable supplied with the camera has been validated by Intel for use with RealSense cameras and so should provide a stronger likelihood of good performance than a cable of your own choice. 'Industrial grade' high quality cables such as those provided by the company Newnex can work well with the cameras too though.

https://www.newnex.com/realsense-3d-camera-connectivity.php

If the camera's casing becomes hot to the touch after only a few minutes of the camera being enabled then this could indicate a bad USB cable or a glitch on the USB port of the computer / computing device. If the internal ASIC and Projector temperatures of the camera rise above 42 degrees C then problems with a stream are more likely to emerge.

@PaulaScharf
Copy link
Author

Ok, thank you, I guess it has to be a problem with our PC then. We also tried a few times with another notebook (I dont know the specs) and we also had this error. I will try the camera with my own PC at home later and report back to you.

@MartyG-RealSense
Copy link
Collaborator

Thanks very much @PaulaScharf - I look forward to your next test results. Good luck!

@MartyG-RealSense
Copy link
Collaborator

Hi @PaulaScharf Do you have an update about this case that you can provide, please? Thanks!

@PaulaScharf
Copy link
Author

Hi, I have tested it a few times for longer periods on my home PC now and have so far not encountered the error. I have tried both our Python code and the realsense viewer. I will try a few more times, but I guess it has to be a problem of the work PC and Notebook then.

What I did notice though was heat: After a few minutes of running our code the camera gets really hot (I dont have a thermostat but its so hot that I can not touch it for more than a second). It also gets hot from running the realsense viewer but I would say its maybe a bit less than when running our code.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Aug 2, 2021

If the camera casing becomes hot to the touch after only a few minutes of operation then this can indicate that there is a bad USB cable or a glitch on the computer's USB port that is causing overheating. This is not a RealSense-specific phenomenon and can happen to other USB devices. My understanding is that devices with higher power demands such as external USB hard drives are more likely to be affected than low-power devices like keyboard and mouse.

@PaulaScharf
Copy link
Author

Thank you for your support so far. We are thinking that it might be an issue with the motherboard or the installed drivers (The motherboard we are using is a Dell E93839 in case someone else also runs into this error). Maybe we have to get in touch with the manufacturers of the PCs. I will close the issue for now.

@MartyG-RealSense
Copy link
Collaborator

Thanks very much @PaulaScharf for the update - good luck, and please do feel free to re-open this case if you require further advice about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants