# MPA to ROS node crash when subscribing to Disparity

Source: https://forum.modalai.com/topic/2154/mpa-to-ros-node-crash-when-subscribing-to-disparity
Category: VOXL 2 and VOXL 2 Mini (https://forum.modalai.com/category/26/voxl-2-and-voxl-2-mini)
Tags: voxl-2
Posted: 2023-05-12 20:22:09 UTC by vivek rk
Replies: 4 · Views: 1037

## vivek rk · 2023-05-12 20:22:09 UTC

When I run the stock voxl_mpa_to_ros node on the VOXL2 and subscribe to the topic for stereo_disparity, the stereo interface throws the following error 

Stereo interface received non-stereo frame, exiting stereo

I checked out the code and noticed that the problem is here in the stereo_interface.cpp at line 111

 ```
if(meta.format != IMAGE_FORMAT_STEREO_RAW8){
        printf("Stereo interface received non-stereo frame, exiting stereo\n");
        interface->StopPublishing();
        interface->StopAdvertising();
    }
```

I added a printf to see what format is being received using a printf statement and it is an integer with value 0 or  IMAGE_FORMAT_RAW8 
got format 0

So i modified the node to be the following 

 ```
if(meta.format != IMAGE_FORMAT_STEREO_RAW8){// && meta.format != IMAGE_FORMAT_RAW8){
        printf("Stereo interface received non-stereo frame, exiting stereo\n");
        printf("got format %d\n", meta.format);
        interface->StopPublishing();
        interface->StopAdvertising();
    }
```

The node crashes once more and this time, without any error. When running with GDB i see that it crashes at line 152, which is 
 ```
memcpy(&(imgR.data[0]), &frame[dataSize], dataSize)
```

Commenting this line allows the node to work, but now i cant access the right stereo images via ROS

I am running system image  1.5.5-M0054-14.1a-perf with voxl-suite:   0.9.5

Seems like there should be a quick fix for this, can someone help me out here ?

## Reply by Chad Sweet (ModalAI staff) · 2023-05-12 23:50:52 UTC

@vivek-rk said in [MPA to ROS node crash when subscribing to Disparity](/post/10066):
> f(meta.format != IMAGE_FORMAT_STEREO_RAW8){
>        printf("Stereo interface received non-stereo frame, exiting stereo\n");
>        interface->StopPublishing();
>        interface->StopAdv

stereo_disparity is a single image, not a stereo image. You should use a regular camera interface for that data type and not a stereo image interface

stereo images are two images side by side in the same block of memory

## Reply by planch98 · 2023-07-20 15:21:23 UTC

@vivek-rk hi, I've found your same problem, did you manage to solve it?

## Reply by afdrus · 2023-07-21 07:35:39 UTC (in reply to Chad Sweet)

@Chad-Sweet Same issue over here, this happens without modifying any line of code though, therefore it seems like there is a bug in the release, could you please point out to where this bug may be hidden?

## Reply by afdrus · 2023-08-04 13:15:24 UTC (in reply to Chad Sweet)

@Chad-Sweet Is this issue, reported also [here](https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros/-/issues/8), solved?
