View Issue Details

IDProjectCategoryView StatusLast Update
0025851CommunityOCCT:Visualizationpublic2015-05-14 15:31
Reportershoogen Assigned Tobugmaster  
PrioritynormalSeveritycrash 
Status closedResolutionfixed 
PlatformLinux 64-bitOSDebian 
Target Version6.9.0Fixed in Version6.9.0 
Summary0025851: Visualization, TKOpenGl - do not use FBO cache when GLSL is unavailable
Descriptionsince yesterday I got a little problem using the visualization in DRAWEXE
perhaps this is related to the fix to #0025091

Program received signal SIGSEGV, Segmentation fault.
0x00007fffea63d895 in OpenGl_VertexBuffer::Create (this=0xda37b0, theGlCtx=...)
    at occt/src/OpenGl/OpenGl_VertexBuffer.cxx:64
64	    theGlCtx->core15->glGenBuffers (1, &myBufferId);


version tested occt 6.8.1.dev-50b994e
Steps To Reproduce
pload ALL
vinit


Requires OpenGL implementation with GL_ARB_framebuffer_object extension but with core functionality before OpenGL 2.0 (without GLSL and VBO).
Additional information
and documentation updates
#0  0x00007fffea63d895 in OpenGl_VertexBuffer::Create (this=0xda37b0, 
    theGlCtx=...)
    at occt/src/OpenGl/OpenGl_VertexBuffer.cxx:64
0000001  0x00007fffea63da1f in OpenGl_VertexBuffer::init (this=0xda37b0, 
    theGlCtx=..., theComponentsNb=4, theElemsNb=4, theData=0x7fffffffdad0, 
    theDataType=5126, theStride=16)
    at occt/src/OpenGl/OpenGl_VertexBuffer.cxx:121
0000002  0x00007fffea60d0b1 in OpenGl_VertexBuffer::init (this=0xda37b0, 
    theGlCtx=..., theComponentsNb=4, theElemsNb=4, theData=0x7fffffffdad0, 
    theDataType=5126)
    at /occt/inc/OpenGl_VertexBuffer.hxx:264
#3  0x00007fffea635e0d in OpenGl_VertexBuffer::Init (this=0xda37b0, 
    theGlCtx=..., theComponentsNb=4, theElemsNb=4, theData=0x7fffffffdad0)
    at occt/inc/OpenGl_VertexBuffer.hxx:97
#4  0x00007fffea64a643 in OpenGl_Workspace::RedrawImmediate (this=0xda3540, 
    theCView=..., theCUnderLayer=..., theCOverLayer=..., theToForce=1, 
    theTargetFBO=0x0)
    at occt/src/OpenGl/OpenGl_Workspace.cxx:1037
#5  0x00007fffea649bf7 in OpenGl_Workspace::Redraw (this=0xda3540, 
    theCView=..., theCUnderLayer=..., theCOverLayer=...)
    at occt/src/OpenGl/OpenGl_Workspace.cxx:749
#6  0x00007fffea60031e in OpenGl_GraphicDriver::Redraw (this=0xa5d8b0, 
    ACView=..., ACUnderLayer=..., ACOverLayer=...)
    at occt/src/OpenGl/OpenGl_GraphicDriver_7.cxx:126
0000007  0x00007fffed1c96b1 in Visual3d_View::Redraw (this=0xda2bf0, 
    theUnderLayer=..., theOverLayer=..., theX=0, theY=0, theWidth=0, 
    theHeight=0)
    at occt/src/Visual3d/Visual3d_View.cxx:1001
0000008  0x00007fffed1c92f6 in Visual3d_View::Redraw (this=0xda2bf0)
    at occt/src/Visual3d/Visual3d_View.cxx:919
0000009  0x00007fffed15dec4 in V3d_View::MustBeResized (this=0xda2880)
    at occt/src/V3d/V3d_View.cxx:492
#10 0x00007fffeabbfdc7 in VT_ProcessConfigure ()
    at occt/src/ViewerTest/ViewerTest_ViewerCommands.cxx:1560
0000011 0x00007fffeabc0ccd in ViewerMainLoop (argc=0, argv=0x0)
    at occt/src/ViewerTest/ViewerTest_ViewerCommands.cxx:2223
#12 0x00007fffeabc178e in VProcessEvents ()
    at occt/src/ViewerTest/ViewerTest_ViewerCommands.cxx:2421
TagsNo tags attached.
Test case numberNot needed

Activities

abv

2015-02-20 18:20

manager   ~0037763

Sebastian, please give details on the graphic card and driver you are using.

Fix for #25091 is known to be not compatible with Mesa on 32-bit Windows (it just fails to compile shaders), while it works on all other configurations we have tested here (including 64-bit Mesa on Windows)

shoogen

2015-02-20 19:31

reporter   ~0037774

with the environment variable LIBGL_ALWAYS_INDIRECT=1 i can use DRAWEXE without the SEGFAULT.
However, unlike OpenGL problems i have seem so far, when the pointer dereferenciation happens inside the device driver or some OpenGL library, it happens right inside OCCT.
64 theGlCtx->core15->glGenBuffers (1, &myBufferId);
(gdb) p (*theGlCtx).core15
$1 = (OpenGl_GlCore15 *) 0x0
(gdb) p *theGlCtx
$2 = (OpenGl_Context &) @0xd5e650: {<Standard_Transient> = {
    _vptr.Standard_Transient = 0x7fffea8a3f30, count = 2}, core11 = 0xd22f30,
  core11fwd = 0xd22f30, core15 = 0x0, core15fwd = 0x0, core20 = 0x0,
  core20fwd = 0x0, core32 = 0x0, core32back = 0x0, core33 = 0x0,
  core33back = 0x0, core41 = 0x0, core41back = 0x0, core42 = 0x0,
  core42back = 0x0, core43 = 0x0, core43back = 0x0, core44 = 0x0,
  core44back = 0x0, caps = {<Handle_Standard_Transient> = {
      entity = 0xbef6f0}, <No data fields>}, hasHighp = 1, hasTexRGBA8 = 1,
  arbNPTW = 1, arbTexRG = 0, arbTexBindless = 0x0, arbTBO = 0x0,
  arbTboRGB32 = 0, arbIns = 0x0, arbDbg = 0x0, arbFBO = 0xd22f30,
  arbFBOBlit = 0xd22f30, extGS = 0x0, extBgra = 1, extAnis = 1, extPDS = 1,
  atiMem = 0, nvxMem = 0, myWindow = 58720258, myDisplay = 0xd0e940,
  myGContext = 0xd5f130, mySharedResources = {<Handle_Standard_Transient> = {

My graphics hardware is not really suitable. On this machine it relies on the Intel 945G chipset.

name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
    GLX_OML_swap_method, GLX_SGI_swap_control, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
    GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile,
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_framebuffer_sRGB,
    GLX_EXT_create_context_es2_profile, GLX_MESA_copy_sub_buffer,
    GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control,
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read,
    GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
    GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
    GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control,
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read,
    GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
    GLX_EXT_texture_from_pixmap
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 945G
OpenGL version string: 1.4 Mesa 8.0.5
OpenGL extensions:
    GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture,
    GL_EXT_polygon_offset, GL_EXT_subtexture, GL_EXT_texture_object,
    GL_EXT_vertex_array, GL_EXT_compiled_vertex_array, GL_EXT_texture,
    GL_EXT_texture3D, GL_IBM_rasterpos_clip, GL_ARB_point_parameters,
    GL_EXT_draw_range_elements, GL_EXT_packed_pixels, GL_EXT_point_parameters,
    GL_EXT_rescale_normal, GL_EXT_separate_specular_color,
    GL_EXT_texture_edge_clamp, GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
    GL_SGIS_texture_lod, GL_ARB_multitexture, GL_IBM_multimode_draw_arrays,
    GL_IBM_texture_mirrored_repeat, GL_3DFX_texture_compression_FXT1,
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_transpose_matrix,
    GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
    GL_EXT_secondary_color, GL_EXT_texture_env_add,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
    GL_INGR_blend_func_separate, GL_NV_blend_square, GL_NV_light_max_exponent,
    GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
    GL_SUN_multi_draw_arrays, GL_ARB_texture_border_clamp,
    GL_ARB_texture_compression, GL_EXT_framebuffer_object,
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_MESA_window_pos,
    GL_NV_packed_depth_stencil, GL_NV_texture_rectangle, GL_NV_vertex_program,
    GL_ARB_depth_texture, GL_ARB_shadow, GL_ARB_texture_env_combine,
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
    GL_ARB_texture_mirrored_repeat, GL_ARB_window_pos,
    GL_EXT_stencil_two_side, GL_EXT_texture_cube_map, GL_NV_vertex_program1_1,
    GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_draw_buffers,
    GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects,
    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers,
    GL_ATI_texture_env_combine3, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,
    GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_ARB_half_float_pixel,
    GL_ARB_point_sprite, GL_ARB_shading_language_100, GL_ARB_sync,
    GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object,
    GL_ATI_blend_equation_separate, GL_EXT_blend_equation_separate,
    GL_OES_read_format, GL_ARB_pixel_buffer_object, GL_ARB_texture_rectangle,
    GL_EXT_pixel_buffer_object, GL_EXT_texture_rectangle,
    GL_ARB_framebuffer_object, GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_multisample, GL_EXT_packed_depth_stencil,
    GL_APPLE_object_purgeable, GL_ARB_vertex_array_object,
    GL_ATI_separate_stencil, GL_EXT_gpu_program_parameters, GL_OES_EGL_image,
    GL_ARB_copy_buffer, GL_ARB_map_buffer_range,
    GL_EXT_separate_shader_objects, GL_ARB_ES2_compatibility,
    GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location,
    GL_ARB_provoking_vertex, GL_ARB_sampler_objects, GL_EXT_provoking_vertex,
    GL_ARB_robustness

git

2015-02-20 20:02

administrator   ~0037778

Branch CR25851 has been created by kgv.

SHA-1: f2a17bd33fefc00f2b30b96f6c0539875ac829ce


Detailed log of new commits:

Author: kgv
Date: Fri Feb 20 20:01:46 2015 +0300

    0025851: Visualization, TKOpenGl - do not use FBO cache when GLSL is unavailable

kgv

2015-02-20 20:05

developer   ~0037779

Last edited: 2015-02-20 20:30

Dear shoogen,

could you please check the patch in CR25851 on your system?

Notice that your GPU has quite poor capabilities nowadays and is almost useless for graphics - OCCT visualization will be able to work in very compatible mode on it.

shoogen

2015-02-20 20:34

reporter   ~0037781

the branch CR25851 fixes the problem

kgv

2015-02-20 20:37

developer   ~0037782

Dear bugmaster,

please test the patch.

apv

2015-02-26 13:22

tester   ~0037919

Dear BugMaster,

Branch CR25851 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: f2a17bd33fefc00f2b30b96f6c0539875ac829ce

Number of compiler warnings:
occt component:
   Linux: 18 (18 on master)
   Windows: 2 (2 on master)
products component:
   Linux: 11 (11 on master)
   Windows: 4 (4 on master)

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 91496422 / 91684820
Total CPU difference: 57629.94999999982 / 53741.12000000005

Testing on Windows:
Total MEMORY difference: 53069154 / 53074574
Total CPU difference: 34462.140625 / 34043.96875

git

2015-03-18 13:39

administrator   ~0038615

Branch CR25851 has been deleted by inv.

SHA-1: f2a17bd33fefc00f2b30b96f6c0539875ac829ce

Related Changesets

occt: master 760c21c2

2015-02-20 17:01:46

kgv


Committer: bugmaster Details Diff
0025851: Visualization, TKOpenGl - do not use FBO cache when GLSL is unavailable Affected Issues
0025851
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File

Issue History

Date Modified Username Field Change
2015-02-20 18:09 shoogen New Issue
2015-02-20 18:09 shoogen Assigned To => mkv
2015-02-20 18:18 mkv Assigned To mkv => kgv
2015-02-20 18:18 mkv Status new => assigned
2015-02-20 18:20 abv Note Added: 0037763
2015-02-20 19:31 shoogen Note Added: 0037774
2015-02-20 20:00 kgv Category OCCT:DRAW => OCCT:Visualization
2015-02-20 20:00 kgv Target Version => 6.9.0
2015-02-20 20:00 kgv Summary OpenGL problem => Visualization, TKOpenGl - do not use FBO cache when GLSL is unavailable
2015-02-20 20:00 kgv Steps to Reproduce Updated
2015-02-20 20:02 git Note Added: 0037778
2015-02-20 20:05 kgv Note Added: 0037779
2015-02-20 20:05 kgv Assigned To kgv => shoogen
2015-02-20 20:05 kgv Status assigned => feedback
2015-02-20 20:30 kgv Note Edited: 0037779
2015-02-20 20:34 shoogen Note Added: 0037781
2015-02-20 20:37 kgv Note Added: 0037782
2015-02-20 20:37 kgv Assigned To shoogen => bugmaster
2015-02-20 20:37 kgv Status feedback => reviewed
2015-02-24 12:05 apv Assigned To bugmaster => apv
2015-02-26 13:20 apv Test case number => Not needed
2015-02-26 13:22 apv Note Added: 0037919
2015-02-26 13:22 apv Assigned To apv => bugmaster
2015-02-26 13:22 apv Status reviewed => tested
2015-02-27 16:53 bugmaster Changeset attached => occt master 760c21c2
2015-02-27 16:53 bugmaster Status tested => verified
2015-02-27 16:53 bugmaster Resolution open => fixed
2015-03-18 13:39 git Note Added: 0038615
2015-05-14 15:28 aiv Status verified => closed
2015-05-14 15:31 aiv Fixed in Version => 6.9.0