[Insight-developers] NrrdIO missing name magling

Bradley Lowekamp blowekamp at mail.nih.gov
Tue Nov 20 11:06:44 EST 2012


Thanks for letting me know Matt!

I'll just update my suppressions then.

Brad

On Nov 20, 2012, at 10:08 AM, Matt McCormick <matt.mccormick at kitware.com> wrote:

> Hi Brad,
> 
> Gordon found that unnecessary mangles were in itk_NrrdIO_mangle.h, and
> they were purposely removed.
> 
> Thanks,
> Matt
> 
> On Tue, Nov 20, 2012 at 2:47 PM, Bradley Lowekamp
> <blowekamp at mail.nih.gov> wrote:
>> Hello,
>> 
>> I was looking at suppressing some new Valgrind error on SimpleITK (then my
>> new ITK valgrind build), that sprung up after the NrrdIO update:
>> 
>> http://open.cdash.org/viewDynamicAnalysis.php?buildid=2673721
>> 
>> I had these suppressed before. But they came back... Looking at them closer
>> I think it reveals a problem with certain symbols what were mangled before
>> the update, but now are not. For example the following valgrind error:
>> 
>> b>UMC</b> ==27272== Conditional jump or move depends on uninitialised
>> value(s)
>> ==27272==    at 0x1E2C9D27: _nrrdReadNrrdParse_space_directions
>> (parseNrrd.c:550)
>> ==27272==    by 0x1E2D3881: _nrrdFormatNRRD_read (formatNRRD.c:469)
>> ==27272==    by 0x1E2CEB3C: itk__nrrdRead (read.c:441)
>> ==27272==    by 0x1E2CECED: itk_nrrdRead (read.c:482)
>> ==27272==    by 0x1E2CF03D: itk_nrrdLoad (read.c:628)
>> ==27272==    by 0x1E094C2B: itk::NrrdImageIO::ReadImageInformation()
>> (itkNrrdImageIO.cxx:250)
>> ==27272==    by 0x553AE8A:
>> itk::simple::ImageReaderBase::GetImageIOBase(std::string const&amp;)
>> (sitkImageReaderBase.cxx:55)
>> ==27272==    by 0x553AF13:
>> itk::simple::ImageReaderBase::GetPixelIDFromImageIO(std::string const&amp;,
>> int&amp;, unsigned int&amp;) (sitkImageReaderBase.cxx:67)
>> ==27272==    by 0x52C8A93: itk::simple::ImageFileReader::Execute()
>> (sitkImageFileReader.cxx:59)
>> ==27272==    by 0x6E17EF: BasicFilters_ConstantPad_more_Test::TestBody()
>> (sitkConstantPadImageFilterTest.cxx:171)
>> ==27272==    by 0xA518C3: void
>> testing::internal::HandleSehExceptionsInMethodIfSupported&lt;testing::Test,
>> void&gt;(testing::Test*, void (testing::Test::*)(), char const*)
>> (gtest-all.cc:3394)
>> ==27272==    by 0xA4CF0D: void
>> testing::internal::HandleExceptionsInMethodIfSupported&lt;testing::Test,
>> void&gt;(testing::Test*, void (testing::Test::*)(), char const*)
>> (gtest-all.cc:3430)
>> ==27272==    by 0xA3927D: testing::Test::Run() (gtest-all.cc:3466)
>> ==27272==    by 0xA39AB7: testing::TestInfo::Run() (gtest-all.cc:3642)
>> ==27272==    by 0xA3A0E3: testing::TestCase::Run() (gtest-all.cc:3749)
>> ==27272==    by 0xA3F466: testing::internal::UnitTestImpl::RunAllTests()
>> (gtest-all.cc:5541)
>> ==27272==    by 0xA52C38: bool
>> testing::internal::HandleSehExceptionsInMethodIfSupported&lt;testing::internal::UnitTestImpl,
>> bool&gt;(testing::internal::UnitTestImpl*, bool
>> (testing::internal::UnitTestImpl::*)(), char const*) (gtest-all.cc:3394)
>> ==27272==    by 0xA4DC84: bool
>> testing::internal::HandleExceptionsInMethodIfSupported&lt;testing::internal::UnitTestImpl,
>> bool&gt;(testing::internal::UnitTestImpl*, bool
>> (testing::internal::UnitTestImpl::*)(), char const*) (gtest-all.cc:3430)
>> ==27272==    by 0xA3DFF0: testing::UnitTest::Run() (gtest-all.cc:5178)
>> ==27272==    by 0x58C0D4: main (SimpleITKUnitTestDriver.cxx:50)
>> 
>> 
>> 
>> The first two symbols there use to be proceeded with itk. So I don't think
>> they are correctly mangled. The last commit to the file itk_NrrdIO_magle.h
>> reveal a suspiciously large number of symbols being removed:
>> 
>> http://itk.org/gitweb?p=ITK.git;a=commitdiff;h=a264fff5a637a223b54d4e1aaa425411a9cee617#patch36
>> 
>> I am guessing that the mangle perl script was run on OSX, and needs to be
>> also run on linux to be complete. If anyone else know more about this please
>> speak up.
>> 
>> Thanks,
>> Brad
>> 
>> _______________________________________________
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> 
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php
>> 
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>> 



More information about the Insight-developers mailing list