2021-12-04 09:16 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001197Monteverdi2[Orfeo Toolbox (OTB)] Generalpublic2016-07-04 17:12
Reporterjulien 
Assigned Tosalbert 
PriorityhighSeveritycrashReproducibilityalways
StatusclosedResolutionfixed 
Summary0001197: Clicking on minimap to navigate result in monteverdi crashing
DescriptionWith any image, trying to move by clicking on the minimap results in a crash.
TagsNo tags attached.
Attached Files

-Relationships
related to 0001231closedLudovic Monteverdi: shader effect does not follow the mouse cursor when moving 
+Relationships

-Notes

~0003400

poughov (administrator)

Confirmed. I just reproduced this bug on my Fedora 22, with OTB and monteverdi on their latest release branches. It also crashes without any images loaded. Could this be related to 1157?

Segmentation fault (core dumped)

~0003402

poughov (administrator)

Reproduced on windows 32 bits (with nightly 2016-04-20)

~0003403

poughov (administrator)

Changing status to confirmed

~0003410

salbert (developer)

This crash is revealed by this commit: http://git.orfeo-toolbox.org/monteverdi2.git/commit/d7922c94378615abedee760a1402721972cd159e (which was not included in tested packages -- nightly builds dated April 19th, 2016).

The ImageViewWidget::m_IsPickingEnabled flag is initialized to true for the main image-view and to false for the quicklook-view [1]. With aforementioned commit enabled, the ::m_IsPickingEnabled flag is arbitrary set to false when pressing the mouse button down and arbitrary set to true when mouse button is released without taking care of its previous/initialization value (which is false in the case for the quicklook view). Thus, this commit enables pixel-info picking (which was setup disabled) in the quicklook-view (feature regression).

The program then crashes in ImageViewRenderer::UpdatePixelInfo() at line 1150 [2].

The otb::GlActor sequence is traversed to get pixel information. The dynamically-casted otb::GlImageActor::Pointer becomes NULL because the otb::GlROIActor of the quicklook view has been found (which is the case for the quicklook view and never for the main image-view).

Because the commit is a minor feature adjustment and that a full fix (modify the ::UpdatePixelInfo() code and set the ::m_IsPickingEnabled back to its previous value) could have some side effects on pixel-picking and displayed pixel-info during the release/testing process, I would suggest to revert the commit in the release branch and make a full fix to the develop branch for upcoming releases.

[1] http://git.orfeo-toolbox.org/monteverdi2.git/blob/refs/heads/release-3.2:/Code/Application/Monteverdi/mvdMainWindow.cxx#l992
[2] http://git.orfeo-toolbox.org/monteverdi2.git/blob/refs/heads/release-3.2:/Code/Common/Gui/mvdImageViewRenderer.cxx#l1150
[3] http://git.orfeo-toolbox.org/monteverdi2.git/blob/refs/heads/release-3.2:/Code/Common/Gui/mvdImageViewRenderer.cxx#l1124

~0003411

salbert (developer)

Note: the crash is not due to clicking but to moving the mouse after mouse button has released.

~0003412

julien (administrator)

Fixed here (without any backout): https://git.orfeo-toolbox.org/monteverdi2.git/commitdiff/1f05971f6c4597d09cea52d43eba58266481af8c

My apologies, I am pretty sure I tested the revision before my commit and that the bug was still there.

Side notes :
- I did those changes because once more performances of monteverdi were really bad with respect to same dataset in Ice. I feel like noone really cares about that.

- I grepped Picking in Code/Common to see if it was used somewhere else. Did not know I had to trace back to Code/Application/Monteverdi. I thought we were supposed to set behaviours in widgets and manipulators ...

~0003414

salbert (developer)

Securized otb::GlImageActor::Pointer.

http://git.orfeo-toolbox.org/monteverdi2.git/commit/14f07780e07c0a945125dea80040280bc44a1953

~0003459

julien (administrator)

Fix confirmed.
+Notes

-Issue History
Date Modified Username Field Change
2016-04-20 16:01 julien New Issue
2016-04-20 17:20 poughov Note Added: 0003400
2016-04-21 08:47 poughov Note Added: 0003402
2016-04-21 08:48 poughov Note Added: 0003403
2016-04-21 08:48 poughov Assigned To => poughov
2016-04-21 08:48 poughov Status new => confirmed
2016-04-21 10:17 salbert Assigned To poughov => salbert
2016-04-21 10:17 salbert Status confirmed => assigned
2016-04-21 12:55 salbert Note Added: 0003410
2016-04-21 13:14 salbert Note Added: 0003411
2016-04-21 13:58 julien Note Added: 0003412
2016-04-21 13:58 julien Status assigned => resolved
2016-04-21 13:58 julien Resolution open => fixed
2016-04-21 15:28 salbert Status resolved => feedback
2016-04-21 15:28 salbert Resolution fixed => reopened
2016-04-21 16:20 salbert Note Added: 0003414
2016-04-21 16:20 salbert Status feedback => resolved
2016-04-21 16:20 salbert Resolution reopened => fixed
2016-05-02 11:42 julien Note Added: 0003459
2016-05-02 11:42 julien Status resolved => closed
2016-07-04 17:12 salbert Relationship added related to 0001231
+Issue History