SCF: Error BadValue: NvPHSSendThroughputHints

Hi guys,

We are having some issues with an imx334 sensor. It randomly crashes after some hours of working.
Do we know what this error means?
SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)

What is sendCameraPowerHint ? Is there any documentation about it available?

Any help is appreciated.

Thanks,
Pablo

What’s your BSP version?
This message could be ignored.

Thanks

We are running on Jetpack r32.7.5

Check below link to get daemon log.

https://elinux.org/Jetson/l4t/Camera_BringUp

@ShaneCCC sorry I don’t think that is a solution. Why did you mark it as so?

Anyways I got these logs after enabling the debug options:

Oct 06 14:18:29 tx2cam nvargus-daemon[3769700]: Using ISP A
Oct 06 14:18:29 tx2cam nvargus-daemon[3769700]: CAM: serial no file already exists, skips storing againAC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
Oct 06 14:18:29 tx2cam nvargus-daemon[3769700]: No library found, disabling AC plugin.
Oct 06 14:18:38 tx2cam nvargus-daemon[3769700]: Worker thread CaptureDispatcher start
Oct 06 14:18:48 tx2cam nvargus-daemon[3769700]: ViCsi capture path not initialized
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: (Argus) Error InvalidState: Stream is not in CONNECTING state. (in src/api/EGLOutputStreamImpl.cpp, function connectProducer(), line 153)
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: (Argus) Error InvalidState:  (propagating from src/api/CaptureSessionImpl.cpp, function connectAllRequestStreams(), line 352)
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: Worker thread CaptureDispatcher stop
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: ViCsi capture path not initialized
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: Worker thread ViCsiHw frameComplete stop
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: Worker thread ViCsiHw frameStart stop
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: NvPclPowerOff: +++++++++++
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: NvPclPowerOff: -----------
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: PowerServiceCore:handleRequests: timePassed = 95280
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: (Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 853)
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function allocateAndRegisterBuffers(), line 264)
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function create(), line 122)
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: SCF: Error InvalidState:  (propagating from src/api/Session.cpp, function createEGLStreamProducer(), line 1345)
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: (Argus) Error InvalidState:  (propagating from src/api/EGLOutputStreamImpl.cpp, function connectProducer(), line 158)
Oct 06 14:20:02 tx2cam nvargus-daemon[3769700]: (Argus) Error InvalidState:  (propagating from src/api/CaptureSessionImpl.cpp, function connectAllRequestStreams(), line 352)
Oct 06 14:20:05 tx2cam nvargus-daemon[3769700]: (Argus) Error FileOperationFailed: Failed socket read: Connection reset by peer (in src/rpc/socket/common/SocketUtils.cpp, function readSocket(), line 79)
Oct 06 14:20:05 tx2cam nvargus-daemon[3769700]: (Argus) Error FileOperationFailed:  (propagating from libs/rpc_socket_server/ServerSocketManager.cpp, function recvThreadCore(), line 185)
Oct 06 14:20:05 tx2cam nvargus-daemon[3769700]: (Argus) Error FileOperationFailed:  (propagating from libs/rpc_socket_server/ServerSocketManager.cpp, function run(), line 58)
Oct 06 14:20:05 tx2cam nvargus-daemon[3769700]: === python3[3771792]: Connection closed (7F81FB41C0)=== python3[3771792]: WARNING: CameraProvider was not destroyed before client connection terminated.=== python3[3771792]:          The client may have abnormally terminated. Destroying CameraProvider...=== python3[3771792]: CameraProvider destroyed (0x7f7da28180)=== python3[3771792]: WARNING: Cleaning up 1 outstanding requests...=== python3[3771792]: WARNING: Cleaning up 1 outstanding stream settings...=== python3[3771792]: WARNING: Cleaning up 1 outstanding queues...=== python3[3771792]: NOTE: Destroy all libargus objects before destroying the CameraProvider to avoid these warnings.Stopping services...
Oct 06 14:20:05 tx2cam nvargus-daemon[3769700]: Worker thread CaptureScheduler frameStart stop
Oct 06 14:20:05 tx2cam nvargus-daemon[3769700]: Worker thread CaptureScheduler checkFramePending stop
Oct 06 14:17:03 tx2cam nvargus-daemon[3769700]: OFDPropertyGetString: could not read property [mode4.y_end]
Oct 06 14:17:03 tx2cam nvargus-daemon[3769700]: OFDPropertyGetString: could not read property [mode4.h_scaling]
Oct 06 14:17:03 tx2cam nvargus-daemon[3769700]: OFDPropertyGetString: could not read property [mode4.v_scaling]
Oct 06 14:17:03 tx2cam nvargus-daemon[3769700]: initialize: Loaded Driver: 5 Modes Available--------------
Oct 06 14:17:03 tx2cam nvargus-daemon[3769700]: NvPclInitializeDrivers: v4l2_sensor ------------------
Oct 06 14:17:03 tx2cam nvargus-daemon[3769700]: NvPclOpen: ----------------------
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: CAM: serial no file already exists, skips storing again=== python3[3771792]: CameraProvider initialized (0x7f7da28180)sourceRegistry[0] assigned
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: ispRegistry[0] assigned
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: Using Source GUID 1
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: Worker thread ViCsiHw frameComplete start
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: Worker thread ViCsiHw frameStart start
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: NvPclPowerOn: +++++++++++
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: NvPclPowerOn: -----------
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: Using ISP A
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: NvPHSSendThroughputHints: sensorId=1, m_usecase=4, m_type=2, m_value=4294967295, m_timeout_ms=1000
Oct 06 14:17:06 tx2cam nvargus-daemon[3769700]: SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)

Any useful info?

Looks like failed at initialize stage. What’s your running case?

I have a TX2 connected to an IMX334 sensor (CSI/MIPI). We have an RTSP service developed using GStreamer (NVArgusGST + GstRtspServer) that runs 24/7 and an AI model ingesting that data.

Under some circumstances that we don’t yet understand, NVargus stops processing data and fails like this.
Only a reboot helps alleviate the issue, not even a systemctl restart

Does the test do the open/close?
Could you run the gst-launch-1.0 on TX2 to simulate if able to reproduce the problem.

Is this still an issue to support? Any result can be shared?

We ran :

gst-launch-1.0 nvarguscamerasrc sensor-mode=0 \
                  gainrange="1 16" \
                  exposuretimerange="125000.0 500000000.0" \
                  tnr-strength=1.0 \
                  tnr-mode=2 \
                  wbmode=1 \
                  saturation=1 \
                  ispdigitalgainrange="1 180" \
                  ee-mode=1 \
                  ee-strength=-1 \
                  aeantibanding=1 \
                  aelock=false \
                  exposurecompensation=0 \
                  awblock=false \
                ! queue leaky=2 max-size-buffers=5 \
                ! nvvidconv \
                ! videorate max-rate=30 \
                ! 'video/x-raw(memory:NVMM), width=1920, height=1080, framerate=(fraction)30/1' \
                ! queue leaky=2 max-size-buffers=5 \
                ! nvv4l2h264enc bitrate=8000000 \
                ! 'video/x-h264, profile=baseline, stream-format=byte-stream' \
                ! h264parse \
                ! rtph264pay name=pay0 pt=96 config-interval=1 \
                ! fakesink

And got the same result:

root@dnncam-0003301:~# gst-launch-1.0 nvarguscamerasrc sensor-mode=0                   gainrange="1 16"                   exposuretimerange="125000.0 500000000.0"                   tnr-strength=1.0                   tnr-mode=2                   wbmode=1                   saturation=1                   ispdigitalgainrange="1 180"                   ee-mode=1                   ee-strength=-1                   aeantibanding=1                   aelock=false                   exposurecompensation=0                   awblock=false                 ! queue leaky=2 max-size-buffers=5                 ! nvvidconv                 ! videorate max-rate=30                 ! 'video/x-raw(memory:NVMM), width=1920, height=1080, framerate=(fraction)30/1'                 ! queue leaky=2 max-size-buffers=5                 ! nvv4l2h264enc bitrate=8000000                 ! 'video/x-h264, profile=baseline, stream-format=byte-stream'                 ! h264parse                 ! rtph264pay name=pay0 pt=96 config-interval=1                 ! fakesink
GST_ARGUS: NvArgusCameraSrc: Setting Gain Range : 1 16
GST_ARGUS: NvArgusCameraSrc: Setting Exposure Time Range : 125000.0 500000000.0
GST_ARGUS: Invalid Exposure Time Range Input
GST_ARGUS: NvArgusCameraSrc: Setting ISP Digital Gain Range : 1 180
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE 
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
NvMMLiteOpen : Block : BlockType = 4 
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
Redistribute latency...
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3864 x 2180 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 3981.070801; Exposure Range min 7000, max 660000000;

GST_ARGUS: 1920 x 1080 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 3981.070801; Exposure Range min 7000, max 660000000;

GST_ARGUS: 1944 x 1080 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 3981.070801; Exposure Range min 14000, max 660000000;

GST_ARGUS: 3864 x 2180 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 3981.070801; Exposure Range min 7000, max 660000000;

GST_ARGUS: 1920 x 1080 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 3981.070801; Exposure Range min 7000, max 660000000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 3864 H = 2180 
   seconds to Run    = 0 
   Frame Rate = 59.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
H264: Profile = 66, Level = 0 
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: DISCONNECTED
Additional debug info:
Argus Error Status
CONSUMER: ERROR OCCURRED
Execution ended after 0:00:36.571110391
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
GST_ARGUS: Cleaning up
(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)
(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)
Caught SIGSEGV
(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)
exec gdb failed: No such file or directory
Spinning.  Please run 'gdb gst-launch-1.0 2095112' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
Segmentation fault

Also running gdb on gst-launch gives no useful information, because it is failing due to nvargus-daemon.
I would focus on debugging nvargus instead of gstreamer. Unless you have a reason to believe otherwise

Does this command always error?
Please check by simple command if yes.

It errors only when nvargus-daemon is failing

Do you confirm the sensor driver v4l2-ctl?

v4l2-ctl --stream-mmap -c bypass_mode=0

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.