View Issue Details

IDProjectCategoryView StatusLast Update
0033112Open CASCADEOCCT:Visualizationpublic2023-03-19 20:18
Reporterkgv Assigned Tomzernova  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.6.0 
Target Version7.7.0Fixed in Version7.7.0 
Summary0033112: Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() should handle selection tolerance changes
DescriptionAIS_InteractiveContext::RecomputeSelectionOnly() performs AIS_InteractiveObject::ComputeSelection() for already activated selection modes.

This logic has a false assumption that SelectMgr_Selection::Sensitivity() would not change, but this might be not true - AIS_InteractiveObject::ComputeSelection() might set new sensitivity to the same selection mode due to some internal changes of presentation or other flags.
This scenario would lead to a debug assertion in SelectMgr_ToleranceMap::Decrement() on attempting to remove sensitivity factor that hasn't been added the same number of times.

Therefore, the logic should be corrected to consider this scenario and avoid crashes / broken selection.
Steps To Reproduce
pload MODELING VISUALIZATION
vinit View1
vertex v 1 1 1
vdisplay v -dispMode 1

box s 100 200 300
vdisplay s -dispMode 1
vfit

vertex s 0 0 0
vdisplay s -dispMode 1
vclear


Result in debug build:
An exception was caught 000002306FED3D40 : Standard_ProgramError: SelectMgr_ToleranceMap::Decrement() - internal error
TagsNo tags attached.
Test case numberNot required

Activities

git

2022-09-02 10:43

administrator   ~0110558

Branch CR33112 has been created by mzernova.

SHA-1: 056bcff53aeaff5fbb3d261fe9718bf0307fce81


Detailed log of new commits:

Author: mzernova
Date: Fri Sep 2 10:43:19 2022 +0300

    0033112: Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() may should handle selection tolerance changes

git

2022-09-02 10:56

administrator   ~0110559

Branch CR33112 has been updated forcibly by mzernova.

SHA-1: 9f8de4f8193be7c1f92f213fad0e16766d7425e0

mzernova

2022-09-02 10:57

developer   ~0110560

http://jenkins-test-occt.nnov.opencascade.com/view/CR33112-master-mzernova/

git

2022-09-02 14:38

administrator   ~0110570

Branch CR33112 has been updated forcibly by mzernova.

SHA-1: b4bc1ab15189f0b5cd8c817b68c98b2eedad07d5

mzernova

2022-09-02 17:39

developer   ~0110578

The patch CR33112 is ready to review

kgv

2022-09-02 17:51

developer   ~0110579

Please raise the patch.

smoskvin

2022-09-11 13:56

administrator   ~0110913

Combination -
OCCT branch : IR-2022-09-09
master SHA - 526c506cb0a6a5c9c168ab5efd0a4e5211e30bf4
e0ceb716c70188b98130b1550914140d0502a6f9
Products branch : IR-2022-09-09 SHA - changes and them, and you can discard any commits you make in this
574253b6b844635a69038511e6920877f837e298
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18959.200000000466 / 18756.090000000648 [+1.08%]
Products
Total CPU difference: 12020.780000000137 / 11992.830000000133 [+0.23%]
Windows-64-VC14:
OCCT
Total CPU difference: 20894.5625 / 20851.65625 [+0.21%]
Products
Total CPU difference: 13470.484375 / 13574.0625 [-0.76%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2022-09-11 14:51

administrator   ~0110947

Branch CR33112 has been deleted by mnt.

SHA-1: b4bc1ab15189f0b5cd8c817b68c98b2eedad07d5

Related Changesets

occt: master 2182812a

2022-09-02 10:43:19

mzernova


Committer: smoskvin Details Diff
0033112: Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() may should handle selection tolerance changes Affected Issues
0033112
mod - src/AIS/AIS_InteractiveContext.cxx Diff File

Issue History

Date Modified Username Field Change
2022-08-24 12:56 kgv New Issue
2022-08-24 12:56 kgv Assigned To => kgv
2022-08-24 12:57 kgv Assigned To kgv => mzernova
2022-08-24 12:57 kgv Status new => assigned
2022-08-24 14:24 kgv Steps to Reproduce Updated
2022-08-24 14:24 kgv Description Updated
2022-08-24 14:25 kgv Description Updated
2022-08-24 14:25 kgv Description Updated
2022-08-24 14:27 kgv Description Updated
2022-08-24 14:27 kgv Description Updated
2022-09-02 10:16 kgv Summary Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() may should handle selection tolerance changes => Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() should handle selection tolerance changes
2022-09-02 10:43 git Note Added: 0110558
2022-09-02 10:56 git Note Added: 0110559
2022-09-02 10:57 mzernova Note Added: 0110560
2022-09-02 14:38 git Note Added: 0110570
2022-09-02 17:39 mzernova Assigned To mzernova => kgv
2022-09-02 17:39 mzernova Status assigned => resolved
2022-09-02 17:39 mzernova Note Added: 0110578
2022-09-02 17:51 kgv Assigned To kgv => bugmaster
2022-09-02 17:51 kgv Status resolved => reviewed
2022-09-02 17:51 kgv Note Added: 0110579
2022-09-11 13:56 smoskvin Status reviewed => tested
2022-09-11 13:56 smoskvin Note Added: 0110913
2022-09-11 14:04 smoskvin Test case number => Not required
2022-09-11 14:40 smoskvin Changeset attached => occt master 2182812a
2022-09-11 14:40 mzernova Assigned To bugmaster => mzernova
2022-09-11 14:40 mzernova Status tested => verified
2022-09-11 14:40 mzernova Resolution open => fixed
2022-09-11 14:51 git Note Added: 0110947
2023-03-19 20:18 vglukhik Status verified => closed
2023-03-19 20:18 vglukhik Fixed in Version => 7.7.0