View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0023756 | Community | OCCT:Visualization | public | 2013-02-12 20:27 | 2013-04-29 15:22 |
Reporter | Pawel | Assigned To | |||
Priority | normal | Severity | crash | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2008 | ||
Product Version | 6.5.4 | ||||
Target Version | 6.6.0 | Fixed in Version | 6.6.0 | ||
Summary | 0023756: VBO rendering problem (1) | ||||
Description | After 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 Reproduce | Unfortunately, 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. | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
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? |
|
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. |
|
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")? |
|
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. |
|
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... |
|
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. |
|
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. |
|
Dear Pavel, Thank you a lot for your efforts! We will try to reproduce the bug following your scenarios in the near days. |
|
Patch is ready for review in CR23756_1 branch. |
|
Branch CR23756_1 reviewed without remarks, ready for testing. |
|
The patch seems to solve the problem. No crashes occur where they used to before. Thanks! |
|
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. |
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 |
|
Assigned To | bugmaster => kgv |
2013-02-12 20:36 |
|
Status | new => assigned |
2013-02-13 17:36 |
|
Note Added: 0023323 | |
2013-02-13 17:36 |
|
Assigned To | kgv => Pawel |
2013-02-13 17:36 |
|
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 |
|
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 |
|
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 |
|
Note Added: 0023353 | |
2013-02-15 11:53 |
|
Assigned To | san => kgv |
2013-02-15 11:53 |
|
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 |
|
Note Added: 0023413 | |
2013-02-20 14:59 |
|
Assigned To | san => bugmaster |
2013-02-20 14:59 |
|
Status | resolved => reviewed |
2013-02-20 17:02 |
|
Assigned To | bugmaster => mkv |
2013-02-20 17:41 | Pawel | Note Added: 0023418 | |
2013-02-21 12:16 |
|
Note Added: 0023428 | |
2013-02-21 12:18 |
|
Test case number | => Not needed |
2013-02-21 12:18 |
|
Assigned To | mkv => bugmaster |
2013-02-21 12:18 |
|
Status | reviewed => tested |
2013-02-26 10:00 |
|
Changeset attached | => occt master 27583309 |
2013-02-26 10:00 |
|
Assigned To | bugmaster => san |
2013-02-26 10:00 |
|
Status | tested => verified |
2013-02-26 10:00 |
|
Resolution | open => fixed |
2013-04-23 13:35 |
|
Status | verified => closed |
2013-04-29 15:22 |
|
Fixed in Version | => 6.6.0 |