[vtkusers] App crashes unless compiled with debug config (Windows)

Mike Chinander chinander at gmail.com
Sat Sep 3 03:27:00 EDT 2016


Has targetArray been initialized? If not, your program is crashing before
it even tries to execute your loop body the first time.

On Sep 3, 2016 1:54 AM, "Oliver Cairncross" <op.cairncross at gmail.com> wrote:

>

> >

> It will crash when i = 0
>
>
> On 3 Sep 2016 16:10, "Mike Chinander" <chinander at gmail.com> wrote:

>

> >>

>> Is the end condition of your for loop correct? That's the only place
targetArray appears.
>>
>>
>> On Sep 3, 2016 12:49 AM, "Oliver Cairncross" <op.cairncross at gmail.com>
wrote:

>

> >>>

>>> (Oh sorry I'll copy it down)
>>>
>>> What I'm doing is pretty straight forward. I haven't changed the vtk
code at all.
>>>
>>> vtkDirectory * sourceDir = vtkDirectory::New();
>>> sourceDir->Open(sourceString.c_str());
>>> vtkSortFileNames * sourceFiles = vtkSortFileNames::New();
>>> sourceFiles->SkipDirectoriesOn();
>>> sourceFiles->NumericSortOff();
>>> sourceFiles->SetInputFileNames(sourceDir->GetFiles());
>>> sourceFiles->Update();
>>>
>>> for (int i = 0; i < targetArray->GetNumberOfValues(); i++)
>>> {
>>>      string s1 = sourceFiles->GetFileNames()->GetValue(i); // crash!
>>> }
>>>
>>> Thanks
>>> Ollie
>>>
>>> On 3 September 2016 at 00:02, David E DeMarle <dave.demarle at kitware.com>
wrote:

>

> >>>>

>>>> You forgot to reply all to keep the discussion on the mailing list for
posterity.
>>>>
>>>> David E DeMarle
>>>> Kitware, Inc.
>>>> R&D Engineer
>>>> 21 Corporate Drive
>>>> Clifton Park, NY 12065-8662
>>>> Phone: 518-881-4909
>>>>
>>>> On Fri, Sep 2, 2016 at 2:17 AM, Oliver Cairncross <
op.cairncross at gmail.com> wrote:

>

> >>>>>

>>>>> What I'm doing is pretty straight forward. I haven't changed the vtk
code at all.
>>>>>
>>>>> vtkDirectory * sourceDir = vtkDirectory::New();
>>>>> sourceDir->Open(sourceString.c_str());
>>>>> vtkSortFileNames * sourceFiles = vtkSortFileNames::New();
>>>>> sourceFiles->SkipDirectoriesOn();
>>>>> sourceFiles->NumericSortOff();
>>>>> sourceFiles->SetInputFileNames(sourceDir->GetFiles());
>>>>> sourceFiles->Update();
>>>>>
>>>>> for (int i = 0; i < targetArray->GetNumberOfValues(); i++)
>>>>> {
>>>>>      string s1 = sourceFiles->GetFileNames()->GetValue(i); // crash!
>>>>> }
>>>>>
>>>>> Thanks
>>>>> Ollie
>>>>>
>>>>> On 2 September 2016 at 13:45, David E DeMarle <
dave.demarle at kitware.com> wrote:

>

> >>>>>>

>>>>>> Whatever your sourceFiles->GetFileNames object has uninitialized
pointers.
>>>>>>
>>>>>> Debug mode initializes all values to 0, release does not (in order
to save run time), but this leaves you with some pointer pointing to
nonsense.
>>>>>>
>>>>>>
>>>>>>
>>>>>> David E DeMarle
>>>>>> Kitware, Inc.
>>>>>> R&D Engineer
>>>>>> 21 Corporate Drive
>>>>>> Clifton Park, NY 12065-8662
>>>>>> Phone: 518-881-4909
>>>>>>
>>>>>> On Thu, Sep 1, 2016 at 11:32 PM, Oliver Cairncross <
op.cairncross at gmail.com> wrote:

>

> >>>>>>>

>>>>>>> Hi,
>>>>>>>
>>>>>>> vtk 7, msvc 14, windows 10
>>>>>>>
>>>>>>> I've had this problem before and thought it was something bad in my
tool chain. But I've rebuild everything from scratch and it's still a
problem.
>>>>>>>
>>>>>>> If I do something simple like
>>>>>>>
>>>>>>> string s1 = sourceFiles->GetFileNames()->GetValue(i);
>>>>>>>
>>>>>>> it runs fine in debug mode. When I compile in RelwithDebInfo it
crashes with a bad allocation.
>>>>>>> When I have a look at the object the there is garbage where the
string is supposed to be. As if it hasn't been initialised. I am calling an
 sourceFiles->Update() beforehand.
>>>>>>>
>>>>>>> Interestingly if I do
>>>>>>>
>>>>>>> cout << sourceFiles->GetFileNames()->GetValue(i);
>>>>>>> string s1 = sourceFiles->GetFileNames()->GetValue(i);
>>>>>>>
>>>>>>> it will print to console and then crash on the next line.
>>>>>>>
>>>>>>> Is anyone else having this problem?
>>>>>>>
>>>>>>> Cheers
>>>>>>> ollie
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Powered by www.kitware.com
>>>>>>>
>>>>>>> Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
>>>>>>>
>>>>>>> Please keep messages on-topic and check the VTK FAQ at:
http://www.vtk.org/Wiki/VTK_FAQ
>>>>>>>
>>>>>>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>>>>>>
>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>> http://public.kitware.com/mailman/listinfo/vtkusers
<http://public.kitware.com/mailman/listinfo/vtkusers>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at:
http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://public.kitware.com/mailman/listinfo/vtkusers
<http://public.kitware.com/mailman/listinfo/vtkusers>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160903/29f33e57/attachment.html>


More information about the vtkusers mailing list