[ITK] Win64 Visual Studio 12 segfaults

Niels Dekker niels-xtk at xs4all.nl
Mon Jan 19 12:21:26 EST 2015


FYI, I have just submitted a bug report to Microsoft on the internal
compiler errors that are triggered by setting ITK_USE_64BITS_IDS on VS2013
+ Win64: "[C/C++] VS2013 x64 Release (/O2) fatal error C1001 on narrowing
integer conversions during array iteration: internal compiler error",
https://connect.microsoft.com/VisualStudio/feedbackdetail/view/1093610

Note that for ITK, the internal compiler errors can be avoided by simply
changing the parameter type of the two operator[] overloads in
"vnl/vnl_vector.h", from 'unsigned int' to 'size_t'.

Kind regards, Niels

On 2015-01-14 14:20, Bradley Lowekamp wrote:
> Yes, I'll add the 64BIT flags to that build.
>
> Brad
> On Jan 14, 2015, at 7:42 AM, Floris Berendsen <floris at isi.uu.nl> wrote:
>
>> Unfortunately I ran into more problems with the VS2013 compiler. If I
>> set ITK_USE_64BITS_IDS to ON the compiler crashes while building
>> Release.
>>
>> Could this setting be added to the setup of lhcp-vm-win701.nlm on CDash,
>> since I think this configuration is preferable for 64bits?
>>
>> The compiler crash is related to a typecast of a 64bits id to an
>> unsigned int. We are working on a next minimal example.
>>
>> In case of ITK, this (implicit) typecast is performed when calling the
>> vnl-library, since it uses unsigned ints for indexing vectors.
>> This raises the next question if vnl is suitable for 64bits at all,
>> since it looks like it is limited to 32 bit.
>>
>> Cheers,
>> Floris
>>
>> On Wed, Jan 14, 2015 at 12:56 PM, Niels Dekker <niels-xtk at xs4all.nl>
>> wrote:
>> Bradley Lowekamp wrote on Jan 13, 2015:
>> Wow, very nice! Thanks for the clear commit message too.
>>
>> You're welcome  :-)
>>
>>
>> Here is the latest dashboard build:
>> https://open.cdash.org/buildSummary.php?buildid=3650940
>> Way to squash 104 failing tests! One left though :)
>>
>> Cool!  Do you have a clue how fix the one test failure that is left? I
>> see it's a failure of CellularSegmentation1Test.
>>
>>
>> With all this being done, I am still not sure I would trust
>> this compiler to generate correct code with ITK.
>>
>> I really hope so!  Visual Studio 2013 has had four updates already,
>> including many compiler bug fixes. VS2013 offers many Standard C++
>> language features that were not available in previous versions of Visual
>> C++, including:
>>
>>   * Initializer lists
>>   * Variadic templates
>>   * Delegating constructors
>>   * Raw string literals
>>   * 'using' aliases
>>   * Deleted functions ('=delete')
>>   * Defaulted functions ('=default')
>>   * Non-static data member initializers
>>
>> A longer list is at "What's New for Visual C++ in Visual Studio 2013",
>> http://msdn.microsoft.com/en-us/library/hh409293.aspx
>>
>>
>> Kind regards, Niels




More information about the Community mailing list