"nvbuf_utils: dmabuf_fd -1 mapped entry NOT found" when using "nvarguscamerasrc" on JP514

Hi, everyone, I’m currently encountering this recurring error when running an nvarguscamerasrc GStreamer pipeline on a custom Jetson-based system running JP514:

nvbuf_utils: dmabuf_fd -1 mapped entry NOT found  
Error generated. gstnvarguscamerasrc.cpp, threadExecute:723 NvBufSurfaceFromFd Failed.

The pipeline:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=1 ! "video/x-raw(memory:NVMM), format=(string)NV12, width=(int)...., height=(int)...., framerate=18/1" ! nvvidconv ! nvjpegenc ! filesink location=image.jpg 
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: .... x .... FR = 18.000000 fps Duration = 55555556 ; Analog Gain range min 0.000000, max 45.000000; Exposure Range min ......, max ........;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = .... H = .... 
   seconds to Run    = 0 
   Frame Rate = 18.000000 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. gstnvarguscamerasrc.cpp, threadExecute:723 NvBufSurfaceFromFd Failed.
Error generated. gstnvarguscamerasrc.cpp, threadFunction:242 (propagating)
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:04.003437912
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
Freeing pipeline ...

nvargus-daemon log:

systemctl status nvargus-daemon.service  -l 
● nvargus-daemon.service - NVIDIA Argus daemon
     Loaded: loaded (/lib/systemd/system/nvargus-daemon.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-04-16 18:11:47 UTC; 2h 44min ago
   Main PID: 638 (nvargus-daemon)
      Tasks: 1 (limit: 36067)
     Memory: 151.0M
     CGroup: /system.slice/nvargus-daemon.service
             └─ 638 /usr/sbin/nvargus-daemon

nvargus-daemon[638]: SCF: Error Timeout: Sending critical error event for Session 1
nvargus-daemon[638]:  (in src/api/Session.cpp, function sendErrorEvent(), line 1039)
nvargus-daemon[638]: PowerServiceCore:handleRequests: timePassed = 4502
nvargus-daemon[638]: SCF: Error InvalidState: Sensor GUID 1 is in error state. Skipping requests, capture sequence ID = 3 continue draining session frameStart events 1
nvargus-daemon[638]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 545)
nvargus-daemon[638]: SCF: Error InvalidState: Sensor 1 already in same state
nvargus-daemon[638]:  (in src/services/capture/CaptureServiceDeviceSensor.cpp, function setErrorState(), line 100)
nvargus-daemon[638]: SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 1, capture sequence ID = 3 draining session frameEnd events 1
nvargus-daemon[638]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 648)
nvargus-daemon[638]: PowerServiceCore:handleRequests: timePassed = 6229

dmesg output right after the error:

mc-err: (255) csw_vifalw: EMEM address decode error
status = 0x200100bd; hi_addr_reg = 0x0000007f addr = 0x7ffc340000
secure: no, access-type: write
...
mc-err: Too many MC errors; throttling prints

Notes:

  • We do not get this error on:
    • Another system running JP512
    • A newer setup using JP6
  • Same camera sensor setup is used.

Does anyone have insights into what might be causing this issue?

Any insight on the meaning of the dmabuf_fd -1 issue in this context, or how it could relate to mc-err: EMEM address decode error?

Any suggestions would be greatly appreciated!

Could you verify the capture by v4l2-ctl to confirm the sensor side.

Thanks

This is the output from V4L2:

sudo v4l2-ctl --set-ctrl bypass_mode=0 --stream-count 5 --stream-mmap -d /dev/video0 
<<<<<

Apply below libs to try.

I’m getting this error, likely because those libraries are for L4T 36.4:

(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 277)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 350)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 366)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 379)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Error generated. gstnvarguscamerasrc.cpp, execute:780 No cameras available
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:00.026486080
Setting pipeline to NULL ...
Freeing pipeline ...
(Argus) Error InvalidState: Receive thread is not running cannot send. (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 96)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)

Yes, sorry for the incorrect information. can’t apply the libs fro r36 to r35 release.
Could you check by JP5.1.3 or latest release JP5.1.5 to confirm if regression.

Thanks

Hi, Shane, I tested on JP5.1.3, and it worked, so it does seem to be a regression.

Could you help to verify the MMAPI sample code like argus_camera to clarify the problem.

Thanks

Could you apply the patch from below link to try.

After installing those libraries I still get the exact same error.

Please help to check by argus_camera.

Thanks

This is the output when I attempt to take a snapshot and create a video.

DISPLAY=:0 argus_camera 
Executing Argus Sample Application (argus_camera)

(argus_camera:1768): dbind-WARNING **: 03:11:29.610: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Argus Version: 0.99.3.3 (multi-process)
[ 3689.090406] audit: type=1334 audit(1746155490.049:18): prog-id=14 op=LOAD
[ 3689.090633] audit: type=1334 audit(1746155490.049:19): prog-id=15 op=LOAD
[ 3689.099386] bwmgr API not supported
[ 3689.185011] bwmgr API not supported
[ 3689.294906] mc-err: (255) csw_vifalw: Route Sanity error
[ 3689.295179] mc-err:   status = 0x700100bd; hi_addr_reg = 0x00000000 addr = 0x60330000
[ 3689.295379] mc-err:   secure: no, access-type: write
[ 3689.318984] mc-err: (255) csw_vifalw: Route Sanity error
[ 3689.319157] mc-err:   status = 0x700100bd; hi_addr_reg = 0x00000000 addr = 0x60330000
[ 3689.319383] mc-err:   secure: no, access-type: write
[ 3689.343122] mc-err: (255) csw_vifalw: Route Sanity error
[ 3689.343284] mc-err:   status = 0x700100bd; hi_addr_reg = 0x00000000 addr = 0x60330000
[ 3689.343499] mc-err:   secure: no, access-type: write
[ 3689.350114] mc-err: (255) csr_vifalr: Route Sanity error
[ 3689.350276] mc-err:   status = 0x700000bc; hi_addr_reg = 0x00000000 addr = 0x60330000
[ 3689.350475] mc-err:   secure: no, access-type: read
[ 3689.374494] mc-err: Too many MC errors; throttling prints


[ 3693.802167] bwmgr API not supported
[ 3719.312826] audit: type=1334 audit(1746155520.273:20): prog-id=15 op=UNLOAD
[ 3719.313194] audit: type=1334 audit(1746155520.273:21): prog-id=14 op=UNLOAD
[ 3719.910567] usb 1-4: USB disconnect, device number 2
[ 3721.199574] tegra-xusb 3610000.xhci: entering ELPG done
[ 3727.054064] tegra-xusb 3610000.xhci: Firmware timestamp: 2023-02-10 03:48:10 UTC, Version: 80.05 release
[ 3727.288601] usb 1-4: new full-speed USB device number 4 using tegra-xusb
[ 3727.441184] usb 1-4: New USB device found, idVendor=0458, idProduct=0185, bcdDevice= 1.03
[ 3727.441451] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3727.441676] usb 1-4: Product: Wireless Mouse
[ 3727.441814] usb 1-4: Manufacturer: MOSART Semi.
[ 3727.445771] hid-generic 0003:0458:0185.0001: hiddev96,hidraw0: USB HID v1.10 Device [MOSART Semi. Wireless Mouse] on usb-3610000.xhci-4/input0
[ 3727.449199] input: MOSART Semi. Wireless Mouse as /devices/platform/3610000.xhci/usb1/1-4/1-4:1.1/0003:0458:0185.0002/input/input5
[ 3727.449636] input: MOSART Semi. Wireless Mouse Consumer Control as /devices/platform/3610000.xhci/usb1/1-4/1-4:1.1/0003:0458:0185.0002/input/input6
[ 3727.457313] tegra-xudc 3550000.xudc: failed to get usbphy-0: -517
[ 3727.508890] input: MOSART Semi. Wireless Mouse System Control as /devices/platform/3610000.xhci/usb1/1-4/1-4:1.1/0003:0458:0185.0002/input/input7
[ 3727.509436] input: MOSART Semi. Wireless Mouse as /devices/platform/3610000.xhci/usb1/1-4/1-4:1.1/0003:0458:0185.0002/input/input8
[ 3727.510087] hid-generic 0003:0458:0185.0002: input,hiddev97,hidraw1: USB HID v1.10 Mouse [MOSART Semi. Wireless Mouse] on usb-3610000.xhci-4/input1
[ 3727.523080] tegra-xudc 3550000.xudc: failed to get usbphy-0: -517
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/modules/Dispatcher.cpp, createRequest:1599 Failed to create request
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/modules/tasks/StillCapture.cpp, execute:232 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/ui/capture/AppModuleCapture.cpp, capture:78 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp, onButtonPressEvent:1916 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/modules/Dispatcher.cpp, createRequest:1599 Failed to create request
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/modules/tasks/VideoRecord.cpp, start:148 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/ui/video/AppModuleVideo.cpp, start:231 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/ui/camera/Main.cpp, onModuleChanged:344 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/samples/utils/Observed.cpp, notifyObservers:92 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/samples/utils/Value.h, set:98 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/samples/utils/Value.h, setFromString:112 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp, onGuiElementChangedComboBox:1300 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/modules/tasks/VideoRecord.cpp, startRecording:230 Not running
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/modules/tasks/VideoRecord.cpp, toggleRecording:334 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/apps/camera/ui/video/AppModuleVideo.cpp, toggleRecording:97 (propagating)
Error generated. /usr/src/debug/argus-samples/35.6.0-20240828020325-r0/tegra-mmapi/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp, onButtonToggled:1921 (propagating)
[ 3753.952975] audit: type=1701 audit(1746155554.914:22): auid=4294967295 uid=1000 gid=1001 ses=4294967295 subj=kernel pid=1768 comm="argus_camera" exe="/usr/bin/argus_camera" sig=11 res=1
Segmentation fault

I noticed that when I set these THI nodes to be cache-coherent, Kernel 5.10.216 worked with L4T 35.5.0, but it still doesn’t work with L4T 35.6.0. Do you think we need to patch something from the stock libraries? Any idea which one it could be?

--- a/nvidia/soc/t23x/kernel-dts/tegra234-soc/tegra234-soc-host1x.dtsi
+++ b/nvidia/soc/t23x/kernel-dts/tegra234-soc/tegra234-soc-host1x.dtsi
@@ -1,5 +1,5 @@
@@ -301,8 +301,6 @@ vi0: vi0@15c00000 {
 
                vi0_thi: vi0-thi@15f00000 {
                        compatible = "nvidia,tegra234-vi-thi";
-                       non-coherent;
                        status = "okay";
                };
 
@@ -319,8 +317,6 @@ vi1: vi1@14c00000 {
 
                vi1_thi: vi1-thi@14f00000 {
                        compatible = "nvidia,tegra234-vi-thi";
-                       non-coherent;
                        status = "okay";
                };
 
@@ -342,8 +338,6 @@ isp: isp@14800000 {
 
                isp_thi: isp-thi@14b00000 {
                        compatible = "nvidia,tegra194-isp-thi";
-                       non-coherent;
                        status = "okay";
                };

Looks like something wrong with your system image.
Could you reflash the image by sdkamanger to try. BTW you are working on devkit or customized carrier board?

Why do you set to cache-coherent?