When I tried to record raw camera image with ./recorder, “Segmentation fault (core dumped)” has occurred.
My JSON file is as follows
{
"version": "0.8",
"gpu-device": 0,
"path": ".",
"log-level": "verbose",
"file-buffer-size": 2097152,
"camera": {
"separate-thread": true,
"record-thread-priority": 0,
"write-file-pattern": "video_*",
"sensors": [
{
"protocol": "camera.gmsl",
"params": "camera-type=ov10640-svc210,csi-port=ab,camera-count=1,output-format=raw,async-record=0,fifo-size=3",
"channel-names": [
"first"
]
}
]
},
"can" : {
"separate-thread": true,
"write-file-pattern": "can_*",
"sensors" : [
{
"protocol": "can.socket",
"params": "",
"channel-name": "0"
}
]
}
}
Ran “sudo ./recorder” and started recording, then segmentation fault occurred as shown below.
nvidia@tegra-a:/usr/local/driveworks/tools$ sudo ./recorder
Program Arguments:
--config-file=./recorder-config.json
--offscreen=0
nvrm_gpu: Bug 200215060 workaround enabled.
Initialize DriveWorks SDK v0.6.67
Release build with GNU 4.9.2 from v0.6.0-rc7-0-g51bd3aa against Vibrante PDK v5.0.5.0
TimeSource: monotonic epoch time offset is 1462513201943950
SDK: Resources mounted from /usr/local/driveworks-0.6/data/resources
SDK: Create NvMediaDevice
SDK: use EGL display as provided
SDK: number of GPU devices detected 2
SDK: currently selected GPU device discrete ID 0
SDK: currently selected GPU device discrete ID 0
Recorder: Setting DriveWorks log level to verbose...
SAL: identified board as DrivePX2-TegraA
SensorFactory::createSensor() -> can.socket,
SensorCANSocket: expected device=can0 to be set to a valid can bus
Driveworks exception thrown: DW_INVALID_ARGUMENT: device params
SensorDriver: Cannot create sensor can.socket
Cannot add can sensors...
CameraGMSLDriver: output-format=raw switching output-format=raw+h264 for on screen camera preview. Only raw will be recorded.
SensorFactory::createSensor() -> camera.gmsl, camera-type=ov10640-svc210,csi-port=ab,camera-count=1,output-format=raw+yuv,async-record=0,fifo-size=3
CameraGMSL: required FPS = 30, resolution = 1280x1080
***** aurix state *****
CAM_PWR_ON: 0x1
TEGRA_GMSL: TEGRA B
TEGRA_FPDL: TEGRA B
TEGRA_A_HDMI: MXM
TEGRA_B_HDMI: MXM
TEGRA_PCI: TEGRA B
FAN_STATE: UNKNOWN
***********************
nvmedia isc: Camera(s) are already powered on. Power cycling the camera(s)
***** aurix state *****
CAM_PWR_ON: 0x0
TEGRA_GMSL: UNKNOWN
TEGRA_FPDL: UNKNOWN
TEGRA_A_HDMI: UNKNOWN
TEGRA_B_HDMI: UNKNOWN
TEGRA_PCI: UNKNOWN
FAN_STATE: UNKNOWN
***********************
***** aurix state *****
CAM_PWR_ON: 0x1
TEGRA_GMSL: UNKNOWN
TEGRA_FPDL: UNKNOWN
TEGRA_A_HDMI: UNKNOWN
TEGRA_B_HDMI: UNKNOWN
TEGRA_PCI: UNKNOWN
FAN_STATE: UNKNOWN
***********************
nvmEglStProducerCreateCommon: Entered
Thread created for 1
CameraGMSLDriver: Could not read frame for channel 0 due to DW_NOT_READY
CameraGMSLDriver: Could not read frame for channel 0 due to DW_NOT_READY
Start recording...
Segmentation fault (core dumped)
I have already referred to the similar issue,
(https://devtalk.nvidia.com/default/topic/1036281/driveworks/-recorder-gmsl-camera-raw-image-buffer-full-error/)
but it didn’t work.
In case of .h264 format, recorder did work well with this setup.
Could you please let me know how to fix it?
Any advice would be highly appreciated.