View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0029124 | Open CASCADE | OCCT:Visualization | public | 2017-09-19 12:21 | 2018-06-29 21:19 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.3.0 | Fixed in Version | 7.3.0 | ||
Summary | 0029124: Visualization, Tests - failures when tests are executed via Remote Desktop connection | ||||
Description | When I run tests on my workstation (Windows 7) via remote desktop connection from Windows 10 workstation, it uses OpenGl software driver by Microsoft that does not provide necessary features for OCCT visualization to work normally; it falls back to fixed pipeline. This leads to several kinds of failures in tests: 1. [0029125] Command vdump in some tests (e.g. mesh advanced_shading A1) fails with message TKOpenGl | Type: Other | ID: 0 | Severity: Low | Message: Unhandled GL error: GL_INVALID_ENUM Fail: view dump failed! 2. Command vreadpixel prints extra message in the beginning "Warning, on screen buffer is used for image dump - content might be invalid" which breaks further logic of the test (it expects to get three integers, not text) 3. The same message is output by vdump and perhaps some other commands, and sometimes is interpreted as error (e.g. in grid caf presentation) 4. [0029125] 6 tests in the grid v3d dimensions fail with access violation exception, occurring in OpenGl_VertexBuffer::Create() which uses theGlCtx->core15fwd without checking it for null 5. [0025162] "Error: NPOT Textures (21x21) are not supported by hardware" in test bugs vis bug9517, 23102, 23804, 24725, 24930, 25369, 25475... 6. [0029127] Second call to vdump kills DRAW in test bugs vis bug23813 (access violation in glReadPixels called from penGl_Workspace::BufferDump); the same occurs in test bugs vis bug24001 and v3d anim videorecorder 7. Ray tracing and path tracing are not available In addition, there are over 100 tests failing due to inability to verify color of the pixel (result of vreadpixel command), e.g. bugs vis bug25251 | ||||
Steps To Reproduce | Run tests on remote computer while connecting via Remote Desktop Connection on Windows | ||||
Additional information and documentation updates | Draw[6]> vinit TKOpenGl | Type: Portability | ID: 0 | Severity: High | Message: OpenGL driver is too old! Context info: Vendor: Microsoft Corporation Renderer: GDI Generic Version: 1.1.0 Fallback using deprecated fixed-function pipeline. Visualization might work incorrectly. Consider upgrading the graphics driver. Driver1/Viewer1/View1 Draw[8]> vglinfo OpenGL info: GLvendor: Microsoft Corporation GLdevice: GDI Generic GLversion: 1.1.0 GLSLversion: Max texture size: 1024 Max combined texture units: 1 Max MSAA samples: 0 Viewport: 409x409 ResolutionRatio: 1 | ||||
Tags | No tags attached. | ||||
Test case number | Not required | ||||
related to | 0025162 | closed | bugmaster | Open CASCADE | Visualization, TKOpenGl - drop GLU library dependency |
related to | 0024644 | closed | bugmaster | Open CASCADE | Draw_Printer - provide the way to control messages gravity filter |
parent of | 0029125 | closed | bugmaster | Open CASCADE | Visualization, OpenGl_Text - fix access violation within OpenGL1.1 context |
parent of | 0029127 | closed | bugmaster | Open CASCADE | Visualization - V3d_View::ToPixMap() crashes on tiled rendering without FBO |
|
1. Command vdump fails with message TKOpenGl | Type: Other | ID: 0 | Severity: Low | Message: Unhandled GL error: GL_INVALID_ENUM Fail: view dump failed! I cannot reproduce this issue. 2. Command vreadpixel prints extra message in the beginning "Warning, on screen buffer is used for image dump - content might be invalid" which breaks further logic of the test (it expects to get three integers, not text) 3. The same message is output by vdump and perhaps some other commands, and sometimes is interpreted as error (e.g. in grid caf presentation) This is not a Visualization issue - it is a problem of Draw Harness which redirects all messages of Message::DefaultMessenger() to Tcl by default. |
|
Branch CR29124 has been created by abv. SHA-1: 4b0c7182b49a13429bc1adb2bf13506b185f65e5 Detailed log of new commits: Author: abv Date: Tue Sep 19 13:04:23 2017 +0300 0029124: Visualization, Tests - failures when tests are executed via Remote Desktop connection Protection against accessing null pointer is added in OpenGl_VertexBuffer::Create(). OpenGl-related warnings are suppressed in command vreadpixel. Test grid caf presentation is configured to ignore OpenGl-related warning messages. |
|
Branch CR29124 (based on CR28824_2 -- I need it for testing) contains corrections for points 2-4 (the latter is different from fix made in CR29125 -- I suppose both fixes can be kept for more safety). |
|
Problem 1 is reproduced not in all cases, but at least in tests in grid mesh -- sorry I did not recognize that in the beginning. |
|
Branch CR29124 has been updated by abv. SHA-1: 6699b9c45250c88fa5eda70ed920428601263c73 Detailed log of new commits: Author: abv Date: Tue Sep 19 13:13:09 2017 +0300 Tests in grid tools are configured to report status SKIPPED if tools are not available (OCCT is built without Qt). |
|
> Problem 1 is reproduced not in all cases, but at least in tests in grid mesh Actually this is a bug in vglinfo, not vdump. I have amended fix for this to 0029125. |
|
Besides, problem 1 was also reproduced in all tests in group 3dparty -- initially they failed for me because of wrong binaries of Gl2Ps used |
|
Branch CR29124 has been updated forcibly by abv. SHA-1: 5146ed7c79be9d822323a666f97bafa9d1d60cdc |
|
> 6. Second call to vdump kills DRAW in test bugs vis bug23813 (access violation in glReadPixels called from penGl_Workspace::BufferDump); 0029127 handles vdump crash in bug23813. |
|
> 5. "Error: NPOT Textures (21x21) are not supported by hardware" in test bugs vis bug9517, 23102, 23804, 24725, 24930, 25369, 25475... Fallback for NPOT textures has been dropped within 0025162, and there is no reason for it on modern configurations. |
|
Please review corrections pushed to branch CR29124; the tests have passed fine -- see Jenkins job CR29124-master-abv |
|
--- a/src/ViewerTest/ViewerTest_ViewerCommands.cxx +++ b/src/ViewerTest/ViewerTest_ViewerCommands.cxx @@ -6022,6 +6022,10 @@ static int VReadPixel (Draw_Interpretor& theDI, return 1; } + // clear possible warnings messages that could have been added by ToPixMap + // into the Tcl interpretor via DefaultMessenger + theDI.Reset(); I have doubts that this is a correct fix and a proper place for it. What is the result of it - warnings are suppressed, or somehow not returned to Tcl? By the way, these messages might be generated by many other commands, not just vreadpixel. |
|
The effect is that in the case of successful completion of vreadpixel it will return exactly what is expected -- either RGB values or color name. For that, warnings or any other messages that could have been generated during execution of the code of the command until that point are cleared by Reset(). If above code fails, its messages will remain in the interpretor. Other commands are not touched, since for them having such warning visible can be useful. |
|
> For that, warnings or any other messages that could have been generated > during execution of the code of the command until that point > are cleared by Reset(). If above code fails, its messages > will remain in the interpretor. It does not look correct suppressing messages from output like this. I would say that Draw_Printer should not replace Message_PrinterOStream by default, or Draw_Printer should redirect messages to Tcl depending on Gravity (e.g., only failures?). |
|
Implementation of Draw_Printer is different subject, it goes far outside the scope of the current issue. If you like, you can create a separate issue for this. Note that Draw_Printer has been set as default for all DRAW in fix for 0024644; before that it was set only on XSDRAW -- the need was to handle results of tpstat command in DRAW tests, see 0023452. I guess that changes in Draw_Printer can easily affect our tests that might rely on ability to handle such messages on Tcl level. |
|
Please try redirecting Default Messenger content (if any) to std::cout, instead of discarding it at all within vreadpixel command. |
|
Branch CR29124_1 has been created by abv. SHA-1: 30b2e022350900759b8834b44acdadda2dff8e27 Detailed log of new commits: Author: abv Date: Tue Sep 19 13:04:23 2017 +0300 0029124: Visualization, Tests - failures when tests are executed via Remote Desktop connection Protection against accessing null pointer is added in OpenGl_VertexBuffer::Create(). In command vreadpixel OpenGl-related warnings are redirected to cout so that they do not contaminate the command output. Test grid caf presentation is configured to ignore OpenGl-related warning messages. Tests in grid tools are configured to report status SKIPPED if tools are not available (OCCT is built without Qt). |
|
Corrected version is pushed to CR29124_1 (on current master) and tested (manually, on remote desktop); please consider for integration |
|
Branch CR29124 has been deleted by kgv. SHA-1: 5146ed7c79be9d822323a666f97bafa9d1d60cdc |
|
Branch CR29124_1 has been deleted by kgv. SHA-1: 30b2e022350900759b8834b44acdadda2dff8e27 |
occt: master 68beaa3c 2017-09-19 10:04:23
Committer: bugmaster Details Diff |
0029124: Visualization, Tests - failures when tests are executed via Remote Desktop connection Protection against accessing null pointer is added in OpenGl_VertexBuffer::Create(). In command vreadpixel OpenGl-related warnings are redirected to cout so that they do not contaminate the command output. Test grid caf presentation is configured to ignore OpenGl-related warning messages. Tests in grid tools are configured to report status SKIPPED if tools are not available (OCCT is built without Qt). |
Affected Issues 0029124 |
|
mod - src/OpenGl/OpenGl_VertexBuffer.cxx | Diff File | ||
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx | Diff File | ||
mod - tests/bugs/vis/bug22018 | Diff File | ||
mod - tests/caf/parse.rules | Diff File | ||
mod - tests/tools/parse.rules | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-09-19 12:21 |
|
New Issue | |
2017-09-19 12:21 |
|
Assigned To | => kgv |
2017-09-19 12:58 | kgv | Relationship added | parent of 0029125 |
2017-09-19 12:59 |
|
Description Updated | |
2017-09-19 13:04 | kgv | Note Added: 0070671 | |
2017-09-19 13:04 | git | Note Added: 0070672 | |
2017-09-19 13:04 | kgv | Note Edited: 0070671 | |
2017-09-19 13:07 |
|
Note Added: 0070673 | |
2017-09-19 13:07 |
|
Note Added: 0070674 | |
2017-09-19 13:13 | git | Note Added: 0070675 | |
2017-09-19 13:27 | kgv | Note Added: 0070677 | |
2017-09-19 13:27 | kgv | Note Edited: 0070677 | |
2017-09-19 13:49 |
|
Note Added: 0070679 | |
2017-09-19 14:23 |
|
Description Updated | |
2017-09-20 10:46 | git | Note Added: 0070705 | |
2017-09-20 14:30 | kgv | Relationship added | parent of 0029127 |
2017-09-20 18:16 | kgv | Note Added: 0070715 | |
2017-09-20 18:17 | kgv | Relationship added | related to 0025162 |
2017-09-20 18:18 | kgv | Note Added: 0070717 | |
2017-09-20 18:20 | kgv | Description Updated | |
2017-09-21 16:11 |
|
Note Added: 0070738 | |
2017-09-21 16:11 |
|
Status | new => resolved |
2017-09-21 16:11 |
|
Steps to Reproduce Updated | |
2017-09-21 16:17 | kgv | Note Added: 0070739 | |
2017-09-21 16:19 | kgv | Assigned To | kgv => abv |
2017-09-21 16:19 | kgv | Status | resolved => feedback |
2017-09-21 17:15 |
|
Note Added: 0070745 | |
2017-09-21 17:40 |
|
Assigned To | abv => kgv |
2017-09-22 11:56 | kgv | Note Added: 0070777 | |
2017-09-22 11:56 | kgv | Assigned To | kgv => abv |
2017-09-22 15:52 |
|
Note Added: 0070794 | |
2017-09-22 15:53 |
|
Note Edited: 0070794 | |
2017-09-22 15:54 |
|
Assigned To | abv => kgv |
2017-09-22 16:12 | kgv | Relationship added | related to 0024644 |
2017-10-04 20:29 | kgv | Note Added: 0071210 | |
2017-10-04 20:29 | kgv | Assigned To | kgv => abv |
2017-10-04 20:29 | kgv | Status | feedback => assigned |
2017-10-05 13:48 | git | Note Added: 0071238 | |
2017-10-05 13:58 |
|
Note Added: 0071239 | |
2017-10-05 13:58 |
|
Assigned To | abv => kgv |
2017-10-05 13:58 |
|
Status | assigned => resolved |
2017-10-05 13:58 |
|
Assigned To | kgv => bugmaster |
2017-10-05 13:58 |
|
Status | resolved => reviewed |
2017-10-06 14:55 | bugmaster | Changeset attached | => occt master 68beaa3c |
2017-10-06 14:55 | bugmaster | Status | reviewed => verified |
2017-10-06 14:55 | bugmaster | Resolution | open => fixed |
2017-10-09 10:20 | bugmaster | Test case number | => Not required |
2017-10-14 12:19 | git | Note Added: 0071458 | |
2017-10-14 12:19 | git | Note Added: 0071459 | |
2018-02-20 12:59 |
|
Target Version | 7.4.0 => 7.3.0 |
2018-06-29 21:15 |
|
Fixed in Version | => 7.3.0 |
2018-06-29 21:19 |
|
Status | verified => closed |