Segmentation Fault - Linux
#11
(06-09-2011, 08:20 PM)gregory Wrote: 2/ Could you try to install fglrx ? you are maybe the first one to uses the opensource driver

3/ to debug more precisely you can use "si" and "ni" which stand for step in asm and next in asm.

2/ is for that other guy right? I don't have an ATI card.

It looks like I was mistaken as to the exact location of the crash (as to be expected, I'm really not any good at this stuff). Take a look at this:

http://pastebin.com/raw.php?i=3VmjS6kC

Using the si command, I was able to verify that both of the first two calls complete successfully. They are the vector::operator[] and vector::size() member functions.

The call that crashes is the third one. esi is not modified anywhere between 0x18be3ec and 0x18be41b, nor by the routines that are called in between. And as you can see, [esi] = 0.
Reply

Sponsored links

#12
Sorry, I did not get there was 3 different guys Tongue2

Otherwise very good debug Smile Looking the code in objdump
mov 0x23681c4,%esi give me this symbol __glewGenBuffers

Which version of glew do you have ? Which version do you load in the startup i.e. "ldd bin/plugins/libzzogl.so| grep -i glew" ?

I'm a little lost, which distribution do you have ? 32bits or 64 bits?

Edit:
And I will need the full (from start to crash) zzogl log in debug mode it might print somethings useful.
Reply
#13
(06-10-2011, 09:34 PM)gregory Wrote: Sorry, I did not get there was 3 different guys Tongue2

Otherwise very good debug Smile Looking the code in objdump
mov 0x23681c4,%esi give me this symbol __glewGenBuffers

Which version of glew do you have ? Which version do you load in the startup i.e. "ldd bin/plugins/libzzogl.so| grep -i glew" ?

I'm a little lost, which distribution do you have ? 32bits or 64 bits?

I'm running 32 bit ubuntu 11.04

libGLEW.so.1.5 => /usr/lib/libGLEW.so.1.5 (0x009b4000)




(06-10-2011, 09:34 PM)gregory Wrote: Edit:
And I will need the full (from start to crash) zzogl log in debug mode it might print somethings useful.

This is the console output of pcsx2. I don't know if zzogl has a separate log file

Code:
ZZogl-PG: Calling GSinit.
ZZogl-PG: GSinit finished.
ZZogl-PG: Calling GSopen.
ZZogl-PG: Using ZZ Ogl PG (Debug) :0.3.0.
ZZogl-PG: Creating ZZOgl window.
ZZogl-PG:  Got Doublebuffered Visual!
ZZogl-PG:  glX-Version 1.4
ZZogl-PG:  You have Direct Rendering!
ZZogl-PG:  Resolution 800x600. Depth 24 bpp. Position (0,0)
ZZogl-PG:  135 supported OpenGL Extensions: GL_ARB_copy_buffer, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location, GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_half_float_pixel, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture3D, GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture, GL_EXT_texture_rectangle, GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_vertex_array, GL_OES_blend_equation_separate, GL_OES_blend_func_separate, GL_OES_blend_subtract, GL_OES_byte_coordinates, GL_OES_depth24, GL_OES_depth_texture, GL_OES_EGL_image, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, GL_OES_fixed_point, GL_OES_framebuffer_object, GL_OES_mapbuffer, GL_OES_matrix_get, GL_OES_packed_depth_stencil, GL_OES_point_size_array, GL_OES_point_sprite, GL_OES_query_matrix, GL_OES_read_format, GL_OES_rgb8_rgba8, GL_OES_single_precision, GL_OES_standard_derivatives, GL_OES_stencil8, GL_OES_stencil_wrap, GL_OES_texture_3D, GL_OES_texture_cube_map, GL_OES_texture_env_crossbar, GL_OES_texture_mirrored_repeat, GL_OES_texture_npot, GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage, GL_APPLE_object_purgeable, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ATI_blend_equation_separate, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, GL_NV_texgen_reflection, GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vertex_program1_1, GL_NV_vertex_program, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

ZZogl-PG:  Using multitexturing.
ZZogl-PG:  Maximum texture size is 2048 for Tex_2d and 2048 for Tex_NV.
ZZogl-PG: Disabling MRT depth writing.
Reply
#14
Can you print the output of this command:
dpkg -l | grep -i glew
Reply
#15
(06-10-2011, 10:01 PM)gregory Wrote: Can you print the output of this command:
dpkg -l | grep -i glew

Code:
moi@zodiark:~/pcsx2/bin$ dpkg -l | grep -i glew
ii  glew-utils                            1.5.7.is.1.5.2-1ubuntu2                    The OpenGL Extension Wrangler - utilities
ii  libglew1.5                            1.5.7.is.1.5.2-1ubuntu2                    The OpenGL Extension Wrangler - runtime environment
ii  libglew1.5-dev                        1.5.7.is.1.5.2-1ubuntu2                    The OpenGL Extension Wrangler - development environment
ii  libglewmx1.5                          1.5.7.is.1.5.2-1ubuntu2                    The OpenGL Extension Wrangler - runtime environment
Reply
#16
Let's try to sum up glGenBuffers is a pointer to an opengl function. This pointer is not initialized so you segfault.

Normally opengl function are init by glewInit() function which is called before. There is no error print, so it must be done correctly.

Just to be sure, just before the crash in ZZCreate() do
print glClientActiveTexture
print glDepthFunc
print glGenBuffers
print glBindBuffer

Which driver do you have? Maybe your driver is half-installed. Did you have any issue with others 3D program?
Reply
#17
it's a glew bug, or a driver bug, or whatever: glewinfo reports everything through GL_VERSION_3_2, which is certainly wrong

i figured this computer might not run pcsx2, but i decided to give it a shot anyway, figuring i'd just get "gl extension or version not supported" message. then when I got a segfault, I figured it was something else so I came here for help. Sorry to have wasted your time.
Reply
#18
Hum, I did not know about glewinfo Smile By the way, what kind of computers/GPU/drivers do you have?
Reply
#19
The card is an intel 945GM, which, according to google, only supports through gl 1.4, so glGenBuffers isn't supported at all.

This is the full output of glewinfo:

http://pastebin.com/e8wURMFh

I encountered this during my googling; it may explain why glew is returning "available" for versions and extensions that aren't:

http://web.archiveorange.com/archive/v/f...Um1GWOiJKk

Quote:In GLX using Mesa's libGL, *ALL* functions "exist". If you call
'glXGetProcAddress("I like ham sandwiches");' it will gladly return a
non-NULL function pointer. Seriously. The dispatch table will have
NULL for that function, so calling the returned function will crash your
application.

It *has to* be implemented this way. glXGetProcAddress can be called
before there's a context bound. Until there's a context bound libGL has
no way to know what functions the driver may export. Since libGL can
load arbitrary drivers, the driver could export anything.

Reply
#20
Yep functions have some fallback on mesa software rasterizer. However I was expected that it will use them instead of crashing. I do not know how it is working.

I think you are too optimistic to run with a very old intel card Wink A smartphone will do a far better job Tongue2
Reply




Users browsing this thread: 1 Guest(s)