After upgrading Hugin from 2021.0.0 to 2022.0.0, I am seeing verdandi segfault when stitching 360x180° drone panoramas. One of the affected image sets is linked below. It stitches correctly when downgrading to 2021.0.0, and reproducibly fails with 2022.0.0 and latest from hg. I am testing on Linux (NixOS), and both Hugin versions are built against the same version of vigra (git snapshot at 093d57d15) and other dependencies.
Steps to reproduce: ``` curl -O https://test-bucket.stscn.net/pano/hugin-crash/1/project.pto curl -O https://test-bucket.stscn.net/pano/hugin-crash/1/photos.zip unzip photos.zip nona -v -z LZW -r ldr -m TIFF_m -o part project.pto verdandi --wrap --seam=blend --compression=LZW -o equirectangular.tif -- part0000.tif part0001.tif part0002.tif part0003.tif part0004.tif part0005.tif part0006.tif part0007.tif part0008.tif part0009.tif part0010.tif part0011.tif part0012.tif part0013.tif part0014.tif part0015.tif part0016.tif part0017.tif part0018.tif part0019.tif part0020.tif part0021.tif part0022.tif part0023.tif part0024.tif part0025.tif part0026.tif part0027.tif part0028.tif part0029.tif part0030.tif part0031.tif part0032.tif part0033.tif part0034.tif ``` Results in: ``` Loaded part0000.tif Loaded part0001.tif Loaded part0002.tif Loaded part0003.tif Loaded part0004.tif Segmentation fault (core dumped) ``` Stack trace of the crash on hg commit 8608:d0a5f7c6b7ef: ``` Thread 1 "verdandi" received signal SIGSEGV, Segmentation fault. 0x0000000000435364 in vigra::fastSeededRegionGrowing<vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char>, vigra::BasicImageIterator<unsigned char, unsigned char**>, vigra::StandardValueAccessor<unsigned char>, vigra::ArrayOfRegionStatistics<vigra::SeedRgDirectValueFunctor<unsigned char>, int>, vigra::FourNeighborhood::NeighborCode> (srcul=..., srclr=..., destul=..., stats=..., srgType=vigra::CompleteGrow, max_cost=255, bucket_count=256, ad=..., as=...) at /nix/store/3qbk1bgvp7zl5amrcpk2s3a3r3sd7fz9-vigra-unstable-2022-01-11/include/vigra/seededregiongrowing.hxx:856 856 std::max((std::ptrdiff_t)stats[label].cost(as(isx, c.diff())), cost); (gdb) bt #0 0x0000000000435364 in vigra::fastSeededRegionGrowing<vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char>, vigra::BasicImageIterator<unsigned char, unsigned char**>, vigra::StandardValueAccessor<unsigned char>, vigra::ArrayOfRegionStatistics<vigra::SeedRgDirectValueFunctor<unsigned char>, int>, vigra::FourNeighborhood::NeighborCode> (srcul=..., srclr=..., destul=..., stats=..., srgType=vigra::CompleteGrow, max_cost=255, bucket_count=256, ad=..., as=...) at /nix/store/3qbk1bgvp7zl5amrcpk2s3a3r3sd7fz9-vigra-unstable-2022-01-11/include/vigra/seededregiongrowing.hxx:856 #1 0x00000000005335ac in vigra::fastSeededRegionGrowing<vigra::ConstBasicImageIterator<unsigned char, unsigned char**>, vigra::StandardConstValueAccessor<unsigned char>, vigra::BasicImageIterator<unsigned char, unsigned char**>, vigra::StandardValueAccessor<unsigned char>, vigra::ArrayOfRegionStatistics<vigra::SeedRgDirectValueFunctor<unsigned char>, int>, vigra::FourNeighborhood::NeighborCode> ( bucket_count=256, max_cost=255, n=..., srgType=vigra::CompleteGrow, stats=..., dest={...}, src=...) at /nix/store/3qbk1bgvp7zl5amrcpk2s3a3r3sd7fz9-vigra-unstable-2022-01-11/include/vigra/seededregiongrowing.hxx:921 #2 vigra_ext::MergeImages<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> > > (offset=..., hardSeam=false, wrap=true, mask2=..., image2=..., mask1=..., image1=...) at /home/kevin/hugin/hugin-hg/src/hugin_base/vigra_ext/StitchWatershed.h:244 #3 LoadAndMergeImages<vigra::BasicImage<vigra::RGBValue<unsigned char, 0u, 1u, 2u>, std::allocator<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > > > (imageInfos=std::vector of length 35, capacity 35 = {...}, filename="equirectangular.tif", compression="LZW", wrap=wrap@entry=true, hardSeam=hardSeam@entry=false, useBigTiff=useBigTiff@entry=false) at /home/kevin/hugin/hugin-hg/src/tools/verdandi.cpp:167 #4 0x000000000041a889 in main (argc=<optimized out>, argv=<optimized out>) at /home/kevin/hugin/hugin-hg/src/tools/verdandi.cpp:497 ``` hg bisect says ``` The first bad revision is: changeset: 8395:12c7cb72f052 parent: 8392:01623862382e user: tmodes date: Sat Jan 15 18:41:16 2022 +0100 summary: verdandi: Blend images when they are only touching and not overlapping ``` Let me know if there's anything else I can do to help troubleshoot, and thanks for Hugin! -- Kevin -- A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ --- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/hugin-ptx/1a2ce666-ebea-412f-a2a6-7f828fced796n%40googlegroups.com.
