MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028890Community[OCCT] OCCT:Visualizationpublic2017-07-04 13:022017-09-29 16:28
ReporterVico Liang 
Assigned Tobugmaster 
PrioritynormalSeveritymajor 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2013OS Version64 bit
Product Version[OCCT] 7.1.0 
Target Version[OCCT] 7.2.0Fixed in Version[OCCT] 7.2.0 
Summary0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed
DescriptionSteps to reproduce the problem:
1. Create AIS_InteractiveContext myAISContext1, myAISContext2;
2. Display any kind of AIS_InteractiveObject inside myAISContext1, myAISContext2;
3. Create two views to display objects: aView1 for myAISContext1, aView2 for myAISContext2;
// Till now, all is ok;
4. Close these two views aView1 and aView2, both views are removed with view->Remove() function.
5. Create two new views again: aView3 for myAISContext1, aView4 for myAISContext2;

NOTE, the bug occurs in the last step, aView3 will show the object as expected, but aView4 display nothing.

I debug the problem and find the causes:
Graphic3d_GraphicDriver will release all opengl internal resource if there is no any view exist and the IsDeviceLost will return true. If there is a new view need to display objects it will try to rebuild the Graphic3d_Structure. The problem occurs that it just rebuild the first view's Graphic3d_Structure and the later view's structure will not be built since after the frist view building structure, IsDeviceLost will return false, see detailed in method:void V3d_View::Redraw()

Steps To Reproduce
pload MODELING VISUALIZATION
vclear
vclose ALL
box b1_1 0 0 0 1 2 3
box b1_2 0 3 0 3 1 2
box b2_1 0 0 0 3 1 2
box b2_2 0 3 0 1 2 3

# fill first Viewer
vinit Driver1/Viewer1/View1
vzbufftrihedron
vdisplay -dispMode 1 b1_1 b1_2
vfit
vsetcolor b1_1 RED
vsetcolor b1_2 GREEN

# fill second Viewer
vinit Driver1/Viewer2/View1
vzbufftrihedron
vdisplay -dispMode 1 b2_1 b2_2
vfit
vsetcolor b2_1 RED
vsetcolor b2_2 GREEN

# enable RayTracing which sets DeviceLost flag
vactivate Driver1/Viewer1/View1
vraytrace 1
# OK - first View is redrawn in Ray-Trace mode

vactivate Driver1/Viewer2/View1
vraytrace 1
# KO - objects within second View were not re-computed for Ray-Tracing

TagsNo tags attached.
Test case numberbugs vis bug28890
Attached Files

- Relationships

-  Notes
(0068093)
git (administrator)
2017-07-07 17:06

Branch CR28890 has been created by kgv.

SHA-1: 0541b64c1eddb9e22a6db93ae90e17d1c8d47c10


Detailed log of new commits:

Author: kgv
Date: Fri Jul 7 17:06:09 2017 +0300

    0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed
    
    DeviceLost flag has been moved from Graphic3d_GraphicDriver to Graphic3d_StructureManager,
    so that all Viewers sharing the same Driver instance are properly invalidated.
    
    Fixed clearing of objects by vclear command in case of multiple Viewers.
(0068094)
git (administrator)
2017-07-07 17:14

Branch CR28890 has been updated forcibly by kgv.

SHA-1: aea112813c46a5546310d4ab0b2dfd40d261ae22
(0068097)
git (administrator)
2017-07-07 17:24

Branch CR28890 has been updated forcibly by kgv.

SHA-1: 0bd26fac10d213fabea7e9f0cad82937ad70f18c
(0068098)
kgv (developer)
2017-07-07 17:24

Patch is ready for review.
(0068177)
git (administrator)
2017-07-11 10:53

Branch CR28890 has been updated forcibly by kgv.

SHA-1: 56e7c4cbd182beabac4090e2b114fe974b825b06
(0068182)
apl (developer)
2017-07-11 11:42

Dear bugmaster,

Please test the patch.
(0068192)
mkv (tester)
2017-07-11 17:30

Dear BugMaster,
Branch CR28890 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 56e7c4cbd182beabac4090e2b114fe974b825b06

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 64 (64 on master)
Windows: 0 (0 on master)
MacOS : 1162
There are following compilation errors on Windows platform:
http://jenkins-test-09.nnov.opencascade.com:8080/view/CR28890-master/view/SAMPLES/job/CR28890-master-Products-Windows-64-VC10-sample-csharp/1/parsed_console/ [^]
1>occcsharp_wrap.cxx(106200) : error C2661: 'OpenGl_View::OpenGl_View' : no overloaded function takes 5 arguments
1>occcsharp_wrap.cxx(106255) : error C2661: 'D3DHost_View::D3DHost_View' : no overloaded function takes 5 arguments

http://jenkins-test-09.nnov.opencascade.com:8080/view/CR28890-master/view/SAMPLES/job/CR28890-master-Products-Windows-64-VC10-sample-java/1/parsed_console/ [^]
..\..\..\OCCwrapJava\occjava_wrap.cxx(119098): error C2661: 'OpenGl_View::OpenGl_View' : no overloaded function takes 5 arguments [C:\install\CR28890-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj]
  ..\..\..\OCCwrapJava\occjava_wrap.cxx(119098): error C2661: 'OpenGl_View::OpenGl_View' : no overloaded function takes 5 arguments [C:\install\CR28890-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj]
    1 Error(s)

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR28890-master-OCCT/Debian70-64/bugs/vis/bug28890.html [^]
http://occt-tests/CR28890-master-OCCT/Windows-64-VC10/bugs/vis/bug28890.html [^]
bugs vis bug28890: OK

Testing on Linux:
occt component :
Total CPU difference: 18949.42000000012 / 19289.600000000315 [-1.76%]
Total MEMORY difference: 92162000 / 91873630 [+0.31%]
products component :
Total CPU difference: 6444.170000000065 / 6487.850000000069 [-0.67%]
Total MEMORY difference: 37647654 / 37650261 [-0.01%]
Testing on Windows:
occt component :
Total CPU difference: 17773.19392999852 / 17787.234019998614 [-0.08%]
Total MEMORY difference: 59027834 / 59031436 [-0.01%]
products component :
Total CPU difference: 6675.688392600067 / 6584.849010300061 [+1.38%]
Total MEMORY difference: 27877015 / 28099545 [-0.79%]

There are no differences in images found by testdiff.
(0068193)
mkv (tester)
2017-07-11 17:30

Dear kgv,
Branch CR28890 has been rejected due to:
- compilation errors on Windows platform in Samples
(0068201)
kgv (developer)
2017-07-11 19:25
edited on: 2017-07-11 19:26

Please check Product samples compilation within patch pushed to Products.

(0068213)
mkv (tester)
2017-07-12 16:26

Dear BugMaster,
Branch CR28890 from products git-repository was compiled on Linux, MacOS and Windows platforms on Release mode.
SHA-1: 2cc6d6cf3d6e1ae59261b1d954aeeb4300efc741

Number of compiler warnings:

products component :
Linux: 64 (64 on master)
Windows: 0 (0 on master)
MacOS : 1136

There are not compilation errors on Windows platform in Samples
(0068214)
mkv (tester)
2017-07-12 16:27

Dear BugMaster,
Branch CR28890 from occt git-repository and branch CR28890 from products git-repository are TESTED.
(0068348)
git (administrator)
2017-07-17 10:05

Branch CR28890 has been deleted by kgv.

SHA-1: 56e7c4cbd182beabac4090e2b114fe974b825b06

- Related Changesets
occt: master 851dacdb
Timestamp: 2017-07-07 14:06:09
Author: kgv
Committer: bugmaster
Details ] Diff ]
0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed

DeviceLost flag has been moved from Graphic3d_GraphicDriver to Graphic3d_StructureManager,
so that all Viewers sharing the same Driver instance are properly invalidated.

Fixed clearing of objects by vclear command in case of multiple Viewers.
mod - src/D3DHost/D3DHost_GraphicDriver.cxx Diff ] File ]
mod - src/D3DHost/D3DHost_View.cxx Diff ] File ]
mod - src/D3DHost/D3DHost_View.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_GraphicDriver.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_GraphicDriver.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_StructureManager.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_StructureManager.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraphicDriver.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff ] File ]
mod - src/V3d/V3d_View.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff ] File ]
add - tests/bugs/vis/bug28890 Diff ] File ]

- Issue History
Date Modified Username Field Change
2017-07-04 13:02 Vico Liang New Issue
2017-07-04 13:02 Vico Liang Assigned To => kgv
2017-07-04 13:11 Vico Liang Description Updated View Revisions
2017-07-07 16:18 kgv Steps to Reproduce Updated View Revisions
2017-07-07 17:03 kgv Summary After closing all views and then display the view again, just the first view has object(s) displayed => Visualization - After closing all views and then display the view again, just the first view has object(s) displayed
2017-07-07 17:06 git Note Added: 0068093
2017-07-07 17:14 git Note Added: 0068094
2017-07-07 17:24 git Note Added: 0068097
2017-07-07 17:24 kgv Note Added: 0068098
2017-07-07 17:24 kgv Assigned To kgv => apl
2017-07-07 17:24 kgv Status new => resolved
2017-07-11 10:53 git Note Added: 0068177
2017-07-11 11:42 apl Note Added: 0068182
2017-07-11 11:42 apl Assigned To apl => bugmaster
2017-07-11 11:42 apl Status resolved => reviewed
2017-07-11 12:20 mkv Assigned To bugmaster => mkv
2017-07-11 17:30 mkv Note Added: 0068192
2017-07-11 17:30 mkv Note Added: 0068193
2017-07-11 17:30 mkv Assigned To mkv => kgv
2017-07-11 17:30 mkv Status reviewed => assigned
2017-07-11 17:30 mkv Test case number => bugs vis bug28890
2017-07-11 19:25 kgv Note Added: 0068201
2017-07-11 19:25 kgv Assigned To kgv => bugmaster
2017-07-11 19:25 kgv Status assigned => resolved
2017-07-11 19:25 kgv Status resolved => reviewed
2017-07-11 19:26 kgv Note Edited: 0068201 View Revisions
2017-07-11 20:10 mkv Assigned To bugmaster => mkv
2017-07-12 16:26 mkv Note Added: 0068213
2017-07-12 16:27 mkv Note Added: 0068214
2017-07-12 16:27 mkv Assigned To mkv => bugmaster
2017-07-12 16:27 mkv Status reviewed => tested
2017-07-14 13:55 bugmaster Changeset attached => occt master 851dacdb
2017-07-14 13:55 bugmaster Status tested => verified
2017-07-14 13:55 bugmaster Resolution open => fixed
2017-07-17 10:05 git Note Added: 0068348
2017-09-29 16:18 aiv Fixed in Version => 7.2.0
2017-09-29 16:28 aiv Status verified => closed


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker