SCF: Error InsufficientMemory: Unable to create GL context

I’m trying to compile and flash R24.2 without any modifications for the default TX1 dev board with default OV5693 sener.

After some joggling with menuconfig on OV5693 drivers I had several kernel builds which made simple gstreamer pipeline run fine, and some builds produce errors when starting gstreamer.

I can not find any regularity or specific place to fix. I’m also unable to proceed with further driver development due to the irregularity of the issue.

Pipeline:

gst-launch-1.0 nvcamerasrc ! nvoverlaysink

Script with logs:

#!/bin/sh

service nvcamera-daemon stop
export enableCamScfLogs=1 
export enableCamPclLogs=1
/usr/sbin/nvcamera-daemon &

gst-launch-1.0 nvcamerasrc ! nvoverlaysink

Logs:

ubuntu@tegra-ubuntu:~/gst$ sudo ./run_w_logs.sh 
[sudo] password for ubuntu: 
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and MjstreamingThread 1 getting next capture

Thread 1 is waiting

Thread 2 getting next capture

Thread 2 is waiting

Thread 3 getting next capture

Thread 3 is waiting

Thread 4 getting next capture

Thread 4 is waiting

Starting services...

getInstance: s_instance(0x7fa1198910)

doCreateSensor: create SensorType(gyroscope) sensor(0x7fa1198a10)

doCreateSensor: create SensorType(accelerometer) sensor(0x7fa1198d50)

doCreateSensor: create SensorType(magnetometer) sensor(0x7fa1198de0)

doCreateSensor: create SensorType(temperature) sensor(0x7fa1215090)

doCreateSensor: create SensorType(proximity) sensor(0x7fa1218470)

doCreateSensor: create SensorType(rotation vector) sensor(0x7fa121b850)

doCreateSensor: create SensorType(linear acceleration) sensor(0x7fa121ec30)

getInstance: s_instance(0x7fa1198910)

AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory

Services are started

NvPclSetHotplugCallback: ++++++++++++++++++++++
###### imager: Calibration blob file handling NOT supported in this build ######

NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclHwMatchPartNum: Found calibration Part#:P5V27C:"P5V27C"
NvPclHwGetModuleData: Misc Driver v4l2_focuser_stub already exists. Avoiding duplicate drivers
NvPclHwPrintModuleDefinition -- Name: e3326_front_P5V27C
NvPclHwPrintModuleDefinition -- Position: 0
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_focuser_stub
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: lc898212 6-0072
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: ov5693 6-0036
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: e3326_front_P5V27C position0
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
initialize: /dev/video0
getHotplugMonitor: Getting hotplug monitor instance
 initializeHotplug++
 hotPlugfunc ++ 
 addWatch: Watch added wd='1'
setHotplugCallback: Registered new callback client
NvPclSetHotplugCallback: ----------------------
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 0 match at index[0]
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_focuser_stub)
NvPclCreateDriver: Found a Driver name match (v4l2_focuser_stub)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_focuser_stub ++++++++++++++++++
NvPclDriver_V4L2_Focuser_Stub_Initialize WARNING: No focuser object, allocating for lens
NvPclDriver_V4L2_Focuser_Stub_Initialize: Loaded focuser static properties--------------
NvPclInitializeDrivers: NvOdmLensStub ------------------
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
initialize: ov5693 6-0036
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [use_sensor_mode_id]
OFDPropertyCopyToLong: could not read property [has-eeprom]
Control Frame Rate not found
Control Exposure not found
Sensor_FindCustomCIDs: calculated MaxCoarseDiff 6
Sensor_LoadBinaryBlob: Binary read 8
Sensor_LoadBinaryBlob: Binary read 512
OFDPropertyGetString: could not read property [type]
Sensor_LoadSubType: Sensor type missing in DT, 502

OFDPropertyCopyToLong: could not read property [mode0.csi_pixel_bit_depth]
OFDPropertyCopyToLong: could not read property [mode0.dynamic_pixel_bit_depth]
OFDPropertyGetString: could not read property [mode0.mode_type]
Sensor_LoadModeModeType: mode 0: Failed to load pixeltype
OFDPropertyGetString: could not read property [mode0.pixel_phase]
Sensor_LoadModePixelPhase: mode 0: Failed to load pixeltype
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
OFDPropertyCopyToLong: could not read property [mode1.csi_pixel_bit_depth]
OFDPropertyCopyToLong: could not read property [mode1.dynamic_pixel_bit_depth]
OFDPropertyGetString: could not read property [mode1.mode_type]
Sensor_LoadModeModeType: mode 1: Failed to load pixeltype
OFDPropertyGetString: could not read property [mode1.pixel_phase]
Sensor_LoadModePixelPhase: mode 1: Failed to load pixeltype
OFDPropertyGetString: could not read property [mode1.x_start]
OFDPropertyGetString: could not read property [mode1.y_start]
OFDPropertyGetString: could not read property [mode1.x_end]
OFDPropertyGetString: could not read property [mode1.y_end]
OFDPropertyGetString: could not read property [mode1.h_scaling]
OFDPropertyGetString: could not read property [mode1.v_scaling]
OFDPropertyCopyToLong: could not read property [mode2.csi_pixel_bit_depth]
OFDPropertyCopyToLong: could not read property [mode2.dynamic_pixel_bit_depth]
OFDPropertyGetString: could not read property [mode2.mode_type]
Sensor_LoadModeModeType: mode 2: Failed to load pixeltype
OFDPropertyGetString: could not read property [mode2.pixel_phase]
Sensor_LoadModePixelPhase: mode 2: Failed to load pixeltype
OFDPropertyGetString: could not read property [mode2.x_start]
OFDPropertyGetString: could not read property [mode2.y_start]
OFDPropertyGetString: could not read property [mode2.x_end]
OFDPropertyGetString: could not read property [mode2.y_end]
OFDPropertyGetString: could not read property [mode2.h_scaling]
OFDPropertyGetString: could not read property [mode2.v_scaling]
NvPclDriver_V4L2_Sensor_Initialize: Loaded Driver: 3 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclOpen: ----------------------
populateStaticProperties

populateStaticProperties

sourceRegistry[0] assigned

ispRegistry[0] assigned

Using Source GUID 0

NvPclPowerOn: +++++++++++
NvPclPowerOn: -----------
Using ISP A

AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory

No library found, disabling AC plugin.

SCF: Error InsufficientMemory: Unable to create GL context (in src/services/gl/GLService.cpp, function createContextInternal(), line 314)
SCF: Error InsufficientMemory:  (propagating from src/services/gl/GLService.cpp, function createGLES2Context(), line 379)
SCF: Error InsufficientMemory:  (propagating from src/components/stages/AOHDRDeinterleaveStage.cpp, function doAsyncInitialize(), line 113)
SCF: Error InsufficientMemory: AoHdrDeinterleaveStage initialization failed (in src/components/stages/AOHDRDeinterleaveStage.cpp, function doAsyncInitialize(), line 138)
SCF: Error InsufficientMemory: Unable to create GL context (in src/services/gl/GLService.cpp, function createContextInternal(), line 314)
SCF: Error InsufficientMemory:  (propagating from src/services/gl/GLService.cpp, function createGLContext(), line 354)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createContext() line 212
	Unable to create GL context
SCF: Error InsufficientMemory:  (propagating from src/components/stages/GpuBlitStage.cpp, function initialize(), line 55)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function initialize() line 93
	(propagating)
SCF: Error InsufficientMemory:  (propagating from src/components/stages/GpuBlitStage.cpp, function doAsyncInitialize(), line 692)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createContext() line 212
	Unable to create GL context
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createGLContext() line 219
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGL.cpp function initialize() line 146
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/backendOpenGL.cpp function initialize() line 173
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/backend.cpp function create() line 34
	(propagating)
SCF: Error InsufficientMemory:  (propagating from src/components/stages/AoltmStage.cpp, function doAsyncInitialize(), line 77)
SCF: Error InsufficientMemory: AoltmStage initialization failed (in src/components/stages/AoltmStage.cpp, function doAsyncInitialize(), line 129)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createContext() line 212
	Unable to create GL context
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createGLContext() line 219
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGL.cpp function initialize() line 146
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/backendOpenGL.cpp function initialize() line 173
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/backend.cpp function create() line 34
	(propagating)
SCF: Error InsufficientMemory:  (propagating from src/components/stages/SharpenStage.cpp, function doAsyncInitialize(), line 152)
SCF: Error InsufficientMemory: AoltmStage initialization failed (in src/components/stages/SharpenStage.cpp, function doAsyncInitialize(), line 178)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createContext() line 212
	Unable to create GL context
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createGLContext() line 219
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGL.cpp function initialize() line 146
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/backendOpenGL.cpp function initialize() line 173
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/backend.cpp function create() line 34
	(propagating)
SCF: Error InsufficientMemory:  (propagating from src/components/stages/HdfxStage.cpp, function doAsyncInitialize(), line 121)
SCF: Error InsufficientMemory: HdfxStage initialization failed (in src/components/stages/HdfxStage.cpp, function doAsyncInitialize(), line 243)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createContext() line 212
	Unable to create GL context
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGLEGL.cpp function createGLContext() line 219
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/OpenGL.cpp function initialize() line 146
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/OpenGL/backendOpenGL.cpp function initialize() line 173
	(propagating)
FNET: Error in /dvs/git/dirty/git-master_linux/camera/utils/nvfnet/src/backends/backend.cpp function create() line 34
	(propagating)
SCF: Error InsufficientMemory:  (propagating from src/components/stages/DeFogStage.cpp, function doAsyncInitialize(), line 69)
SCF: Error InsufficientMemory: DeFogStage initialization failed (in src/components/stages/DeFogStage.cpp, function doAsyncInitialize(), line 146)

Available Sensor modes : 
2592 x 1944 FR=30.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
2592 x 1458 FR=30.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
1280 x 720 FR=120.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

NvCameraSrc: Trying To Set Default Camera Resolution. Selected 640x480 FrameRate = 30.000000 ...

NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
NvPclDriver_V4L2_Sensor_Write:+++++++++++++++++++++++
Sensor_WriteMode: Target mode Id(1): Resolution 2592x1458
Sensor_GetV4LPixelType: pixel type 0x101 invalid
setActiveBufferMemory: 2
setActivePixelFormat: 808535890
INPUT: Width 2592 Height 1944 pixelformat RG10

INPUT: Width 2592 Height 1458 pixelformat RG10

Sensor_WriteFrameRate:	INPUT frameLength:1984, frameRate:30.000000
Sensor_WriteGain:	INPUT gainCtrl:100 analogGain:1.000000
Sensor_WriteExposure:	INPUT coarseTime:1978, expTime:0.033230
NvPclDriver_UpdateOutputSettings:	OUTPUT frameLength:1984, frameRate:30.001921
NvPclDriver_UpdateOutputSettings:	OUTPUT analogGain:1.000000
NvPclDriver_UpdateOutputSettings:	OUTPUT coarseTime:1978, expTime:0.033230
NvPclDriver_V4L2_Sensor_Write:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
NvPclDriver_V4L2_Sensor_Write:+++++++++++++++++++++++
Socket read error. Camera Daemon stopped functioning.....
ERROR: from element /GstPipeline:pipeline0/GstNvCameraSrc:nvcamerasrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstNvCameraSrc:nvcamerasrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:00.038568904
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

dmesg log:

[  202.406314] nvcamera-daemon[1808]: unhandled level 2 translation fault (11) at 0x00000000, esr 0x83000006
[  202.406322] pgd = ffffffc0e823b000
[  202.409849] [00000000] *pgd=0000000168239003, *pmd=0000000000000000

[  202.416287] CPU: 1 PID: 1808 Comm: nvcamera-daemon Not tainted 3.10.96-urcpi-2m-2.0.1-l4t_r24.2 #47
[  202.416292] task: ffffffc0a19ec940 ti: ffffffc0a1a10000 task.ti: ffffffc0a1a10000
[  202.416298] PC is at 0x0
[  202.416302] LR is at 0x7f96fb197c
[  202.416305] pc : [<0000000000000000>] lr : [<0000007f96fb197c>] pstate: 80000000
[  202.416308] sp : 0000007f647fe770
[  202.416311] x29: 0000007f647fe9d0 x28: 0000007f647fe8d0 
[  202.416317] x27: 0000007f647fe8cc x26: 0000007f647fe8c8 
[  202.416342] x25: 0000007f647fe8c4 x24: 0000007f97f3f000 
[  202.416347] x23: 0000007f647fe880 x22: 0000007f916ecee8 
[  202.416351] x21: 0000007f9805a000 x20: 0000007f916e9ee8 
[  202.416356] x19: 0000007f97f3f660 x18: 0000000000000000 
[  202.416360] x17: 0000007f9805b710 x16: 0000007f96fb1964 
[  202.416364] x15: 0000007f9813e000 x14: 0000000000000000 
[  202.416369] x13: 0000000000015775 x12: 0000000000000157 
[  202.416373] x11: 0000000000000038 x10: 0101010101010101 
[  202.416394] x9 : 0000007f54000e00 x8 : 0000000000000000 
[  202.416399] x7 : 0000007f54000c88 x6 : 0000000000000001 
[  202.416404] x5 : 0000000000000000 x4 : 0000000000417040 
[  202.416408] x3 : 0000000000000000 x2 : 0000000000000000 
[  202.416412] x1 : 0000007f916ede58 x0 : 0000000000000001 

[  202.416424] Library at 0x0: 0x400000 /usr/sbin/nvcamera-daemon
[  202.422292] Library at 0x7f96fb197c: 0x7f96fab000 /usr/lib/aarch64-linux-gnu/tegra-egl/libGLESv2.so.2
[  202.431517] vdso base = 0x7f9813c000
[  214.290137] nvcamera-daemon[1935]: unhandled level 2 translation fault (11) at 0x00000000, esr 0x83000006
[  214.290143] pgd = ffffffc0a348a000
[  214.293616] [00000000] *pgd=000000012194c003, *pmd=0000000000000000

[  214.299901] CPU: 1 PID: 1935 Comm: nvcamera-daemon Not tainted 3.10.96-urcpi-2m-2.0.1-l4t_r24.2 #47
[  214.299907] task: ffffffc0caad0580 ti: ffffffc0a30a0000 task.ti: ffffffc0a30a0000
[  214.300060] PC is at 0x0
[  214.300065] LR is at 0x7fa8dcd97c
[  214.300069] pc : [<0000000000000000>] lr : [<0000007fa8dcd97c>] pstate: 80000000
[  214.300072] sp : 0000007f767fe770
[  214.300075] x29: 0000007f767fe9d0 x28: 0000007f767fe8d0 
[  214.300080] x27: 0000007f767fe8cc x26: 0000007f767fe8c8 
[  214.300085] x25: 0000007f767fe8c4 x24: 0000007fa9d5b000 
[  214.300089] x23: 0000007f767fe880 x22: 0000007fa16ecf18 
[  214.300094] x21: 0000007fa9e76000 x20: 0000007fa16e9f18 
[  214.300100] x19: 0000007fa9d5b660 x18: 0000000000000000 
[  214.300104] x17: 0000007fa9e77710 x16: 0000007fa8dcd964 
[  214.300108] x15: 0000007fa9f5a000 x14: 0000000000000000 
[  214.300113] x13: 0000000000015775 x12: 0000000000000157 
[  214.300117] x11: 0000000000000038 x10: 0101010101010101 
[  214.300122] x9 : 0000007f60000e00 x8 : 0000000000000000 
[  214.300127] x7 : 0000007f60000c88 x6 : 0000000000000001 
[  214.300132] x5 : 0000000000000000 x4 : 0000000000417040 
[  214.300136] x3 : 0000000000000000 x2 : 0000000000000000 
[  214.300140] x1 : 0000007fa16ede88 x0 : 0000000000000001 

[  214.300152] Library at 0x0: 0x400000 /usr/sbin/nvcamera-daemon
[  214.305976] Library at 0x7fa8dcd97c: 0x7fa8dc7000 /usr/lib/aarch64-linux-gnu/tegra-egl/libGLESv2.so.2
[  214.315280] vdso base = 0x7fa9f58000

cat /proc/meminfo:

ubuntu@tegra-ubuntu:~$ cat /proc/meminfo
MemTotal:        4090480 kB
MemFree:         2784376 kB
MemAvailable:    3301272 kB
Buffers:           34180 kB
Cached:           488344 kB
SwapCached:            0 kB
Active:           580028 kB
Inactive:         348712 kB
Active(anon):     407256 kB
Inactive(anon):    17592 kB
Active(file):     172772 kB
Inactive(file):   331120 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        406232 kB
Mapped:           107576 kB
Shmem:             18636 kB
Slab:              69344 kB
SReclaimable:      34624 kB
SUnreclaim:        34720 kB
KernelStack:        6272 kB
PageTables:         7996 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2045240 kB
Committed_AS:    2862012 kB
VmallocTotal:   251658176 kB
VmallocUsed:      183608 kB
VmallocChunk:   251426868 kB
NvMapMemFree:       7168 kB
NvMapMemUsed:     129792 kB

Any help would be greatly appreciated!!!

sergeyk789
Did you use JetPack to flash the device?
Please try to download JetPack from below link to flash TX1 to verify it working. After that you can change the kernel Image to yours by just push your Image to the /boot/Image and reboot the TX1 to confirm again.

https://developer.nvidia.com/embedded/dlc/jetpack-l4t-2_3