Hi all,
recently I discovered a segfault in enblend. It is a fairly big project,
so i can not *simply* provide input images or the whole core dump, but
here's a stacktrace:
#0 0x00000000004dc928 in void vigra::read_bands<vigra::Diff2D,
vigra::MultiImageVectorMaskAccessor4<vigra::BasicImageIterator<vigra::RGBValue<unsigned
char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>,
vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >,
vigra::BasicImageIterator<unsigned char, unsigned char**>,
vigra_ext::WriteFunctorAccessor<vigra::Threshold<unsigned char, unsigned
char>, vigra::StandardValueAccessor<unsigned char> > >, unsigned
char>(vigra::Decoder*, vigra::Diff2D,
vigra::MultiImageVectorMaskAccessor4<vigra::BasicImageIterator<vigra::RGBValue<unsigned
char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>,
vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >,
vigra::BasicImageIterator<unsigned char, unsigned char**>,
vigra_ext::WriteFunctorAccessor<vigra::Threshold<unsigned char, unsigned
char>, vigra::StandardValueAccessor<unsigned char> > >, unsigned char) ()
#1 0x0000000000522de8 in void vigra::importVectorImage<vigra::Diff2D,
vigra::MultiImageVectorMaskAccessor4<vigra::BasicImageIterator<vigra::RGBValue<unsigned
char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>,
vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >,
vigra::BasicImageIterator<unsigned char, unsigned char**>,
vigra_ext::WriteFunctorAccessor<vigra::Threshold<unsigned char, unsigned
char>, vigra::StandardValueAccessor<unsigned char> > >
>(vigra::ImageImportInfo const&, vigra::Diff2D,
vigra::MultiImageVectorMaskAccessor4<vigra::BasicImageIterator<vigra::RGBValue<unsigned
char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>,
vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >,
vigra::BasicImageIterator<unsigned char, unsigned char**>,
vigra_ext::WriteFunctorAccessor<vigra::Threshold<unsigned char, unsigned
char>, vigra::StandardValueAccessor<unsigned char> > >) ()
#2 0x0000000000523663 in void
vigra::importImageAlpha<vigra::BasicImageIterator<vigra::RGBValue<unsigned
char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>,
vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >,
vigra::BasicImageIterator<unsigned char, unsigned char**>,
vigra_ext::WriteFunctorAccessor<vigra::Threshold<unsigned char, unsigned
char>, vigra::StandardValueAccessor<unsigned char> >
>(vigra::ImageImportInfo const&,
std::pair<vigra::BasicImageIterator<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::BasicImageIterator<unsigned char, unsigned char**>,
vigra_ext::WriteFunctorAccessor<vigra::Threshold<unsigned char, unsigned
char>, vigra::StandardValueAccessor<unsigned char> > >) ()
#3 0x0000000000523815 in void
enblend::import<vigra::BasicImageIterator<vigra::RGBValue<unsigned char,
0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>,
vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> >,
vigra::BasicImageIterator<unsigned char, unsigned char**>,
vigra::StandardValueAccessor<unsigned char> >(vigra::ImageImportInfo
const&, std::pair<vigra::BasicImageIterator<vigra::RGBValue<unsigned
char, 0u, 1u, 2u>, vigra::RGBValue<unsigned char, 0u, 1u, 2u>**>,
vigra::RGBAccessor<vigra::RGBValue<unsigned char, 0u, 1u, 2u> > >
const&, std::pair<vigra::BasicImageIterator<unsigned char, unsigned
char**>, vigra::StandardValueAccessor<unsigned char> > const&) ()
#4 0x000000000055da47 in
std::pair<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> >*>
enblend::assemble<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::list<vigra::ImageImportInfo*,
std::allocator<vigra::ImageImportInfo*> >&, vigra::Rect2D&,
vigra::Rect2D&) ()
#5 0x00000000005c1119 in void
enblend::enblendMain<vigra::RGBValue<unsigned char, 0u, 1u, 2u>
>(std::list<std::string, std::allocator<std::string> > const&,
std::list<vigra::ImageImportInfo*,
std::allocator<vigra::ImageImportInfo*> > const&,
vigra::ImageExportInfo&, vigra::Rect2D&) ()
#6 0x0000000000476396 in main ()
enblend version is
$ enblend --version
enblend 4.1-cd12da20db1a
Recent version of the Ubuntu PPA.
Solved the issue for myself by splitting the project up to 4 smaller
images, then manually blending those in gimp. Is it just a memory issue?
But then I'd prefer a bad_alloc over a segfault :)
Can I provide further information to solve the bug?
Thx,
Benjamin
--
You received this message because you are subscribed to the Google Groups "Hugin and
other free panoramic software" group.
A list of frequently asked questions is available at:
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at http://groups.google.com/group/hugin-ptx