<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    We're facing some runtime crashes using Vtk static library.<br>
    <br>
    Our configuration is:<br>
    <br>
    vtk version: 7.1.0<br>
    OS: Windows 10 64 bit<br>
    Compiler: msvc 2015 update 2<br>
    CMAKE flags:  CMAKE_CXX_FLAGS_DEBUG = "/D_DEBUG /MDd /Zi /Od"<br>
    BUILD_SHARED_LIBS = "Off"<br>
    <br>
    The callstack always is:<br>
    <br>
    ntdll!RtlpBreakPointHeap+0x16<br>
    ntdll!RtlpValidateHeapEntry+0x50752<br>
    ntdll!RtlValidateHeap+0x9f<br>
    KERNELBASE!HeapValidate+0xa<br>
    ucrtbased!CrtIsValidHeapPointer+0x31<br>
    ucrtbased!calloc_base+0xa19<br>
    ucrtbased!free_dbg+0x55<br>
    CN_Graphicsd!odrxFree+0x2e<br>
    CN_Graphicsd!operator delete[]+0x32<br>
    CN_Graphicsd!vtkFieldData::BasicIterator::~BasicIterator+0x30<br>
    CN_Graphicsd!vtkDataSetAttributes::ComputeRequiredArrays+0x4ef<br>
    CN_Graphicsd!vtkDataSetAttributes::PassData+0x59<br>
    CN_Graphicsd!vtkTriangleFilter::RequestData+0xc8f<br>
    CN_Graphicsd!vtkPolyDataAlgorithm::ProcessRequest+0x50<br>
    CN_Graphicsd!vtkExecutive::CallAlgorithm+0xa7<br>
    CN_Graphicsd!vtkDemandDrivenPipeline::ExecuteData+0x67<br>
    CN_Graphicsd!vtkCompositeDataPipeline::ExecuteData+0x414<br>
    CN_Graphicsd!vtkDemandDrivenPipeline::ProcessRequest+0x38f<br>
    CN_Graphicsd!vtkStreamingDemandDrivenPipeline::ProcessRequest+0x8e1<br>
    CN_Graphicsd!vtkDemandDrivenPipeline::UpdateData+0x2d9<br>
    <br>
    where CN_Graphics is the name of our internal library.<br>
    <p>Error output is:</p>
    <p>HEAP[ProgramName.exe]: Invalid address specified to
      RtlValidateHeap( 000001A836E40000, 00007FFB9395AE88 )<br>
      (4b50.47b8): Break instruction exception - code 80000003 (first
      chance)<br>
    </p>
    <br>
    We tested the following solution changing the source file
    vtkFieldData.cxx:<br>
    <br>
    **Common/DataModel/vtkFieldData.cxx** : *Line 159*<br>
    <br>
    vtkFieldData::BasicIterator::~BasicIterator()<br>
    {<br>
      if (this->List && this->ListSize > 0) // <-
    delete list if and only if it's initialized<br>
      {<br>
        delete[] this->List;<br>
      }<br>
    <br>
      this->List = 0;<br>
    }<br>
    <br>
    <br>
    Curiously, this odd behaviour only occurs when vtk is linked
    statically. It seem that our proposed solution works fine, but we're
    not completely sure.<br>
    <br>
    Thanks in advance.<br>
    <br>
    <div class="moz-signature">-- <br>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>firma_civilnova</title>
      <br>
      <hr size="2" width="100%">
      <br>
      <i><b>Jorge Vigil Iglesias</b></i><br>
      <small><b>Ingeniero de Minas</b><br>
        <b>T:</b>    +34 661973672<br>
        <b>F:</b>    +34 984086393<br>
        <b>E:</b>     <a
          href="mailto:jorge.vigil@civilnova.com?Subject=Respuesta">jorge.vigil@civilnova.com</a><br>
        <b>W: </b>  <a href="www.civilnova.com">www.civilnova.com</a></small><br>
      <br>
      <img alt="Logo CivilNova"
        src="cid:part3.ABC846A6.A4C866B3@civilnova.com" height="50"
        width="200">
      <p><a href="https://www.facebook.com/civilnova.software?ref=hl"><img
            src="cid:part4.4214A4AB.3917E7FE@civilnova.com" alt=""
            height="28" width="28"></a> <a
          href="https://twitter.com/CivilNova_tweet"><img
            src="cid:part6.F0F715E2.914DC0FC@civilnova.com" alt=""
            height="28" width="28"></a> <a
          href="https://www.youtube.com/channel/UCfH8XW77IhdTOoYIlGtqZ3A"><img
            src="cid:part8.0D6A63F3.03837E40@civilnova.com" alt=""
            height="28" width="28"></a> <a
href="https://www.linkedin.com/profile/view?id=99512847&trk=nav_responsive_tab_profile"><img
            src="cid:part10.CA68D23F.54DF486F@civilnova.com" alt=""
            height="28" width="28"></a> <img alt="Logo CivilNova"
          src="cid:part12.5DC95110.433E6948@civilnova.com" height="32"
          width="100"> <br>
        <br>
        <b><span style="font-size:9.0pt;color:black;background:white">Aviso
            legal:</span></b><span
          style="font-size:9.0pt;color:black;background:white"> Este
          mensaje y los documentos que, en su caso, lleve anexos,
          contienen información privada y confidencial y está dirigida
          únicamente a su destinatario, según lo dispuesto en la Ley
          Orgánica 15/99 de Protección de Datos. Si usted no es el
          destinatario original de este mensaje y por este medio pudo
          acceder a dicha información por favor elimine el mensaje y
          comuníquenoslo por la misma vía. La distribución o copia de
          este mensaje está estrictamente prohibida. La transmisión de
          e-mails no garantiza que el correo electrónico sea seguro o
          libre de error. Por consiguiente, no manifestamos que esta
          información sea completa o precisa.</span><br>
        <br>
        <br>
      </p>
    </div>
  </body>
</html>