segfault loading multiple images in assistant

Bug #1316702 reported by Andreas Metzler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Hugin
Fix Released
Undecided
Unassigned

Bug Description

Hello,

hugin 2014.0.0-rc2 segfaults when multiple images are loaded at once using the simple interface ([Load Images] button on preview window.

ERROR: 19:30:12.852684 (/tmp/HUGIN/hugin-2014.0.0/src/hugin_base/huginapp/ImageCache.cpp:697) loadImageSafely(): Error during image reading:
Precondition violation!
Unable to open file ''.

This was submitted by Ingo Steine in <https://bugs.debian.org/747021>. Ingo has also provided example images (availabe for download in the Debian bug report) that reproduce the breakage. The important part seems to be that they have no EXIF data, causing the "Enter FOV"-dialogue to appear.

Using the [Add Images] button in the expert interface does not trigger the crash.

cu Andreas

Revision history for this message
tmodes (tmodes) wrote :

Tried to fix in changeset 1df056cbbdd8 in default branch.

If there is a confirmation, that the bug is fixed we need a decision how to proceed with 2014.0.
If the bug is considered as critical, it needs to ported to 2014.0. This will need a new release candidate rc3.
What is your opinion?

Changed in hugin:
status: New → Fix Committed
Revision history for this message
Andreas Metzler (k-launchpad-downhill-at-eu-org) wrote : Re: [Bug 1316702] Re: segfault loading multiple images in assistant

On 2014-05-06 tmodes <email address hidden> wrote:
> Tried to fix in changeset 1df056cbbdd8 in default branch.

> If there is a confirmation, that the bug is fixed we need a decision
> how to proceed with 2014.0.
> If the bug is considered as critical, it needs to ported to 2014.0.
> This will need a new release candidate rc3.
> What is your opinion?

Hello,

I think it is quite ugly but not critical.

Typically images are loaded at very beginning of the workflow, that is
especially true for the assistant. If hugin crashes at this point no
work will be lost. Therefore I would not think it is critical. OTOH a
program which crashes at the very start does not make a good
impression. ;-)

cu Andreas

--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

Revision history for this message
Stefan Peter (s-peter-deactivatedaccount) wrote : Re: [Hugin-bug-hunters] [Bug 1316702] Re: segfault loading multiple images in assistant

On 06.05.2014 21:33, tmodes wrote:
> Tried to fix in changeset 1df056cbbdd8 in default branch.
>
> If there is a confirmation, that the bug is fixed we need a decision how to proceed with 2014.0.
> If the bug is considered as critical, it needs to ported to 2014.0. This will need a new release candidate rc3.
> What is your opinion?

I'd give it a week or two more and see what else may be cropping up.
There is no reason to hasten the 2014.0 final release, we still have a
couple of months until 2015 ;)

From a supporter POV, I'd like to have a bug like this fixed, though.

Regards

Stefan Peter

Revision history for this message
Andreas Metzler (k-launchpad-downhill-at-eu-org) wrote :
Download full text (6.6 KiB)

Hello,

here is what I get with rc3 (hugin built with -O0):

[...]
[Thread 0xe5bfeb40 (LWP 12214) exited]
Error: XMP Toolkit error 203: Duplicate property or field node
Warning: Failed to decode XMP metadata.
[New Thread 0xe5bfeb40 (LWP 12215)]
ContractViolation:
Precondition violation!
Unable to open file ''.

ERROR: 20:07:56.539886 (/tmp/HUGIN/hugin-2014.0.0/src/hugin_base/huginapp/ImageCache.cpp:697) loadImageSafely(): Error during image reading:
Precondition violation!
Unable to open file ''.

[Thread 0xe5bfeb40 (LWP 12215) exited]

Program received signal SIGSEGV, Segmentation fault.
HuginBase::ImageCache::postEvent (this=0x83a4338, request=..., entry=...)
    at /tmp/HUGIN/hugin-2014.0.0/src/hugin_base/huginapp/ImageCache.cpp:871
871 entry->lastAccess = m_accessCounter;
(gdb) bt full
#0 HuginBase::ImageCache::postEvent (this=0x83a4338, request=..., entry=...)
    at /tmp/HUGIN/hugin-2014.0.0/src/hugin_base/huginapp/ImageCache.cpp:871
        is_small_request = <optimized out>
        filename = <optimized out>
#1 0x080f6ad1 in huginApp::relayImageLoaded (this=0x8377120, event=...)
    at /tmp/HUGIN/hugin-2014.0.0/src/hugin1/hugin/huginApp.cpp:541
No locals.
#2 0xf7134766 in wxAppConsoleBase::HandleEvent (this=0x8377120, handler=
    0x8377120, func=
    (void (wxEvtHandler::*)(wxEvtHandler * const, wxEvent &)) 0x80f6a80 <huginApp::relayImageLoaded(ImageReadyEvent&)>, event=...)
    at ../src/common/appbase.cpp:611
No locals.
#3 0xf7134b8b in wxAppConsoleBase::CallEventHandler (this=0x8377120,
    handler=0x8377120, functor=..., event=...) at ../src/common/appbase.cpp:623
No locals.
#4 0xf72be1da in wxEvtHandler::ProcessEventIfMatchesId (entry=...,
    handler=0x8377120, event=...) at ../src/common/event.cpp:1384
        event = @0x9346f48: {<wxObject> = {
            _vptr.wxObject = 0x82790c8 <vtable for ImageReadyEvent+8>,
            static ms_classInfo = {m_className = 0xf72e8068 L"wxObject",
              m_objectSize = 8, m_objectConstructor = 0x0, m_baseInfo1 = 0x0,
              m_baseInfo2 = 0x0, static sm_first = 0x0,
              m_next = 0xf73627bc <wxMemoryOutputStream::ms_classInfo>,
              static sm_classTable = 0x8334918}, m_refData = 0x0},
          m_eventObject = 0x0, m_eventType = 10331, m_timeStamp = 0, m_id = 0,
          m_callbackUserData = 0x0, m_handlerToProcessOnlyIn = 0x0,
          m_propagationLevel = 0, m_propagatedFrom = 0x0, m_skipped = false,
          m_isCommandEvent = false, m_wasProcessed = true,
          m_willBeProcessedAgain = false, static ms_classInfo = {
            m_className = 0x0, m_objectSize = 0, m_objectConstructor = 0x0,
            m_baseInfo1 = 0x0, m_baseInfo2 = 0x0, static sm_first = 0x0,
            m_next = 0x0, static sm_classTable = 0x8334918}}
        handler = 0x8377120
        entry = @0x832ef80: {m_id = -1, m_lastId = -1, m_fn = 0x836ed38,
          m_callbackUserData = 0x0}
#5 0xf72be29a in wxEventHashTable::HandleEvent (
    this=0x832efa8 <huginApp::sm_eventHashTable>, event=...,
    self=self@entry=0x8377120) at ../src/common/event.cpp:990
        entry = <optimized out>
        n = 0
        eventEntryTable = @0x866419c: {<wxBaseArrayPtrVoid> = {...

Read more...

Revision history for this message
tmodes (tmodes) wrote :

Some more question, because I can't currently not reproduce the crash.

* Which wxWidgets version? (With 2.8.12 it runs fine with the test images.)
* I used the images from the original ticket. Are there some special chars in the folder name by chance?
* Does Hugin ask 3 times for the lens data (because the images have different sizes) and crashes then? Or does the crash happen earlier?

Revision history for this message
Andreas Metzler (k-launchpad-downhill-at-eu-org) wrote : Re: [Bug 1316702] Re: segfault loading multiple images in assistant

On 2014-05-23 tmodes <email address hidden> wrote:
> Some more question, because I can't currently not reproduce the crash.

> * Which wxWidgets version? (With 2.8.12 it runs fine with the test images.)

Hello,
3.0.0

> * I used the images from the original ticket. Are there some special
> chars in the folder name by chance?

No, I used the same images and saved them directly to /tmp.

> * Does Hugin ask 3 times for the lens data (because the images have
> different sizes) and crashes then? Or does the crash happen earlier?

It asks at the first image, I enter hvov it then and crashes when I confirm the data with [OK].

cu Andreas

--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

Revision history for this message
tmodes (tmodes) wrote :

Okay. I was now able to reproduce the crash. It happens only if in simple mode. In all other modes it worked.
Committed a workaround in changeset 10aa8ea89d9e. Please report back if this works. TIA.

Revision history for this message
Andreas Metzler (k-launchpad-downhill-at-eu-org) wrote :

On 2014-05-25 tmodes <email address hidden> wrote:
> Okay. I was now able to reproduce the crash. It happens only if in
> simple mode. In all other modes it worked. Committed a workaround
> in changeset 10aa8ea89d9e. Please report back if this works. TIA.

Marvellous. Works for me, too.

I have now uploaded rc3 with
10aa8ea89d9eef64ecd7281194507177dc6a82f7 and
b2c6b668f05243df2aff0ae1994db9b93efacb33
to Debian/unstable.

thanks, cu Andreas
--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

tmodes (tmodes)
Changed in hugin:
milestone: none → 2015.0beta1
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.