Azure-kinect-sensor-sdk: When the KinectDK ran long time more than 3 days, it is going to be dead.

Created on 17 Feb 2020  ยท  3Comments  ยท  Source: microsoft/Azure-Kinect-Sensor-SDK

I've tested KinectDK long time stability while 3 days. and KinectDK is dead at 3rd day.
I got this error message on WinEvent Viewer
error logs ==>
์„ค๋ช…: ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ ์˜ˆ์™ธ๋กœ ์ธํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ์™ธ ์ •๋ณด:System.NullReferenceException
์œ„์น˜: Microsoft.Azure.Kinect.Sensor.LargeArrayPool.Rent(Int32)
์œ„์น˜: Microsoft.Azure.Kinect.Sensor.Allocator.AllocateFunction(Int32, IntPtr ByRef)

translate ==>
Description:The process was terminated due to an unhandled exception
Exception Info:System.NullReferenceException
at: Microsoft.Azure.Kinect.Sensor.LargeArrayPool.Rent(Int32)
at: Microsoft.Azure.Kinect.Sensor.Allocator.AllocateFunction(Int32, IntPtr ByRef)

I checked Issues. but i doesn't helpful for me..
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/754
is there the way of avoiding errors?? or should I wait updated SDK??

the test Code is below.

Test Code is C#.
==> get data part.

        Capture capture;
        while (m_runflag)
        {
            try
            {
                capture = device.GetCapture();

                DateTime StartDate = DateTime.Now;

                depth = capture.Depth.GetPixels<short>().ToArray();
                activeIR = capture.IR.GetPixels<short>().ToArray();
                if (depth != null && activeIR != null)
                {
                    IRDeviceData iRDeviceData = new IRDeviceData();
                    iRDeviceData.frameTime = StartDate;
                    iRDeviceData.depth = new short[depth.Length];
                    iRDeviceData.activeIR = new short[activeIR.Length];

                    Array.Copy(depth, iRDeviceData.depth, depth.Length);
                    Array.Copy(activeIR, iRDeviceData.activeIR, activeIR.Length);

                    IRDeviceDataCQ.Enqueue(iRDeviceData);
                }
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("{0}", ex);
                logger.ErrorFormat("{0}", ex.Message);
            }
            Thread.Sleep(1);
        }

==> processing data part

    while (m_runflag)
        {
            try
            {
                if(IRDeviceDataCQ.IsEmpty == true)
                {
                    Thread.Sleep(1);
                    continue;
                }

                IRDeviceData iRDeviceData;

                if(IRDeviceDataCQ.TryDequeue(out iRDeviceData) == false)
                {
                    Thread.Sleep(1);
                    continue;
                }
                //Do something.....

            }
            catch (Exception ex)
            {
                logger.ErrorFormat("{0}", ex);
                logger.ErrorFormat("{0}", ex.Message);
            }
        }

PC
OS : windows 10 enterprise 2016 LTSB 64bit
CPU : intel i7-4500U cpu @ 1.80GHz 2.40 GHz
RAM : 8 GB
GPU : Intel HD4600

SDK : 1.3.0

Bug CSharp More Info Needed Windows

Most helpful comment

Is there a new SDK installer with this fix included available?

Hopefully in the next week or 2

All 3 comments

I'm having the same issue: NullReferenceException on LargeArrayPool. Seems like the issue has been fixed, but the SDK hasn't been updated. Is there a new SDK installer with this fix included available?

I'm having the same issue: NullReferenceException on LargeArrayPool. Seems like the issue has been fixed, but the SDK hasn't been updated. Is there a new SDK installer with this fix included available?

good to know~ thanks~
I can wait a new SDK Installer

Is there a new SDK installer with this fix included available?

Hopefully in the next week or 2

Was this page helpful?
0 / 5 - 0 ratings

Related issues

UnaNancyOwen picture UnaNancyOwen  ยท  3Comments

rfilkov picture rfilkov  ยท  3Comments

szi picture szi  ยท  4Comments

d-walsh picture d-walsh  ยท  3Comments

virtusense-trisha picture virtusense-trisha  ยท  4Comments