Items with no label
3335 Discussions

core dump error with sample code for infiniTAM which uses librealsense

sdas17
Beginner
2,429 Views

This post is a core dump error which i faced while trying to run InfiniTAM https://github.com/victorprad/InfiniTAM https://github.com/victorprad/InfiniTAM

The message which i get is

ioctl failed on UVC_GET_MAX

I had faced the same segmentation fault earlier while trying to run opencv streaming with librealsense support which i reported in the forum /thread/113571 https://communities.intel.com/thread/113571.

Since I face the same problem with two different unrelated softwares I feel that the problem is in the librealsense code itself. This is reflected in the github post https://github.com/victorprad/InfiniTAM/issues/68 https://github.com/victorprad/InfiniTAM/issues/68

kindly help.

0 Kudos
12 Replies
MartyG
Honored Contributor III
748 Views

The error would seem to be related to the component called ioctl. Somebody said about it: "Librealsense uses the extended camera control ioctl instead of the camera control ioctl. The kernel seems to treat them differently as far as permissions. One needs nearly raw io permissions whereas the other only needs camera permissions."

"When I used epoll to have the kernel notify that a new frame is available it works the first time I start the camera but not the second. Unplugging the camera and plugging it back in makes it work again. Detaching, and reattaching via sysfs, or reinitializing the kernel module via rmmod insmod are also methods that work. Oh and a USB port reset via ioctl on usb".

"I don't think the bug is specific to RealSense cameras, but I don't have any other UVC cameras that trigger it. I think most UVC cameras use isochronous transfers and the RealSense cameras use bulk transfers so that might be part of why it hasn't shown up much."

"I should note that I have only seen the bug when using mmap and epoll. I don't think librealsense uses epoll, but the symptoms are the same so I think it could be the same kernel bug."

This information was taken from the following link:

https://github.com/IntelRealSense/librealsense/issues/406 R200 always do not working on linux · Issue # 406 · IntelRealSense/librealsense · GitHub

0 Kudos
sdas17
Beginner
748 Views

For an end user what are the solutions/workarounds? Can you suggest some linux commands or some c++ patch?

0 Kudos
MartyG
Honored Contributor III
748 Views

During my research into your problem, I came across your previous post about a month ago where you were asking about OpenCV, and you said that you were using Kernel 4,4. So if you are still using 4.4, your problem likely isn't related to using kernel 4.8 with Librealsense.

I am not a Librealsense expert, so it is difficult for me to give useful advice on the subject. I do know though that when problems with Librealsense occur, advice commonly given is to patch the 'uvcvideo' module.

0 Kudos
idata
Employee
748 Views

Hi Shome123,

 

 

Thank you for contacting us.

 

 

We are going to analyze this issue, and we want to know more about your computer, could you please provide the system information file? To generate it, please follow the next steps:

 

 

1. Open up a New Terminal window.

 

2. It might be possible that you don't have the necessary software installed, so start by running sudo apt-get install lshw to install it. Wait for the package to install.

 

3. Enter sudo lshw > filename.txt (the lshw command has to be run with super privileges, so make sure to run it as root or with sudo), where "filename" is the name you assign to your System information file.

 

 

If it is possible, can you also give us a screenshot of the error that you are getting? The output "uname -r" command would be helpful too.

 

 

We will be waiting for your reply.

 

 

Have a nice day.

 

 

Regards,

 

Leonardo R.
0 Kudos
sdas17
Beginner
748 Views

output of lshw in lshw.txt which is attached herewith.

uname -r : 4.4.0-78-generic

error message with opencv streaming:

terminate called after throwing an instance of 'rs::error'

what(): ioctl failed on UVC_GET_MAX

Aborted (core dumped)

error message with InfiniTAM:

ioctl failed on UVC_GET_MAX

0 Kudos
idata
Employee
748 Views

Hi Shome123,

 

 

Thanks for the information provided.

 

 

I was checking the system information file, and I found out that the reason of the core dump error is because your computer doesn't meet the hardware requirements.

 

 

According to this http://www.intel.com/content/www/us/en/support/emerging-technologies/intel-realsense-technology/000020964.html article, the SR300 needs a 6th Generation Intel® Core™ Processor to work, and you have a 3th Generation Intel® Core™ Processor (Intel® Core™ i7-3770K CPU @ 3.50GHz).

 

 

I know this not the answer you were expecting, but don't hesitate to contact us again if you have questions related to any RealSense product.

 

 

Regards,

 

Leonardo R.
0 Kudos
sdas17
Beginner
748 Views

My realsense box says that a 4th generation intel core processor or higher is needed. I will try on 4th generation core processor and update. Also when I tried to run the librealsense examples, the samples ran but there were some discrepancy when the depth image and the RGB image were merged.

0 Kudos
idata
Employee
748 Views

Hi Shome123,

 

 

If you use the RealSense camera with a lower generation processor doesn't mean that your camera doesn't work at all, but you won't be able to use the camera in a stable way, and some features won't be available. I think that it is the reason that you have issues running the sample.

 

 

As I mentioned you in the last reply, we recommend you to use 6th Generation Intel® Core™ Processor if you want to use the SR300 camera without issues, take a look at its datasheet: https://software.intel.com/sites/default/files/managed/0c/ec/realsense-sr300-product-datasheet-rev-1-0.pdf.

 

 

I hope you find this helpful.

 

 

Regards,

 

Leonardo R.
0 Kudos
sdas17
Beginner
748 Views

I am still getting the core dump error "ioctl failed on UVC_GET_MAX" on F200 intel sensor even after using a 4th genertion intel i7 cpu. It was pointed out that my cpu was a third generation intel i7 which was below the specified requirements and hence I was getting the error. However now I have got hold of a intel 4th generation i7 CPU and I am getting the same error. I have checked the box of my Intel F200 and it says that an intel 4th generation cpu is needed.

I need a resolution on this issue. How do I get rid of this core dump error?

0 Kudos
idata
Employee
748 Views

Hello Shome123,

 

 

That's weird! Could you provide us the system information file? Just follow the steps that I gave you before.

 

 

To be sure, did you have issues installing librealsense? Did you also try to run the librealsense examples?

 

 

We will be waiting for your response to help you more. Please provide any details that you consider helpful.

 

 

Have a nice day.

 

 

Regards,

 

Leonardo R.
0 Kudos
sdas17
Beginner
748 Views

can you give a gmail id. I have uploaded results on google drive. it includes videos too.

Thanks

shome

0 Kudos
idata
Employee
748 Views

Hello Shome,

 

 

Unfortunately we can't provide an email, nevertheless you can submit an email ticket in this link: https://www.intel.com/content/www/us/en/support/contact-support.html# @24 , consider that you need to create an account, and you can share the information there.

 

 

If don't want to submit a ticket, please provide the information here to help you more.

 

 

Have a nice day.

 

 

Best regards,

 

Leonardo R.
0 Kudos
Reply