The issue has not been resolved.
Steps to reproduce:
1. Update Aspose Imaging to 16.12.0 in previously uploaded sample (also updated/attached for your convenience).
2. Repeat execution of tests until there is a failure (race condition).
The below exception/stack trace is produced:
System.AggregateException : One or more errors occurred.
----> Aspose.Imaging.CoreExceptions.ImageSaveException : Image export failed.
----> Aspose.Imaging.CoreExceptions.FrameworkException : Object reference not set to an instance of an object.
----> System.NullReferenceException : Object reference not set to an instance of an object.
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
at AsposeThreadBug.AsposeImaging.MultipleThreads() in C:\AsposeThreadBug\AsposeThreadBug\AsposeImaging.cs:line 41
--ImageSaveException
at Aspose.Imaging.Image.Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
at Aspose.Imaging.Image.Save(Stream stream, ImageOptionsBase optionsBase)
at AsposeThreadBug.AsposeImaging.SaveFramesFromTiff(String resourceName) in C:\AsposeThreadBug\AsposeThreadBug\AsposeImaging.cs:line 55
at AsposeThreadBug.AsposeImaging.b__1_1() in C:\AsposeThreadBug\AsposeThreadBug\AsposeImaging.cs:line 23
at AsposeThreadBug.AsposeImaging.<>c.b__3_0(Action action) in C:\AsposeThreadBug\AsposeThreadBug\AsposeImaging.cs:line 41
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )
--FrameworkException
at \u0006 .\u0002(Int32 \u0002)
at \u0002 .\u0002(\u0005 \u0002, Rectangle \u0003, Int32 \u0005, Int32 \u0008, Int32 \u0006, Boolean \u000e)
at \u0002 .\u0002(Int32 \u0002, Int32 \u0003, Int32 \u0005, Rectangle \u0008)
at \u0006 .\u000f \u0002(Rectangle \u0002)
at \u0006 .LoadRawData(Rectangle \u0002, RawDataSettings \u0003, IPartialRawDataLoader \u0005)
at \u0006 .LoadPartialArgb32Pixels(Rectangle \u0002, IPartialArgb32PixelLoader \u0003)
at \u000f .\u0002.\u000f \u0002(Rectangle \u0002)
at \u0008 .\u0002(\u000f \u0002, IList`1 \u0003)
at \u0008 .\u0002(Rectangle \u0002, \u000f \u0003, \u0002 \u0005, Int32 \u0008, Int32 \u0006)
at \u000f .\u0003 \u0002(TiffStreamReader \u0002, Rectangle \u0003, IPartialArgb32PixelLoader \u0005)
at \u000f .LoadPartialArgb32Pixels(Rectangle \u0002, IPartialArgb32PixelLoader \u0003)
at Aspose.Imaging.RasterImage.\u0008.\u000f \u0002(Rectangle \u0002)
at \u0008 .\u0002(\u000f \u0002, IList`1 \u0003)
at \u0008 .\u0002(Rectangle \u0002, \u000f \u0003, \u0002 \u0005, Int32 \u0008, Int32 \u0006)
at Aspose.Imaging.RasterImage.\u0002(Rectangle \u0002, Int32[] \u0003, Boolean \u0005, IPartialArgb32PixelLoader \u0008)
at Aspose.Imaging.RasterImage.\u0002(Rectangle \u0002, Boolean \u0003, IPartialArgb32PixelLoader \u0005)
at Aspose.Imaging.RasterImage.LoadPartialArgb32Pixels(Rectangle desiredRectangle, IPartialArgb32PixelLoader pixelLoader)
at Aspose.Imaging.FileFormats.Bmp.BmpImage.\u0002.\u000f \u0002(Rectangle \u0002)
at \u0008 .\u0002(\u0002 \u0002, IList`1 \u0003)
at \u0008 .\u0002(Rectangle \u0002, \u000f \u0003, \u0002 \u0005, Int32 \u0008, Int32 \u0006)
at Aspose.Imaging.FileFormats.Bmp.BmpImage.\u0002(RasterImage \u0002, StreamContainer \u0003, \u0006 \u0005, IColorPalette \u0008, Rectangle \u0006)
at \u0005 .Export(Image \u0002, Stream \u0003, ImageOptionsBase \u0005, Rectangle \u0008)
at Aspose.Imaging.Image.Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
--NullReferenceException
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at \u0003 .\u0002(IObjectWithBounds \u0002)
at Aspose.Imaging.RasterImage.\u000f.Process(Rectangle \u0002, Int32[] \u0003, Point \u0005, Point \u0008)
at \u000f .\u0002.\u0002.Process(Rectangle \u0002, Int32[] \u0003, Point \u0005, Point \u0008)
at \u0008 .Process(Rectangle \u0002, Byte[] \u0003, Point \u0005, Point \u0008)
at \u0006 .\u0002(Byte[][] \u0002)
at \u0006 .\u0002(Int32 \u0002)