[ptx] hugin segfaulting

Rich rich at hq.vsaa.lv
Fri Jun 30 11:18:30 BST 2006


this is hugin cvs version from 2006.05.02, so this might have been fixed 
- but it might also be not :)

i tried to compile hugin with debugging (it took insane amounts of 
diskspace to do so...) and get some backtrace. i hope it gives at least 
some clues to what the reason may be.

this crash happens when 'auto' in preview window is enabled and an image 
is quickly toggled several times.

output has somewhat broken tabulating below

DEBUG 12:50:13.746275 (../../src/include/vigra_ext/ROIImage.h:201) 
maskUpperLeft(): [(0, 1076101120) to (0, 0) = (0x-1076101120)]
hugin: ../../src/include/vigra_ext/ROIImage.h:202: typename 
Mask::const_traverser vigra_ext::ROIImage<Image, Mask>::maskUpperLeft() 
const [with Image = vigra::BRGBImage, Mask = vigra::BImage]: Assertion 
`m_mask.size().x > 0' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread -1225385760 (LWP 3043)]
0xb6fdc847 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb6fdc847 in raise () from /lib/tls/libc.so.6
#1  0xb6fde0d9 in abort () from /lib/tls/libc.so.6
#2  0xb6fd5e46 in __assert_fail () from /lib/tls/libc.so.6
#3  0x080fe4c3 in 
vigra_ext::ROIImage<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> > 
 >::maskUpperLeft (this=0x8cb67b0) at ROIImage.h:202
#4  0x080fd4cd in 
vigra_ext::srcMask<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> > > 
(img=@0x8cb67b0) at ROIImage.h:347
#5  0x080fc670 in 
PT::StackingBlender::operator()<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> 
 >, vigra::ImageIterator<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> > (this=0xbfa58bff, 
img=@0x8cb67b0, pano=
       {first = 
{<vigra::ImageIteratorBase<vigra::ImageIterator<vigra::RGBValue<vigra::UInt8, 
0u, 1u, 2u> >,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>&,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>*,vigra::UnstridedArrayTag>> = {x = {current_ = 0xb55bd008}, y = 
{stride_ = 141, current_ = 0}}, <No data fields>}, second = 
{<vigra::ImageIteratorBase<vigra::ImageIterator<vigra::RGBValue<vigra::UInt8, 
0u, 1u, 2u> >,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>&,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>*,vigra::UnstridedArrayTag>> = {x = {current_ = 0xb55bd1af}, y = 
{stride_ = 141, current_ = 62181}}, <No data fields>}, third = 
{<vigra::VectorAccessor<vigra::RGBValue<vigra::UInt8, 0u, 1u, 2u> >> = 
{<vigra::SequenceAccessor<vigra::RGBValue<vigra::UInt8, 0u, 1u, 2u> >> = 
{<vigra::StandardAccessor<vigra::RGBValue<vigra::UInt8, 0u, 1u, 2u> >> = 
{<No data fields>}, <No data fields>}, <No data fields>}, <No data 
fields>}}, alpha=
             {first = 
{<vigra::BasicImageIteratorBase<vigra::BasicImageIterator<vigra::UInt8, 
vigra::UInt8**>,vigra::UInt8,vigra::UInt8&,vigra::UInt8*,vigra::UInt8**>> 
= {x = 0, y = 0x8cb5618}, <No data fields>}, second = {<No data 
fields>}}, panoROI=@0xbfa58990) at Stitcher.h:846
	    #6  0x080fb248 in 
PT::SimpleStitcher<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<vigra::ImageIterator<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>, PT::StackingBlender> 
(this=0xbfa58bd0, opts=@0xbfa58c40, imgSet=@0x8b6bf7c, pano=
	          {first = 
{<vigra::ImageIteratorBase<vigra::ImageIterator<vigra::RGBValue<vigra::UInt8, 
0u, 1u, 2u> >,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>&,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>*,vigra::UnstridedArrayTag>> = {x = {current_ = 0xb55bd008}, y = 
{stride_ = 141, current_ = 0}}, <No data fields>}, second = 
{<vigra::ImageIteratorBase<vigra::ImageIterator<vigra::RGBValue<vigra::UInt8, 
0u, 1u, 2u> >,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>&,vigra::RGBValue<vigra::UInt8, 0u, 1u, 
2u>*,vigra::UnstridedArrayTag>> = {x = {current_ = 0xb55bd1af}, y = 
{stride_ = 141, current_ = 62181}}, <No data fields>}, third = 
{<vigra::VectorAccessor<vigra::RGBValue<vigra::UInt8, 0u, 1u, 2u> >> = 
{<vigra::SequenceAccessor<vigra::RGBValue<vigra::UInt8, 0u, 1u, 2u> >> = 
{<vigra::StandardAccessor<vigra::RGBValue<vigra::UInt8, 0u, 1u, 2u> >> = 
{<No data fields>}, <No data fields>}, <No data fields>}, <No data 
fields>}}, alpha=
		        {first = 
{<vigra::BasicImageIteratorBase<vigra::BasicImageIterator<vigra::UInt8, 
vigra::UInt8**>,vigra::UInt8,vigra::UInt8&,vigra::UInt8*,vigra::UInt8**>> 
= {x = 0, y = 0x8cb5618}, <No data fields>}, second = {<No data 
fields>}}, remapper=@0x8b6c014, blend=@0xbfa58bff)
			    at Stitcher.h:742
			    #7  0x080f94f5 in PreviewPanel::updatePreview (this=0x8b6be00) at 
PreviewPanel.cpp:229
			    #8  0x080f87c2 in PreviewPanel::SetDisplayedImages 
(this=0x8b6be00, imgs=@0x8b6e818) at PreviewPanel.cpp:134
			    #9  0x080f2978 in PreviewFrame::OnChangeDisplayedImgs 
(this=0x8b6e600, e=@0xbfa58f30) at PreviewFrame.cpp:268
			    #10 0xb7a40a2a in wxAppConsole::HandleEvent () from 
/usr/local/lib/libwx_base-2.6.so.0
			    #11 0xb7acd04f in wxEvtHandler::ProcessEventIfMatches () from 
/usr/local/lib/libwx_base-2.6.so.0
			    ---Type <return> to continue, or q <return> to quit---
			    #12 0xb7acd338 in wxEventHashTable::HandleEvent () from 
/usr/local/lib/libwx_base-2.6.so.0
			    #13 0xb7acdf74 in wxEvtHandler::ProcessEvent () from 
/usr/local/lib/libwx_base-2.6.so.0
			    #14 0xb7d301ba in wxWindowBase::TryParent () from 
/usr/local/lib/libwx_gtk2_core-2.6.so.0
			    #15 0xb7acdf2d in wxEvtHandler::ProcessEvent () from 
/usr/local/lib/libwx_base-2.6.so.0
			    #16 0xb7d301ba in wxWindowBase::TryParent () from 
/usr/local/lib/libwx_gtk2_core-2.6.so.0
			    #17 0xb7acdf2d in wxEvtHandler::ProcessEvent () from 
/usr/local/lib/libwx_base-2.6.so.0
			    #18 0xb7cb6ddd in wxToggleButton::GetValue () from 
/usr/local/lib/libwx_gtk2_core-2.6.so.0
			    #19 0xb73c6cb8 in g_cclosure_marshal_VOID__VOID () from 
/usr/lib/libgobject-2.0.so.0
			    #20 0xb73afddb in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
			    #21 0xb73c5678 in g_signal_has_handler_pending () from 
/usr/lib/libgobject-2.0.so.0
			    #22 0xb73c65d4 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
			    #23 0xb73c68c6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
			    #24 0xb7767cd1 in gtk_button_clicked () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #25 0xb78e46c8 in gtk_toggle_button_set_inconsistent () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #26 0xb73c6cb8 in g_cclosure_marshal_VOID__VOID () from 
/usr/lib/libgobject-2.0.so.0
			    #27 0xb73b0119 in g_cclosure_new_swap () from 
/usr/lib/libgobject-2.0.so.0
			    #28 0xb73afddb in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
			    #29 0xb73c4f77 in g_signal_has_handler_pending () from 
/usr/lib/libgobject-2.0.so.0
			    #30 0xb73c65d4 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
			    #31 0xb73c68c6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
			    #32 0xb7767c31 in gtk_button_released () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #33 0xb7768d81 in gtk_button_set_relief () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #34 0xb783b3f0 in gtk_marshal_VOID__UINT_STRING () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #35 0xb73b0119 in g_cclosure_new_swap () from 
/usr/lib/libgobject-2.0.so.0
			    #36 0xb73afddb in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
			    #37 0xb73c51eb in g_signal_has_handler_pending () from 
/usr/lib/libgobject-2.0.so.0
			    #38 0xb73c631d in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
			    #39 0xb73c68c6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
			    #40 0xb7934e84 in gtk_widget_activate () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #41 0xb7839857 in gtk_propagate_event () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #42 0xb7839b8f in gtk_main_do_event () from 
/usr/lib/libgtk-x11-2.0.so.0
			    #43 0xb76d0841 in gdk_event_get_graphics_expose () from 
/usr/lib/libgdk-x11-2.0.so.0
			    #44 0xb7327487 in g_main_context_dispatch () from 
/usr/lib/libglib-2.0.so.0
			    #45 0xb7328e25 in g_main_context_acquire () from 
/usr/lib/libglib-2.0.so.0
			    #46 0xb732914a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
			    #47 0xb7838e33 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
			    #48 0xb7c34c15 in wxEventLoop::Run () from 
/usr/local/lib/libwx_gtk2_core-2.6.so.0
			    #49 0xb7cb9089 in wxAppBase::MainLoop () from 
/usr/local/lib/libwx_gtk2_core-2.6.so.0
			    #50 0xb7cb9203 in wxAppBase::OnRun () from 
/usr/local/lib/libwx_gtk2_core-2.6.so.0
			    #51 0xb7a768e0 in wxEntry () from /usr/local/lib/libwx_base-2.6.so.0
			    #52 0x0805ef5f in main (argc=1, argv=0xbfa5a004) at 
huginApp.cpp:297		
-- 
  Rich


More information about the ptx mailing list