ErrorLaunchFailed when CopyFromDevice a struct

Mar 20 at 3:17 PM
Can't obtain a calculated result as a struct from GPU because of CudafyHostException

struct:
[Cudafy]
    public unsafe struct TriangleGP
    {
        public fixed double XDoubles[3]; //3 points
        public fixed double YDoubles[3]; //3 points
        public fixed double ZDoubles[3]; //3 points
    }
Passing to cudafy:
 CudafyModule km = CudafyModule.TryDeserialize();
               if (km == null || !km.TryVerifyChecksums())
               {
                   km = CudafyTranslator.Cudafy(typeof(PointGPU), typeof(TriangleGP), typeof(VolumeView));
                   km.Serialize();
               }
GPGPU gpu = CudafyHost.CreateDevice(CudafyModes.Target, CudafyModes.DeviceId);
gpu.LoadModule(km);
TriangleGP[] temp_ts = FillTriangles(triangles); // initialize temp_ts
TriangleGP[] result_ts = new TriangleGP[temp_ts.Length];

TriangleGP[] dev_triangles = gpu.Allocate<TriangleGP>();

gpu.CopyToDevice(temp_ts, dev_triangles);

gpu.Launch().Polygonise(dev_triangles, ...);    

gpu.CopyFromDevice<TriangleGP>(dev_triangles, result_ts); 
gpu.FreeAll();
THE PROBLEM:
Cudafy.Host.CudafyHostException was unhandled
  HResult=-2146233088
  Message=CUDA.NET exception: ErrorLaunchFailed.
  Source=Cudafy.NET
  StackTrace:
       in Cudafy.Host.CudaGPU.HandleCUDAException(CUDAException ex)
       in Cudafy.Host.CudaGPU.DoCopyFromDeviceAsync[T](Array devArray, Int32 devOffset, Array hostArray, Int32 hostOffset, Int32 count, Int32 streamId)
       in Cudafy.Host.CudaGPU.DoCopyFromDevice[T](Array devArray, Int32 devOffset, Array hostArray, Int32 hostOffset, Int32 count)
       in Cudafy.Host.CudaGPU.DoCopyFromDevice[T](Array devArray, Array hostArray)