basler / gst-plugin-pylon

The official GStreamer plug-in for Basler cameras
BSD 3-Clause "New" or "Revised" License
42 stars 10 forks source link

Python code for running the Deepstream pipeline #57

Closed arun-kumark closed 1 year ago

arun-kumark commented 1 year ago

Hello, I am trying to setup the Python code for the Basler to run the Gstreamer pipeline using Deepstream 6.1.

When I execute the Pipeline, it runs without issue: gst-launch-1.0 pylonsrc capture-error=skip cam::ExposureTime=20000 cam::Gain=10.3 ! "video/x-raw(memory:NVMM),width=640,height=480,framerate=10/1, format=GRAY8" ! videoconvert ! nvvideoconvert ! m.sink_0 nvstreammux name=m batch-size=1 width=640 height=480 ! nvinfer config-file-path=/home/arun/Documents/DeepStream-Yolo/config_infer_primary_yoloV5.txt ! nvdsosd ! nvegltransform ! nveglglessink sync=0

Now I am preparing the equivalent Python code to get the Bounding box coordinates from my Yolo detector via nvdsosd. below is my python script: The camera class is attached please see camera.txt (its a python file)

import sys
import os
sys.path.append('../')
import gi
import configparser
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst
from gi.repository import GLib
from common.is_aarch_64 import is_aarch64
from common.bus_call import bus_call
from cameras import Cameras

def main():
    # No matter where this program is called from, use local paths
    local_path = os.path.dirname(os.path.abspath(__file__))

    # imports important only to this function
    import math
    import pypylon
    from pypylon import genicam
[cameras.txt](https://github.com/basler/gst-plugin-pylon/files/12096416/cameras.txt)

    from pypylon import pylon

    # Get the transport layer factory.
    tlFactory = pylon.TlFactory.GetInstance()

    # Get all attached devices and exit application if no device is found.
    devices = tlFactory.EnumerateDevices()

    print("Detected Basler Cameras")
    print([device.GetFriendlyName() for device in devices])
    print("Building list by serial number")
    cameras = [device.GetSerialNumber() for device in devices]

    Gst.init(None)

    # Create gstreamer elements */
    # Create Pipeline element that will form a connection of other elements
    print("Creating Pipeline \n ")
    pipeline = Gst.Pipeline()

    if not pipeline:
        sys.stderr.write(" Unable to create Pipeline \n")

    print("Creating nvvidconv \n ")
    nvvidconv = Gst.ElementFactory.make("nvvideoconvert", "convertor")
    if not nvvidconv:
        sys.stderr.write(" Unable to create nvvidconv \n")        

    print("Creating streamux \n ")
    # Create nvstreammux instance to form batches from one or more sources.
    streammux = Gst.ElementFactory.make("nvstreammux", "Stream-muxer")
    if not streammux:
        sys.stderr.write(" Unable to create NvStreamMux \n")

    pipeline.add(streammux)

    cams = Cameras(pipeline=pipeline, devices=cameras)
    cams.attach_to(streammux)

    print("Creating Pgie \n ")
    pgie = Gst.ElementFactory.make("nvinfer", "primary-inference")
    if not pgie:
        sys.stderr.write(" Unable to create pgie \n")
    pgie.set_property('config-file-path', "/home/arun/Documents/DeepStream-Yolo/config_infer_primary_yoloV5.txt")

    print("Creating nvosd \n ")
    nvosd = Gst.ElementFactory.make("nvdsosd", "onscreendisplay")
    if not nvosd:
        sys.stderr.write(" Unable to create nvosd \n")
    if(is_aarch64()):
        print("Creating transform \n ")
        transform=Gst.ElementFactory.make("nvegltransform", "nvegl-transform")
        if not transform:
            sys.stderr.write(" Unable to create transform \n")

    print("Creating EGLSink \n")
    sink = Gst.ElementFactory.make("nveglglessink", "nvvideo-renderer")
    if not sink:
        sys.stderr.write(" Unable to create egl sink \n")

    streammux.set_property('width', 640)
    streammux.set_property('height', 480)
    streammux.set_property('batch-size', 1)
    streammux.set_property('batched-push-timeout', 4000000)

    pipeline.add(nvvidconv)
    print("Adding elements to Pipeline \n")
    pipeline.add(pgie)
    pipeline.add(nvosd)
    if is_aarch64():
        pipeline.add(transform)
    pipeline.add(sink)

    print("Linking elements in the Pipeline \n")
    streammux.link(pgie)
    pgie.link(nvosd)
    if is_aarch64():
        nvosd.link(transform)
        transform.link(sink)
    else:
        nvosd.link(sink)   

    # create an event loop and feed gstreamer bus mesages to it
    loop = GLib.MainLoop()
    bus = pipeline.get_bus()
    bus.add_signal_watch()
    bus.connect ("message", bus_call, loop)

    # Lets add probe to get informed of the meta data generated, we add probe to
    # the sink pad of the osd element, since by that time, the buffer would have
    # had got all the metadata.
    osdsinkpad = nvosd.get_static_pad("sink")
    if not osdsinkpad:
        sys.stderr.write(" Unable to get sink pad of nvosd \n")

    # start play back and listen to events
    print("Starting pipeline .... \n")
    pipeline.set_state(Gst.State.PLAYING)
    try:
        loop.run()
    except:
        pass
    # cleanup
    pipeline.set_state(Gst.State.NULL)

if __name__ == '__main__':
    sys.exit(main())

When I execute this pipeline, I get the Segmentation fault like:

arun@ubuntu:~/Documents/DeepStream-Yolo/python$ python3 myPipeline.py 
Detected Basler Cameras
['Basler a2A1920-51gcBAS (40122507)']
Building list by serial number
Creating Pipeline 
Creating nvvidconv 
Creating streamux 
Building GStreamer infrastructure for  ['40122507']
Creating pipeline for device  40122507
Creating Source 
Creating Video Converter 

Attaching 1 cameras to <class '__gi__.GstNvStreamMux'>
Attaching 40122507
Creating Pgie 
Creating nvosd 
Creating transform 
Creating EGLSink 
Adding elements to Pipeline 
Linking elements in the Pipeline 
Starting pipeline .... 

Using winsys: x11 
0:00:12.087228857  6456      0xc6ba750 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1909> [UID = 1]: deserialized trt engine from :/home/arun/Documents/DeepStream-Yolo/model_b1_gpu0_fp32.engine
WARNING: [TRT]: The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
INFO: [Implicit Engine Info]: layers num: 4
0   INPUT  kFLOAT input           3x640x640       
1   OUTPUT kFLOAT boxes           25200x4         
2   OUTPUT kFLOAT scores          25200x1         
3   OUTPUT kFLOAT classes         25200x1         

0:00:12.150700626  6456      0xc6ba750 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2012> [UID = 1]: Use deserialized engine model: /home/arun/Documents/DeepStream-Yolo/model_b1_gpu0_fp32.engine
0:00:12.163352081  6456      0xc6ba750 INFO                 nvinfer gstnvinfer_impl.cpp:328:notifyLoadModelStatus:<primary-inference> [UID 1]: Load new model:/home/arun/Documents/DeepStream-Yolo/config_infer_primary_yoloV5.txt sucessfully
Segmentation fault (core dumped)

I am trying for past two days, and in the end, I need your help to debug this issue, Could you please help to pointout the problem.

UPDATED:

The Debug logs with GST_DEBUG=3 are also shown below:

arun@ubuntu:~/Documents/DeepStream-Yolo/python$ GST_DEBUG=3 python3 myPipeline.py 
Detected Basler Cameras
['Basler a2A1920-51gcBAS (40122507)']
Building list by serial number
Creating Pipeline 

Creating nvvidconv 

Creating streamux 

Building GStreamer infrastructure for  ['40122507']
Creating pipeline for device  40122507
Creating Source 

0:00:01.835360876  4958      0x473c070 WARN                 default gstpyloncache.cpp:166:GetDoubleAttribute: Could not read values for feature ChunkGain from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “ChunkGain”
0:00:01.908749885  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature ChunkLineStatusAll from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “ChunkLineStatusAll”
0:00:01.942007701  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature ChunkFrameID from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “ChunkFrameID”
0:00:01.978985288  4958      0x473c070 WARN                 default gstpyloncache.cpp:166:GetDoubleAttribute: Could not read values for feature ChunkExposureTime from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “ChunkExposureTime”
0:00:02.026015845  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature BslChunkTimestampValue from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “BslChunkTimestampValue”
0:00:02.087580441  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature BslChunkTimestampValue from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “BslChunkTimestampValue”
0:00:02.148472161  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature BslChunkTimestampValue from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “BslChunkTimestampValue”
0:00:02.209990196  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature ChunkCounterValue from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “ChunkCounterValue”
0:00:02.269796938  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature ChunkCounterValue from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “ChunkCounterValue”
0:00:02.331931047  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature ChunkPayloadCRC16 from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “ChunkPayloadCRC16”
0:00:02.871811687  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature BslPtpUcPortAddrIndex from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “BslPtpUcPortAddrIndex”
0:00:02.909591431  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature BslPtpUcPortAddr from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “BslPtpUcPortAddr”
0:00:02.969141869  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature PtpOffsetFromMaster from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “PtpOffsetFromMaster”
0:00:03.009569167  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature PtpClockID from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “PtpClockID”
0:00:03.053887666  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature PtpParentClockID from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “PtpParentClockID”
0:00:03.095840973  4958      0x473c070 WARN                 default gstpyloncache.cpp:150:GetIntegerAttribute: Could not read values for feature PtpGrandmasterClockID from file /home/arun/.cache/gstpylon/55e64db268643a27bcf9c4bf7fea78f9b3c715b0cc2f69c6185db24f7975897b.config: Key file does not have group “PtpGrandmasterClockID”
Creating Video Converter 

Attaching 1 cameras to <class '__gi__.GstNvStreamMux'>
Attaching 40122507
Creating Pgie 

Unknown or legacy key specified 'unique-id' for group [property]
Creating nvosd 

Creating transform 

Creating EGLSink 

Adding elements to Pipeline 

Linking elements in the Pipeline 

Starting pipeline .... 

Using winsys: x11 
WARNING: [TRT]: Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
0:00:11.651170983  4958      0x473c070 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1909> [UID = 1]: deserialized trt engine from :/home/arun/Documents/DeepStream-Yolo/model_b1_gpu0_fp32.engine
WARNING: [TRT]: The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
INFO: [Implicit Engine Info]: layers num: 4
0   INPUT  kFLOAT input           3x640x640       
1   OUTPUT kFLOAT boxes           25200x4         
2   OUTPUT kFLOAT scores          25200x1         
3   OUTPUT kFLOAT classes         25200x1         

0:00:11.718167188  4958      0x473c070 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2012> [UID = 1]: Use deserialized engine model: /home/arun/Documents/DeepStream-Yolo/model_b1_gpu0_fp32.engine
0:00:11.730642666  4958      0x473c070 INFO                 nvinfer gstnvinfer_impl.cpp:328:notifyLoadModelStatus:<primary-inference> [UID 1]: Load new model:/home/arun/Documents/DeepStream-Yolo/config_infer_primary_yoloV5.txt sucessfully
0:00:12.448095840  4958      0x47ba300 FIXME                default gstutils.c:3980:gst_pad_create_stream_id_internal:<pylon-source0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Segmentation fault (core dumped)
arun@ubuntu:~/Documents/DeepStream-Yolo/python$ 

Thank you very much for your kind support.

Arun

arun-kumark commented 1 year ago

Update:

The GDB logs are here:

Error while mapping shared library sections:
`/home/arun/.local/lib/python3.8/site-packages/pypylon': not in executable format: Is a directory
WARNING: [TRT]: Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
0:00:17.299842368  3044      0x1d7d350 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1909> [UID = 1]: deserialized trt engine from :/home/arun/Documents/DeepStream-Yolo/model_b1_gpu0_fp32.engine
WARNING: [TRT]: The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
INFO: [Implicit Engine Info]: layers num: 4
0   INPUT  kFLOAT input           3x640x640       
1   OUTPUT kFLOAT boxes           25200x4         
2   OUTPUT kFLOAT scores          25200x1         
3   OUTPUT kFLOAT classes         25200x1         

0:00:17.385788128  3044      0x1d7d350 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2012> [UID = 1]: Use deserialized engine model: /home/arun/Documents/DeepStream-Yolo/model_b1_gpu0_fp32.engine
[New Thread 0xffff7ecad1e0 (LWP 3067)]
[New Thread 0xffff7e4ac1e0 (LWP 3068)]
[New Thread 0xffff7be351e0 (LWP 3069)]
0:00:17.401732096  3044      0x1d7d350 INFO                 nvinfer gstnvinfer_impl.cpp:328:notifyLoadModelStatus:<primary-inference> [UID 1]: Load new model:/home/arun/Documents/DeepStream-Yolo/python/../config_infer_primary_yoloV5.txt sucessfully
[New Thread 0xffff7b6341e0 (LWP 3070)]
[Thread 0xffff7b6341e0 (LWP 3070) exited]
[New Thread 0xffff7b6341e0 (LWP 3071)]
[Detaching after fork from child process 3072]
[New Thread 0xffff7ae331e0 (LWP 3073)]
[New Thread 0xffff7a6321e0 (LWP 3074)]
[New Thread 0xffff413a51e0 (LWP 3075)]
[New Thread 0xffff40ba41e0 (LWP 3076)]
[New Thread 0xffff33fff1e0 (LWP 3077)]
[New Thread 0xffff337fe1e0 (LWP 3078)]
--Type <RET> for more, q to quit, c to continue without paging--c

**Thread 24 "pylon-source0:s" received signal SIGSEGV, Segmentation fault.**

[Switching to Thread 0xffff7a6321e0 (LWP 3074)]
0x0000fffff5585710 in ?? () from /home/arun/.local/lib/python3.8/site-packages/pypylon/libpylonbase.so.7.2
arun-kumark commented 1 year ago

Sorry to open it again, The pipeline stalls, and not able to see the live view when running via python code. I already set the property self.source[index].set_property("capture-error", "skip")


0:00:13.151531150 18746      0x1194890 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2012> [UID = 1]: Use deserialized engine model: /home/arun/Downloads/Lego/Lego_Demo/deepstream_configs/detectnet_v2_resnet10.etlt_b1_gpu0_fp16.engine
[New Thread 0xffff822e11e0 (LWP 18776)]
[New Thread 0xffff812691e0 (LWP 18777)]
[New Thread 0xffff80a681e0 (LWP 18778)]
0:00:13.253318751 18746      0x1194890 INFO                 nvinfer gstnvinfer_impl.cpp:328:notifyLoadModelStatus:<primary-inference> [UID 1]: Load new model:/home/arun/Downloads/Lego/Lego_Demo/python_scripts/../deepstream_configs/lego_pgie_resnet10_config.txt sucessfully
[New Thread 0xffff5bfff1e0 (LWP 18779)]
[New Thread 0xffff5b7fe1e0 (LWP 18780)]
[New Thread 0xffff591871e0 (LWP 18781)]
[New Thread 0xffff589861e0 (LWP 18782)]
[New Thread 0xffff4bfff1e0 (LWP 18783)]

Thread 26 "pylon-source0:s" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xffff5bfff1e0 (LWP 18779)]
0x0000fffff54c5710 in ?? () from /home/arun/.local/lib/python3.8/site-packages/pypylon/libpylonbase.so.7.2
(gdb) backtrace
#0  0x0000fffff54c5710 in  () at /home/arun/.local/lib/python3.8/site-packages/pypylon/libpylonbase.so.7.2
#1  0x0000fffff54c5290 in Pylon::CGrabResultPtr::Release() () at /home/arun/.local/lib/python3.8/site-packages/pypylon/libpylonbase.so.7.2
#2  0x0000ffffe08bba38 in Pylon::CDeviceSpecificGrabResultPtr<Pylon::CBaslerUniversalGrabResultData>::Release() (this=0xffff50007e58) at /opt/pylon/include/pylon/private/DeviceSpecificGrabResultPtr.h:324
#3  Pylon::CDeviceSpecificInstantCameraT<Pylon::CBaslerUniversalInstantCameraTraits>::RetrieveResult(unsigned int, Pylon::CBaslerUniversalGrabResultPtr&, Pylon::ETimeoutHandling)
    (this=0x1e2e010, timeoutMs=3767253480, grabResult=..., timeoutHandling=Pylon::TimeoutHandling_ThrowException) at /opt/pylon/include/pylon/private/DeviceSpecificInstantCamera.h:405
#4  0x0000fffff54d64a4 in  () at /home/arun/.local/lib/python3.8/site-packages/pypylon/libpylonbase.so.7.2
#5  0x0000fffff54d68a8 in  () at /home/arun/.local/lib/python3.8/site-packages/pypylon/libpylonbase.so.7.2
#6  0x0000fffff54db7e0 in  () at /home/arun/.local/lib/python3.8/site-packages/pypylon/libpylonbase.so.7.2
#7  0x0000ffffe08b33c4 in gst_pylon_start(_GstPylon*, _GError**) (self=<optimized out>, err=err@entry=0xffff5bffe710) at /usr/include/c++/9/bits/shared_ptr_base.h:1020
#8  0x0000ffffe08bfcac in gst_pylon_src_set_caps(GstBaseSrc*, GstCaps*) (src=<optimized out>, caps=0xb74770) at ../ext/pylon/gstpylonsrc.cpp:706
#9  0x0000fffff1eb8720 in gst_base_src_set_caps (src=src@entry=0x12b0ab0, caps=caps@entry=0xb74770) at gstbasesrc.c:951
#10 0x0000fffff1eb8c74 in gst_base_src_default_negotiate (basesrc=0x12b0ab0) at gstbasesrc.c:3347
#11 0x0000fffff1eb65d4 in gst_base_src_negotiate (basesrc=0x12b0ab0) at gstbasesrc.c:3387
#12 gst_base_src_loop (pad=0x12a6420) at gstbasesrc.c:2807
#13 0x0000fffff64ea710 in  () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#14 0x0000fffff7347e20 in  () at /lib/aarch64-linux-gnu/libglib-2.0.so.0
#15 0x0000fffff7347484 in  () at /lib/aarch64-linux-gnu/libglib-2.0.so.0
#16 0x0000fffff7e0f624 in start_thread (arg=0xfffff736b8f0) at pthread_create.c:477
#17 0x0000fffff7f0a49c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
(gdb) 

Please help where could it go wrong. My gdb logs above.

thanks

thiesmoeller commented 1 year ago

Hi @arun-kumark,

can you show, which plugin version you are running? e.g. by calling gst-inspect-1.0 pylonsrc | grep -E "Descr.*pylon.*|\s+Version\s+[0-9]+"

Thanks for providing the backtrack. This look like the buffer lifetime issue that we are currently debugging in the new NVMM support code.

Can you, as a quick check, switch back to gst-plugin-pylon https://github.com/basler/gst-plugin-pylon/releases/tag/v0.6.2. This code can't work with NVMM directly, but has the old buffer lifetime management code.

arun-kumark commented 1 year ago

Thanks for further looking this issue. I am on vacations now and will continue on this issue again once i am back. Thanks..