← Back to team overview

hugin-devs team mailing list archive

[Bug 1467678] Re: nona segfaults with PNG and TIFF output

 

Here's a better stacktrace:

Core was generated by `nona -i 0 -m TIFF -o junk DSC_0251 - DSC_0254.pto'.
Program terminated with signal SIGSEGV, Segmentation fault.

Thread 1 (Thread 0x7ff2da3e5900 (LWP 11921)):
#0  operator() (v=@0x0: <error reading variable>, this=<synthetic pointer>) at /usr/include/vigra/inspectimage.hxx:1043
No locals.
#1  inspectLine<vigra::IteratorAdaptor<vigra::Diff2DConstRowIteratorPolicy<vigra::Diff2D> >, vigra::VectorElementAccessor<vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char>, vigra::RGBValue<unsigned char>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > >, vigra::FindMinMax<unsigned char> > (f=<synthetic pointer>, send=..., s=..., src=...) at /usr/include/vigra/inspectimage.hxx:71
No locals.
#2  operator()<vigra::FindMinMax<unsigned char> > (f=<synthetic pointer>, this=<optimized out>) at /usr/include/vigra/inspectimage.hxx:225
        t = {x = <optimized out>, y = 0}
        w = 8536
#3  extra_passes_select<vigra::inspectImage_binder<vigra::Diff2D, vigra::VectorElementAccessor<vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char>, vigra::RGBValue<unsigned char>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > > >, vigra::FindMinMax<unsigned char> > (f=<synthetic pointer>, g=...) at /usr/include/vigra/inspector_passes.hxx:71
No locals.
#4  inspectImage<vigra::Diff2D, vigra::VectorElementAccessor<vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char>, vigra::RGBValue<unsigned char>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > >, vigra::FindMinMax<unsigned char> > (
    f=<synthetic pointer>, a=..., lowerright=..., upperleft=...) at /usr/include/vigra/inspectimage.hxx:236
No locals.
#5  find_value_range<vigra::Diff2D, vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char>, vigra::RGBValue<unsigned char>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > > (lower_right=..., upper_left=..., accessor=...)
    at /usr/include/vigra/impexbase.hxx:164
        i = 0
        extrema = {min = 255 '\377', max = 0 '\000', count = 0}
#6  find_source_value_range<vigra::Diff2D, vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char>, vigra::RGBValue<unsigned char>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > > (lower_right=..., upper_left=..., export_info=..., accessor=...)
    at /usr/include/vigra/impexbase.hxx:185
        range = <optimized out>
#7  vigra::detail::exportImage<vigra::Diff2D, vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > > (image_upper_left=..., 
    image_lower_right=..., image_accessor=..., export_info=...) at /usr/include/vigra/impex.hxx:550
        encoder = std::unique_ptr<vigra::Encoder> containing 0x22f6330
        pixel_type = "UINT8"
        downcast = false
        type = vigra::UNSIGNED_INT_8
        image_source_range = <optimized out>
        destination_range = <optimized out>
#8  0x00007ff2d9d675da in exportImage<vigra::Diff2D, vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char>, vigra::RGBValue<unsigned char>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > > (export_info=..., image_accessor=..., image_lower_right=..., 
    image_upper_left=...) at /usr/include/vigra/impex.hxx:972
No locals.
#9  vigra::exportImageAlpha<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > (info=..., image=..., alpha=...)
    at /usr/src/debug/hugin-2015.0.0/src/hugin_base/vigra_ext/impexalpha.hxx:394
No locals.
#10 0x00007ff2d9d8e122 in exportImageAlpha<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char>, vigra::RGBValue<unsigned char>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > (info=..., image=..., alpha=...) at /usr/src/debug/hugin-2015.0.0/src/hugin_base/vigra_ext/impexalpha.hxx:417
No locals.
#11 HuginBase::Nona::WeightedStitcher<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, vigra::BasicImage<unsigned char, std::allocator<unsigned char> > >::stitch (this=this@entry=0x7ffe0380e770, 
Python Exception <class 'ValueError'> Cannot find type const HuginBase::Nona::AdvancedOptions::_Rep_type: 
    opts=..., imgSet=std::set with 1 elements = {...}, filename="junk", remapper=..., advOptions=std::map with 0 elements)
    at /usr/src/debug/hugin-2015.0.0/src/hugin_base/nona/Stitcher.h:614
        basename = "junk"
        pano = {data_ = 0x7ff2c9f04010, lines_ = 0x22e0f20, width_ = 8536, height_ = 4268, 
          allocator_ = {<__gnu_cxx::new_allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >> = {<No data fields>}, <No data fields>}, 
          pallocator_ = {<__gnu_cxx::new_allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>*>> = {<No data fields>}, <No data fields>}}
        panoMask = {data_ = 0x7ff2c7c45010 '\377' <repeats 200 times>..., lines_ = 0x22f73c0, width_ = 8536, height_ = 4268, 
          allocator_ = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, 
          pallocator_ = {<__gnu_cxx::new_allocator<unsigned char*>> = {<No data fields>}, <No data fields>}}
        ext = "tif"
        cext = ""
        outputfile = "junk.tif"
        exinfo = {m_filename = "junk.tif", m_filetype = "", m_pixeltype = "UINT8", m_comp = "NONE", m_mode = "w", m_x_res = 150, 
          m_y_res = 150, m_pos = {x = 0, y = 0}, m_icc_profile = {<vigra::ArrayVectorView<unsigned char>> = {size_ = 0, 
              data_ = 0x22ef160 ""}, capacity_ = 2, 
            alloc_ = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}}, 
          m_canvas_size = {<vigra::Diff2D> = {x = 8536, y = 4268}, <No data fields>}, fromMin_ = 0, fromMax_ = 0, toMin_ = 0, toMax_ = 0}
#12 0x00007ff2d9d681b9 in stitchPanoIntern<vigra::BasicImage<vigra::RGBValue<unsigned char> >, vigra::BasicImage<unsigned char> > (
Python Exception <class 'ValueError'> Cannot find type const HuginBase::Nona::AdvancedOptions::_Rep_type: 
    advOptions=std::map with 0 elements, 
    imgs=std::set with 140728957200240 elements<error reading variable: Cannot access memory at address 0x18>, basename="junk", 
    progress=0x7ff2d8869d50, opts=..., pano=...) at /usr/src/debug/hugin-2015.0.0/src/hugin_base/nona/Stitcher.h:1030
        stitcher = {<HuginBase::Nona::Stitcher<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, vigra::BasicImage<unsigned char, std::allocator<unsigned char> > >> = {
            _vptr.Stitcher = 0x7ff2da1c6598 <vtable for HuginBase::Nona::WeightedStitcher<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, vigra::BasicImage<unsigned char, std::allocator<unsigned char> > >+16>, m_pano = @0x7ffe038103d0, m_progress = 0x22dad90, m_images = std::set with 1 elements = {[0] = 0}, 
            m_rois = std::vector of length 1, capacity 1 = {{upperLeft_ = {<vigra::Diff2D> = {x = 0, y = 0}, <No data fields>}, 
                lowerRight_ = {<vigra::Diff2D> = {x = 8536, y = 3557}, <No data fields>}}}}, 
          iccProfile = {<vigra::ArrayVectorView<unsigned char>> = {size_ = 0, data_ = 0x22de4e0 "\340\337.\002"}, capacity_ = 2, 
            alloc_ = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}}, m_panoROI = {
            upperLeft_ = {<vigra::Diff2D> = {x = 0, y = 0}, <No data fields>}, lowerRight_ = {<vigra::Diff2D> = {x = 8536, 
                y = 4268}, <No data fields>}}}
        m = {<HuginBase::Nona::SingleImageRemapper<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, vigra::BasicImage<unsigned char, std::allocator<unsigned char> > >> = {
            _vptr.SingleImageRemapper = 0x7ff2da1c64f8 <vtable for HuginBase::Nona::FileRemapper<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, vigra::BasicImage<unsigned char, std::allocator<unsigned char> > >+16>}, m_remapped = 0x22e9490}
Python Exception <class 'ValueError'> Cannot find type const HuginBase::UIntSet::_Rep_type: 
#13 HuginBase::Nona::stitchPanoRGB_8_16 (pano=..., opts=..., progress=progress@entry=0x22dad90, basename="junk", 
Python Exception <class 'ValueError'> Cannot find type const HuginBase::Nona::AdvancedOptions::_Rep_type: 
    usedImgs=std::set with 1 elements, pixelType=<optimized out>, advOptions=std::map with 0 elements)
    at /usr/src/debug/hugin-2015.0.0/src/hugin_base/nona/Stitcher3.cpp:40
No locals.
Python Exception <class 'ValueError'> Cannot find type const HuginBase::UIntSet::_Rep_type: 
#14 0x00007ff2d9ea2c6a in HuginBase::Nona::stitchPanorama (pano=..., opt=..., progress=0x22dad90, basename="junk", 
Python Exception <class 'ValueError'> Cannot find type const HuginBase::Nona::AdvancedOptions::_Rep_type: 
    usedImgs=std::set with 1 elements, advOptions=std::map with 0 elements)
    at /usr/src/debug/hugin-2015.0.0/src/hugin_base/nona/Stitcher.cpp:130
        imgNr = <optimized out>
        fname = "DSC_0251.JPG"
        info = {m_filename = "DSC_0251.JPG", m_filetype = "JPEG", m_pixeltype = "UINT8", m_width = 3872, m_height = 2592, m_num_bands = 3, 
          m_num_extra_bands = 0, m_num_images = 1, m_image_index = 0, m_x_res = 0, m_y_res = 0, m_pos = {x = 0, y = 0}, 
          m_canvas_size = {<vigra::Diff2D> = {x = 3872, y = 2592}, <No data fields>}, 
          m_icc_profile = {<vigra::ArrayVectorView<unsigned char>> = {size_ = 0, data_ = 0x22dbc10 "\300\275-\002"}, capacity_ = 2, 
            alloc_ = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}}}
        pixelType = "UINT8"
        bands = 3
        extraBands = 0
        opts = {_vptr.PanoramaOptions = 0x409f78 <vtable for HuginBase::PanoramaOptions+16>, outfile = "panorama", 
          outputFormat = HuginBase::PanoramaOptions::TIFF, quality = 90, tiffCompression = "NONE", tiff_saveROI = true, 
          colorCorrection = HuginBase::PanoramaOptions::NONE, colorReferenceImage = 0, gamma = 1, interpolator = vigra_ext::INTERP_CUBIC, 
          optimizeReferenceImage = 0, remapAcceleration = HuginBase::PanoramaOptions::MAX_SPEEDUP, 
          blendMode = HuginBase::PanoramaOptions::ENBLEND_BLEND, hdrMergeMode = HuginBase::PanoramaOptions::HDRMERGE_AVERAGE, 
          remapper = HuginBase::PanoramaOptions::NONA, remapUsingGPU = false, saveCoordImgs = false, huberSigma = 2, 
          photometricHuberSigma = 0.0078431372549019607, photometricSymmetricError = 0, 
          outputMode = HuginBase::PanoramaOptions::OUTPUT_LDR, outputLDRBlended = true, outputLDRLayers = false, 
          outputLDRExposureRemapped = false, outputLDRExposureLayers = false, outputLDRExposureLayersFused = false, 
          outputLDRStacks = false, outputLDRExposureBlended = false, outputHDRBlended = false, outputHDRLayers = false, 
          outputHDRStacks = false, outputLayersCompression = "LZW", outputImageType = "tif", outputImageTypeCompression = "NONE", 
          outputImageTypeHDR = "exr", outputImageTypeHDRCompression = "LZW", enblendOptions = "", enfuseOptions = "", 
          hdrmergeOptions = "-m avg -c", outputExposureValue = 14.334300000000001, 
          outputEMoRParams = std::vector of length 5, capacity 5 = {-0.291898429, -2.63457775, 0.0954007357, -0.417355895, 0.142940298}, 
          outputPixelType = "UINT8", outputStacksMinOverlap = 0.69999999999999996, outputLayersExposureDiff = 0.5, m_projFeatures = {
            projection = 2, internalFormat = 4, maxVFOV = 180, maxHFOV = 360, name = 0x7ff2d940e04f "Equirectangular", 
            numberOfParameters = 0, parm = {{minValue = 0, maxValue = 0, defValue = 0, name = 0x0}, {minValue = 0, maxValue = 0, 
                defValue = 0, name = 0x0}, {minValue = 0, maxValue = 0, defValue = 0, name = 0x0}, {minValue = 0, maxValue = 0, 
                defValue = 0, name = 0x0}, {minValue = 0, maxValue = 0, defValue = 0, name = 0x0}, {minValue = 0, maxValue = 0, 
                defValue = 0, name = 0x0}}}, static fileformatNames = 0x7ff2da202f40 <HuginBase::PanoramaOptions::fileformatNames>, 
          static fileformatExt = <same as static member of an already seen type>, m_hfov = 360, m_vfov = 6.952934313491903e-310, 
          m_projectionFormat = HuginBase::PanoramaOptions::EQUIRECTANGULAR, m_projectionParams = std::vector of length 0, capacity 0, 
          m_size = {<vigra::Diff2D> = {x = 8536, y = 4268}, <No data fields>}, m_roi = {upperLeft_ = {<vigra::Diff2D> = {x = 0, 
                y = 0}, <No data fields>}, lowerRight_ = {<vigra::Diff2D> = {x = 8536, y = 4268}, <No data fields>}}}
        __func__ = "stitchPanorama"
#15 0x00007ff2d9b37c0e in HuginBase::NonaFileOutputStitcher::runStitcher (this=0x7ffe03810110)
    at /usr/src/debug/hugin-2015.0.0/src/hugin_base/algorithms/nona/NonaFileStitcher.cpp:48
No locals.
#16 0x0000000000404d27 in run (this=0x7ffe03810110) at /usr/src/debug/hugin-2015.0.0/src/hugin_base/algorithms/PanoramaAlgorithm.h:73
No locals.
#17 main (argc=8, argv=<optimized out>) at /usr/src/debug/hugin-2015.0.0/src/tools/nona.cpp:480

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Hugin.
https://bugs.launchpad.net/bugs/1467678

Title:
  nona segfaults with PNG and TIFF output

Status in Hugin - Panorama Tools GUI:
  New

Bug description:
  System: fedora f22 x86_64
  hugin 2015.0.0 rc1 c48252eb571f
  libtiff-4.0.3
  libpng-1.6.16
  libjpeg-turbo-1.4.0
  vigra-1.10.0

  I'm getting a segfault from nona with PNG and TIFF output, JPEG is
  fine.

  This is a simple single image project with JPEG input:

    nona -i 0 -m TIFF  -o junk project.pto
    Segmentation fault (core dumped)

  Result is the same with or without -m parameter and with multiple photo projects.
  OMP_NUM_THREADS=1 doesn't help. I don't have a suitable GPU so I can't test that.

  Thread 1 (Thread 0x7f100c213900 (LWP 3761)):
  #0  0x00007f100bbabbc8 in void vigra::detail::exportImage<vigra::Diff2D, vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> > >(vigra::Diff2D, vigra::Diff2D, vigra::MultiImageVectorMaskAccessor4<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> >, vigra::ImageExportInfo const&, vigra::VigraFalseType)
      () from /usr/lib64/hugin/libhuginbase.so.0.0
  No symbol table info available.
  #1  0x00007f100bb9760a in void vigra::exportImageAlpha<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >, vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> >(vigra::triple<vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>, vigra::ConstBasicImageIterator<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>, vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, std::pair<vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char> >, vigra::ImageExportInfo const&, vigra::VigraFalseType) [clone .isra.915] [clone .constprop.1312] () from /usr/lib64/hugin/libhuginbase.so.0.0
  No symbol table info available.
  #2  0x00007f100bbbe152 in HuginBase::Nona::WeightedStitcher<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, vigra::BasicImage<unsigned char, std::allocator<unsigned char> > >::stitch(HuginBase::PanoramaOptions const&, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&, std::string const&, HuginBase::Nona::SingleImageRemapper<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >, vigra::BasicImage<unsigned char, std::allocator<unsigned char> > >&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&) () from /usr/lib64/hugin/libhuginbase.so.0.0
  No symbol table info available.
  #3  0x00007f100bb981e9 in HuginBase::Nona::stitchPanoRGB_8_16(HuginBase::PanoramaData const&, HuginBase::PanoramaOptions const&, AppBase::ProgressDisplay*, std::string const&, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > const&, char const*, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&) ()
     from /usr/lib64/hugin/libhuginbase.so.0.0
  No symbol table info available.
  #4  0x00007f100bcd2c9a in HuginBase::Nona::stitchPanorama(HuginBase::PanoramaData const&, HuginBase::PanoramaOptions const&, AppBase::ProgressDisplay*, std::string const&, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&) ()
     from /usr/lib64/hugin/libhuginbase.so.0.0
  No symbol table info available.
  #5  0x00007f100b967c0e in HuginBase::NonaFileOutputStitcher::runStitcher() () from /usr/lib64/hugin/libhuginbase.so.0.0
  No symbol table info available.
  #6  0x0000000000404d27 in main ()
  No symbol table info available.

  I'll rebuild and try again with unstripped binaries.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hugin/+bug/1467678/+subscriptions


References