MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0023756Community[OCCT] OCCT:Visualizationpublic2013-02-12 20:272013-04-29 15:22
ReporterPawel 
Assigned Tosan 
PrioritynormalSeveritycrash 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2008OS Version32 bit
Product Version[OCCT] 6.5.4 
Target Version[OCCT] 6.6.0Fixed in Version[OCCT] 6.6.0 
Summary0023756: VBO rendering problem (1)
DescriptionAfter the compilation of OCCT with the modification from - 0023457 Slow text rendering - my application started crashing in the NVIDIA graphics driver (nvogInt.dll).

The first situation I was able to identify is when showing/hiding "Triedron" and then calling 'Update' immediately - see below.

The code can be tracked to OpenGl_PrimitiveArray.cxx, line 302:

glDrawArrays (myDrawMode, 0, myVbos[VBOVertices]->GetElemsNb());
Steps To ReproduceUnfortunately, I wasn't able to reproduce the problem using DRAW. The command 'vzbufftrihedron' works without a problem because no 'Update' is called. Hence I can only give a C++ reproducer:

V3d_View::TriedronDisplay
V3d_View::Update

or

V3d_View::TriedronErase
V3d_View::Update

Both of the above lines produce an exception in the graphics driver.
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
related to 0023457closedkgv Slow text rendering 

-  Notes
(0023323)
san (developer)
2013-02-13 17:36

Dear Pawel,

We failed to reproduce this bug on two workstations with NVIDIA graphic cards:

- Windows XP SP3 32-bit on Intel Core2Duo, NVIDIA Quadro FX570 graphic card, drivers version 195.62
- Windows 7 64-bit on Intel Core i7, NVIDIA GeForce GT 240M graphic card, drivers version 260.99

Could you please provide us with your system information, graphic card version and NVIDIA drivers version?
Have you tried different NVIDIA drivers release?
(0023324)
Pawel (developer)
2013-02-13 18:07

Hello guys,

thanks for investigating.

The test machine was:
- Windows XP SP3 32-bit on Intel Core2Duo, NVIDIA Quadro FX1700, driver version 306.94

I can also test on an Win7 64-bit. I'll post the results soon.
(0023325)
san (developer)
2013-02-13 18:24

And just for the sake of clarity, could you please try, at least temporarily, different release of NVIDIA drivers, maybe even an older one (sometimes "newer" does not mean "more stable")?
(0023327)
Pawel (developer)
2013-02-13 19:24

Hello Sergey,

I have tested two more NVIDIA drivers for the Win XP configuration listed above:
311.15 and
275.89
Both of them give the same behaviour: crash.

I have also tried on
Windows 7 64-bit on Intel Core i7, NVIDIA Quadro 1000M, driver version 310.90
with the same result.

How did you test exactly?

I will try to reproduce the problem using OCCT samples.

Hope this helps.
(0023329)
Pawel (developer)
2013-02-13 20:10

Another observation:

I have modified the VTestZBuffTrihedron method from the TKViewerTest project and called

V3dView->Update()

immediately after displaying the trihedron.

After calling 'vzbufftrihedron' in DRAW the problem is NOT reproduced.

I will try the samples now...
(0023332)
san (developer)
2013-02-14 10:07

This was exactly our test case:

=============================================================
I have modified the VTestZBuffTrihedron method from the TKViewerTest project and called

V3dView->Update()

immediately after displaying the trihedron.
After calling 'vzbufftrihedron' in DRAW the problem is NOT reproduced.
=============================================================

And in order to proceed with analysis, we need a reproducer in a form of a DRAW command.
(0023345)
Pawel (developer)
2013-02-14 19:50

Hello Sergey,

it took me some time but I was finally able to reproduce the problem using OCCT samples.

I have pushed the branch CR23756 that allows to spot the problem on my machine (Win XP SP3, 32-bit).

============
Reproducer 1
is the Viewer3d sample. I did not have to change the code to make it crash. I just had to remove the 'TKV2d' functionalities/references in order to compile it.

Please proceed as follows:
- Start the 'Viewer3d' sample
- Go to menu Options->Trihedron->Dynamic Trihedron [AIS_Trihedron is shown]
- Go to menu Options->Trihedron->Static Trihedron ... ['Z-Buffer' trihedron is shown]
- Now change the color e.g. White->Black -> this is where the crash occurs (OpenGl_PrimitiveArray.cxx, line 302)

============
Reproducer 2
is the IE.sln from the CSharp sample.
I have changed the code in OCCViewer::InitViewer in order to provoke the crash. Compile the project, start it and try to open a new document (crash in OpenGl_PrimitiveArray.cxx, line 302).

Apparently, displaying two types of trihedrons twice in a row makes something go wrong (this is actually a real-world scenario I have: the application initializes the viewer with some default settings and then reads user options and applies them to the viewer).
============

I hope this helps to find the root cause of the crash.

Please let me know if you have any problems reproducing the crashes.
(0023353)
san (developer)
2013-02-15 11:53

Dear Pavel,

Thank you a lot for your efforts!
We will try to reproduce the bug following your scenarios in the near days.
(0023412)
kgv (developer)
2013-02-20 14:01

Patch is ready for review in CR23756_1 branch.
(0023413)
san (developer)
2013-02-20 14:59

Branch CR23756_1 reviewed without remarks, ready for testing.
(0023418)
Pawel (developer)
2013-02-20 17:41

The patch seems to solve the problem. No crashes occur where they used to before.
Thanks!
(0023428)
mkv (tester)
2013-02-21 12:16

Dear BugMaster,

Branch CR23756_1 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: 91c1ca0dace0f18bbff46a2eee51d047bebe4de4

Number of compiler warnings:

occt component :
Linux: 3 (3 on master)
Windows: 39 (39 on master)

products component :
Linux: 9 (9 on master)
Windows: 50 (50 on master)

Regressions:
No regressions

Improvements:
No improvements

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 234420556 / 234629096
Total CPU difference: 10769.480000000121 / 10396.86000000029

Testing on Windows:
Total MEMORY difference: 339108148 / 337286356
Total CPU difference: 15753.34375 / 15545.90625

There are not serious differences in images found by testdiff.

- Related Changesets
occt: master 27583309
Timestamp: 2013-02-20 09:58:56
Author: kgv
Committer: san
Details ] Diff ]
0023756: VBO rendering problem (1)

Fixed asymmetric VBO unbind call in OpenGl_Text::drawText().
mod - src/OpenGl/OpenGl_Text.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2013-02-12 20:27 Pawel New Issue
2013-02-12 20:27 Pawel Assigned To => bugmaster
2013-02-12 20:28 Pawel Relationship added related to 0023457
2013-02-12 20:36 abv Assigned To bugmaster => kgv
2013-02-12 20:36 abv Status new => assigned
2013-02-13 17:36 san Note Added: 0023323
2013-02-13 17:36 san Assigned To kgv => Pawel
2013-02-13 17:36 san Status assigned => feedback
2013-02-13 18:07 Pawel Note Added: 0023324
2013-02-13 18:07 Pawel Status feedback => assigned
2013-02-13 18:24 san Note Added: 0023325
2013-02-13 19:24 Pawel Note Added: 0023327
2013-02-13 20:10 Pawel Note Added: 0023329
2013-02-14 10:07 san Note Added: 0023332
2013-02-14 19:50 Pawel Note Added: 0023345
2013-02-14 19:50 Pawel Assigned To Pawel => san
2013-02-14 19:50 Pawel Status assigned => feedback
2013-02-15 11:53 san Note Added: 0023353
2013-02-15 11:53 san Assigned To san => kgv
2013-02-15 11:53 san Status feedback => assigned
2013-02-20 14:01 kgv Note Added: 0023412
2013-02-20 14:01 kgv Assigned To kgv => san
2013-02-20 14:01 kgv Status assigned => resolved
2013-02-20 14:01 kgv Target Version => 6.6.0
2013-02-20 14:59 san Note Added: 0023413
2013-02-20 14:59 san Assigned To san => bugmaster
2013-02-20 14:59 san Status resolved => reviewed
2013-02-20 17:02 mkv Assigned To bugmaster => mkv
2013-02-20 17:41 Pawel Note Added: 0023418
2013-02-21 12:16 mkv Note Added: 0023428
2013-02-21 12:18 mkv Test case number => Not needed
2013-02-21 12:18 mkv Assigned To mkv => bugmaster
2013-02-21 12:18 mkv Status reviewed => tested
2013-02-26 10:00 san Changeset attached => occt master 27583309
2013-02-26 10:00 san Assigned To bugmaster => san
2013-02-26 10:00 san Status tested => verified
2013-02-26 10:00 san Resolution open => fixed
2013-04-23 13:35 user533 Status verified => closed
2013-04-29 15:22 user533 Fixed in Version => 6.6.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker