View Issue Details

IDProjectCategoryView StatusLast Update
0023418Open CASCADEOCCT:Visualizationpublic2012-12-04 13:21
ReportervsrAssigned Toaba 
PriorityimmediateSeveritycrash 
Status closedResolutionreopened 
Product VersionUnscheduled 
Target Version6.5.4 
Summary0023418: Crash on the object displaying when running DRAW on remote station
DescriptionWhen running remotely, DRAWEXE crashes on attempt to display any object.

The crash is stably reproduced when logging to Mandriva 2010 32bit station (e.g. alex or atlex) from prefex (Scientific Linux 5.1 64bit) or tolex (RHEL 5.1 64bit).
Note, that when rlogin is done, for instance, from dobrex (Mandriva 2008 64bit), there's no crash.

Here is the log from terminal (rlogin to alex is done from prefex):

bash-4.0$ DRAWEXE
Draw[1]> Draw[2]> pload ALL
1
Draw[3]> vinit
Xlib: extension "Generic Event Extension" missing on display "prefex:0.0".
Xlib: extension "Generic Event Extension" missing on display "prefex:0.0".
Draw[4]> box b 1 1 1
Draw[5]> vdisplay b
DRAWEXE: xcb_io.c:542: _XRead: Assertion `dpy->xcb->reply_data != ((void *)0)' failed.
Aborted

After some experiments it has been found that there's no such problem on OCCT dev version built on 06/07/2012. Newer versions that were tried (including latest from 02/09/2012) have mentioned problem.
Steps To Reproducepload ALL
vinit
box b 1 1 1
vdisplay b
TagsNo tags attached.
Test case numberNot needed

Activities

san

2012-09-06 11:21

developer   ~0021418

Last edited: 2012-09-06 11:23

Dear vsr,

As far as I understand, the problem results from incompatible versions of graphic drivers and/or some X11 libraries on the client and the server machines.

It cannot be fixed at OCCT level, and moreover such "correction" is meaningless even if we manage to identify the OpenGL call that causes the problem: sooner or later we might touch some other "incompatible" OpenGL feature that will break the bad configuration again, as this is obviously not documented anywhere.

Thus your decision is needed concerning this issue.

vsr

2012-09-10 10:00

developer   ~0021443

DC,

As soon as it is confirmed that the problem is fixed after installing newer versions of the graphic driver (at least on the mentioned workstations), this issue can be closed.

Regards,
Vadim.

bugmaster

2012-09-19 10:55

administrator   ~0021507

Problem is not reproduced after installation of new graphic drivers

vsr

2012-11-15 10:55

developer   ~0022251

Last edited: 2012-11-15 10:56

Dear colleagues,

Unfortunately, this bug seems to require additional analysis.

The crash is still reproduced on OCCT 6.5.4, but there are some additional details.

1) OCCT is built on Mandriva 2010 32bits.
2) Rlogin to Mandriva 2010 32bits station (alex, atlex) is done from different stations (Mandriva 2008 64bits / dobrex, Debian 4.0 32bits / telex, Win32 via cygwin).

Crash takes place in both DRAWEXE and SALOME when displaying any object in 3d viewer (vinit passes OK).

If OCCT is built in Release mode - the crash is not reproduced! Crash takes place only if OCCT is built in Debug mode.

Regards,
Vadim.

san

2012-11-15 11:44

developer   ~0022257

Dear aba,

Could you please try to find the reason for this problem?

aba

2012-11-28 17:59

developer   ~0022420

The Git branch CR23418 is ready to be reviewed.

In method OpenGl_Context::readGlVersion():
  1) additioal checking of aMinor and Major variables was added in condition 'if (glGetError() == GL_NO_ERROR)' to be sure that OpenGL doesn't know GL_MAJOR_VERSION and GL_MINOR_VERSION variables.
  2) Parsing of 'aVerStr' string was edited to get correct major and minor OpenGL versions.
In method OpenGl_Context::init():
  1) OpenGL version determination was corrected.
Boolean variables were added to check GL version and initialize OpenGl_Context fields core12,...,core20.

Dear san, please review.

san

2012-11-28 19:01

developer   ~0022424

Branch CR23418 reviewed without remarks, ready for testing.

san

2012-11-29 17:40

developer   ~0022460

It should be noted that there is no solution for this problem that works in 100% cases.

Example: remote connection to Mandriva2010 32-bit (X client) from Mandriva2008 32-bit (X server), with the X server having old NVIDIA drivers installed (release 185.xx.xx).

If an attempt is made to initialize OCCT 3D viewer on such configuration, the application still crashes with the X error message mentioned in the issue description. This driver reports OpenGL version 3.0 however it does not support vertex buffer objects over a remote X connection and this is a real bug because VBO is a built-in feature of OpenGL 1.5+.

Resolution: more recent video drivers should be installed.

mkv

2012-11-30 13:10

tester   ~0022479

Dear BugMaster,
Branch CR23418 (and products from GIT master) was compiled on Linux and Windows platforms and tested.

Regressions:
Not detected

Improvements:
Not detected

Testing cases:
Not detected

N.B. There is not crash on this fix.
Also, there is not crash on IR-2012-11-15-master-occt.

vsr

2012-11-30 13:17

developer   ~0022481

I confirm that after installation of newer driver on my Mandriva 2010 32bits (dobrex) - "OpenGL version string: 3.3.0 NVIDIA 295.40" the crash is no more reproduced in both DEBUG and RELEASE modes.

Related Changesets

occt: master 86325709

2012-11-30 11:40:17

aba

Details Diff
0023418: Crash on the object displaying when running DRAW on remote station. OpenGL version determination was corrected

Small style changes
Comments were corrected
Affected Issues
0023418
mod - src/OpenGl/OpenGl_Context.cxx Diff File

Issue History

Date Modified Username Field Change
2012-09-05 12:03 vsr New Issue
2012-09-05 12:03 vsr Assigned To => san
2012-09-05 12:06 bugmaster Status new => assigned
2012-09-06 11:21 san Note Added: 0021418
2012-09-06 11:21 san Assigned To san => vsr
2012-09-06 11:21 san Status assigned => feedback
2012-09-06 11:23 san Note Edited: 0021418
2012-09-10 10:00 vsr Note Added: 0021443
2012-09-10 10:00 vsr Status feedback => assigned
2012-09-10 10:00 vsr Assigned To vsr => bugmaster
2012-09-10 10:00 vsr Status assigned => reviewed
2012-09-19 10:55 bugmaster Note Added: 0021507
2012-09-19 10:55 bugmaster Status reviewed => closed
2012-09-19 10:55 bugmaster Resolution open => not fixable
2012-10-02 14:54 bugmaster Project Internal => Open CASCADE
2012-11-15 10:55 vsr Note Added: 0022251
2012-11-15 10:55 vsr Status closed => feedback
2012-11-15 10:55 vsr Resolution not fixable => reopened
2012-11-15 10:56 vsr Note Edited: 0022251
2012-11-15 11:44 san Note Added: 0022257
2012-11-15 11:44 san Assigned To bugmaster => aba
2012-11-15 11:44 san Status feedback => assigned
2012-11-28 17:59 aba Note Added: 0022420
2012-11-28 17:59 aba Assigned To aba => san
2012-11-28 17:59 aba Status assigned => resolved
2012-11-28 19:01 san Note Added: 0022424
2012-11-28 19:01 san Status resolved => reviewed
2012-11-28 19:02 san Assigned To san => bugmaster
2012-11-28 19:28 mkv Assigned To bugmaster => mkv
2012-11-29 17:40 san Note Added: 0022460
2012-11-30 13:10 mkv Note Added: 0022479
2012-11-30 13:13 mkv Test case number => Not needed
2012-11-30 13:13 mkv Assigned To mkv => bugmaster
2012-11-30 13:13 mkv Status reviewed => tested
2012-11-30 13:17 vsr Note Added: 0022481
2012-12-04 13:21 aba Changeset attached => occt master 86325709
2012-12-04 13:21 aba Assigned To bugmaster => aba
2012-12-04 13:21 aba Status tested => verified