Bad_alloc error when recording using radar custom decoder plugin

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.7.1.8928
other

Host Machine Version
native Ubuntu 18.04
other

Hi, we wrote a custom decoder plugin for our Continental ARS430RDI radar (connected via Ethernet) due to unsupported firmware issues as suggested here.

We tested our decoder and it worked fine when used to visualize the radar data stream using the sample_radar_replay program. However, when we tried to record the data using the recorder program, we encountered a std::bad_alloc() error.

We added two print statement on every decoder function, each at the start and the end of the function, and we found that the error occured after the _dwRadarDecoder_getConstants function was called and ended.

We attached the recording log, the decoder code, and the rig configuration file. Any suggestions on how we should continue?

Any help will be greatly appreciated, thanks!

[02-03-2022 10:01:15] Platform: Detected DDPX - Tegra A
[02-03-2022 10:01:15] TimeSource: monotonic epoch time offset is 1646214624214354
[02-03-2022 10:01:15] PTP Time is available from NVPPS Driver
[02-03-2022 10:01:15] Platform: number of GPU devices detected 2
[02-03-2022 10:01:15] Platform: currently selected GPU device discrete ID 0
[02-03-2022 10:01:15] SDK: Resources mounted from /usr/local/driveworks-2.2/data/
[02-03-2022 10:01:15] SDK: Create NvMediaDevice
[02-03-2022 10:01:15] egl::Display: found 2 EGL devices
[02-03-2022 10:01:15] egl::Display: use drm device: drm-nvdc
[02-03-2022 10:01:15] TimeSource: monotonic epoch time offset is 1646214624214354
[02-03-2022 10:01:15] PTP Time is available from NVPPS Driver
[02-03-2022 10:01:15] Initialize DriveWorks SDK v2.2.3136
[02-03-2022 10:01:15] Release build with GNU 7.3.1 from heads/buildbrain-branch-0-gca7b4b26e65 against Drive PDK v5.1.6.1
[02-03-2022 10:01:15] Platform: currently selected GPU device integrated ID 1
[02-03-2022 10:01:15] Loading rig file: /home/nvidia/recording_config/radar_only.json
[02-03-2022 10:01:15] SensorFactory::createSensor() -> radar.socket, device=CUSTOM,ip=192.168.3.36,port=31122,multicast-ip=239.192.22.10,protocol=udp,decoder=/home/nvidia/libars430rdi_decoder.so
--> initialize
--> end initialize
--> getConstants
--> end getConstants
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted

ARS430RDIDecoder.cpp (12.2 KB)
radar_only.json (1.4 KB)

Dear @user138493,
Could you confirm the firmware version? Note that firmware version 3.0.0 is supported on DW 4.0. Is it possible to for you to use latest DW 4.0 release or if you want to stick to DRIVE SW 10.0?

Hi, thanks for the reply. I am currently confirming the firmware version with Continental. In the meantime, I think I’ll try to use DriveWorks 4.0 instead.

Thanks!