Bug#286362: xbase-clients: glxinfo segfaults when screen 1 doesn't have GLX
Package: xbase-clients
Version: 4.3.0.dfsg.1-8
Severity: minor
I have a dual-head setup. Screen 0 is driven by a NVidia card, with
the NVidia proprietary driver, and screen 1 is a Matrox G200 with the
normal mga driver.
When running glxinfo, it segfaults when it tries to print the visual
table for screen 1.
glxinfo output:
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.3
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control
client glx vendor string: NVIDIA Corporation
client glx version string: 1.3
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync,
GLX_NV_swap_group, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGI_swap_control, GLX_NV_float_buffer
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control,
GLX_ARB_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce4 MX 440/AGP/3DNOW!
OpenGL version string: 1.4.1 NVIDIA 53.36
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_point_parameters,
GL_ARB_point_sprite, GL_ARB_texture_compression, GL_ARB_texture_cube_map,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_window_pos, GL_S3_s3tc,
GL_EXT_texture_env_add, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
GL_EXT_compiled_vertex_array, GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels,
GL_EXT_paletted_texture, GL_EXT_point_parameters, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shared_texture_palette, GL_EXT_stencil_wrap,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_lod, GL_EXT_texture_lod_bias, GL_EXT_texture_object,
GL_EXT_vertex_array, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_blend_square,
GL_NV_fence, GL_NV_fog_distance, GL_NV_light_max_exponent,
GL_NV_packed_depth_stencil, GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NV_register_combiners, GL_NV_texgen_reflection,
GL_NV_texture_env_combine4, GL_NV_texture_rectangle,
GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_program,
GL_NV_vertex_program1_1, GL_NVX_ycrcb, GL_SGIS_generate_mipmap,
GL_SGIS_multitexture, GL_SGIS_texture_lod, GL_SUN_slice_accum
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x21 24 tc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x22 24 dc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x24 24 tc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x25 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x26 24 tc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x27 24 tc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x28 24 tc 0 32 0 r . . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x29 24 tc 0 32 0 r . . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x2a 24 tc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x2b 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x2c 24 tc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x2d 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x2e 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x2f 24 dc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x30 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x31 24 dc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x32 24 dc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x33 24 dc 0 32 0 r . . 8 8 8 0 0 16 0 16 16 16 16 0 0 None
0x34 24 dc 0 32 0 r . . 8 8 8 8 0 16 0 16 16 16 16 0 0 None
0x35 24 dc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x36 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x37 24 dc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x38 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
Error: couldn't find RGB GLX visual
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
Segmentation fault
gdb says:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1217124448 (LWP 5934)]
0xb7c7634e in strstr () from /lib/tls/libc.so.6
(gdb) bt
#0 0xb7c7634e in strstr () from /lib/tls/libc.so.6
#1 0x0804d070 in ?? ()
#2 0xbffff888 in ?? ()
#3 0x0804978a in ?? ()
#4 0x0804a88c in _IO_stdin_used ()
#5 0x00000000 in ?? ()
#6 0x00000023 in ?? ()
#7 0xbffff964 in ?? ()
#8 0x00000000 in ?? ()
#9 0x0804d070 in ?? ()
#10 0x00000000 in ?? ()
#11 0x0804ee08 in ?? ()
#12 0x00000001 in ?? ()
#13 0xbffff940 in ?? ()
#14 0xbffffaa8 in ?? ()
#15 0x08049e47 in ?? ()
#16 0x0804d070 in ?? ()
#17 0x0804ede0 in ?? ()
#18 0xbffff940 in ?? ()
#19 0xbffff8ac in ?? ()
#20 0x08048520 in ?? ()
#21 0xbffff8e4 in ?? ()
#22 0x0804ede0 in ?? ()
#23 0x00000002 in ?? ()
#24 0xb7d3fbf8 in ?? ()
#25 0x00000000 in ?? ()
#26 0x00000001 in ?? ()
#27 0xbffff8e4 in ?? ()
#28 0x00000000 in ?? ()
#29 0x00000000 in ?? ()
#30 0x00000001 in ?? ()
#31 0x00000000 in ?? ()
#32 0x06de90a5 in ?? ()
#33 0xbffff960 in ?? ()
#34 0xb7fe9000 in ?? ()
#35 0x00000000 in ?? ()
#36 0x00000000 in ?? ()
#37 0xb7c0556c in ?? () from /lib/tls/libc.so.6
#38 0xb7d3f278 in ?? ()
#39 0x00000000 in ?? ()
#40 0xb7c6b884 in _IO_setb () from /lib/tls/libc.so.6
#41 0x00000024 in ?? ()
#42 0xb7d2bfe0 in _IO_2_1_stdout_ () from /lib/tls/libc.so.6
#43 0xb7d2c027 in _IO_2_1_stderr_ () from /lib/tls/libc.so.6
#44 0xb7d2bfe0 in _IO_2_1_stdout_ () from /lib/tls/libc.so.6
#45 0x00000000 in ?? ()
#46 0x0804ab60 in _IO_stdin_used ()
#47 0xb7c6960f in _IO_do_write () from /lib/tls/libc.so.6
#48 0x0000008c in ?? ()
#49 0x00000004 in ?? ()
#50 0x00000010 in ?? ()
#51 0x0000f800 in ?? ()
#52 0x000007e0 in ?? ()
#53 0x0000001f in ?? ()
#54 0x00000040 in ?? ()
#55 0x00000006 in ?? ()
#56 0x00000000 in ?? ()
#57 0x00000000 in ?? ()
#58 0x00000000 in ?? ()
#59 0x00000000 in ?? ()
#60 0x00000000 in ?? ()
#61 0x00000000 in ?? ()
#62 0x00000000 in ?? ()
#63 0x00000000 in ?? ()
#64 0x00000000 in ?? ()
#65 0x00000000 in ?? ()
#66 0x00000000 in ?? ()
#67 0x00000000 in ?? ()
#68 0x00000000 in ?? ()
#69 0x00000000 in ?? ()
#70 0x00000000 in ?? ()
#71 0x00000000 in ?? ()
#72 0x00000000 in ?? ()
#73 0x00000000 in ?? ()
#74 0x00000000 in ?? ()
#75 0x00000000 in ?? ()
#76 0x00000000 in ?? ()
#77 0x00000000 in ?? ()
#78 0x00000000 in ?? ()
#79 0x00000000 in ?? ()
#80 0x00000000 in ?? ()
#81 0x00000000 in ?? ()
#82 0x00000001 in ?? ()
#83 0x00000000 in ?? ()
#84 0x00008000 in ?? ()
#85 0x00000000 in ?? ()
#86 0x00000000 in ?? ()
#87 0x00000000 in ?? ()
#88 0xb7d32fcc in ?? () from /lib/tls/libc.so.6
#89 0xb7c6a3e9 in _IO_file_write () from /lib/tls/libc.so.6
#90 0xb7c6960f in _IO_do_write () from /lib/tls/libc.so.6
#91 0xb7c695a8 in _IO_do_write () from /lib/tls/libc.so.6
#92 0xb7c69a55 in _IO_file_overflow () from /lib/tls/libc.so.6
#93 0xb7c6b5bb in __overflow () from /lib/tls/libc.so.6
#94 0xb7c65f73 in putc () from /lib/tls/libc.so.6
#95 0xb7fafafb in putchar () from /usr/X11R6/lib/libGLU.so.1
#96 0x0804a249 in ?? ()
#97 0x0804d070 in ?? ()
#98 0x00000001 in ?? ()
#99 0x00000000 in ?? ()
#100 0x00000000 in ?? ()
#101 0xb7f282a5 in glXChannelRectSyncSGIX () from /usr/lib/tls/libGL.so.1
#102 0x00000000 in ?? ()
#103 0x00000001 in ?? ()
#104 0x0000a37b in ?? ()
#105 0x00000000 in ?? ()
#106 0x00000002 in ?? ()
#107 0x00000000 in ?? ()
#108 0xb7d32fcc in ?? () from /lib/tls/libc.so.6
#109 0xb7d34290 in timezone () from /lib/tls/libc.so.6
#110 0xbffffb00 in ?? ()
#111 0xbffffb74 in ?? ()
#112 0xb7c107f8 in __libc_start_main () from /lib/tls/libc.so.6
#113 0xb7d32fcc in ?? () from /lib/tls/libc.so.6
valgrind says:
==5957== Invalid read of size 1
==5957== at 0x1BC6234E: strstr (in /lib/tls/libc-2.3.2.so)
==5957== by 0x8049E46: (within /usr/X11R6/bin/glxinfo)
==5957== by 0x804A248: (within /usr/X11R6/bin/glxinfo)
==5957== by 0x1BBFC7F7: __libc_start_main (in /lib/tls/libc-2.3.2.so)
==5957== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==5957==
==5957== Process terminating with default action of signal 11 (SIGSEGV)
==5957== Access not within mapped region at address 0x0
==5957== at 0x1BC6234E: strstr (in /lib/tls/libc-2.3.2.so)
==5957== by 0x8049E46: (within /usr/X11R6/bin/glxinfo)
==5957== by 0x804A248: (within /usr/X11R6/bin/glxinfo)
==5957== by 0x1BBFC7F7: __libc_start_main (in /lib/tls/libc-2.3.2.so)
valgrind also gives a lot of warnings in the beginning about
uninitialized bytes given to ioctl and conditional jumps, is that normal?
I haven't tried with the open source nv driver, will do when I have time.
-- System Information:
Debian Release: 3.1
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.9-rc3
Locale: LANG=C, LC_CTYPE=fi_FI.ISO-8859-15@euro (charmap=ISO-8859-15)
Versions of packages xbase-clients depends on:
ii cpp 4:3.3.4-2 The GNU C preprocessor (cpp)
ii libc6 2.3.2.ds1-18 GNU C Library: Shared libraries an
ii libdps1 4.3.0.dfsg.1-8 Display PostScript (DPS) client li
ii libexpat1 1.95.8-1 XML parsing C library - runtime li
ii libfontconfig1 2.2.3-4 generic font configuration library
ii libfreetype6 2.1.7-2.3 FreeType 2 font engine, shared lib
ii libgcc1 1:3.4.2-2 GCC support library
ii libice6 4.3.0.dfsg.1-8 Inter-Client Exchange library
ii libncurses5 5.4-4 Shared libraries for terminal hand
ii libpng12-0 1.2.8rel-1 PNG library - runtime
ii libsm6 4.3.0.dfsg.1-8 X Window System Session Management
ii libstdc++5 1:3.3.4-13 The GNU Standard C++ Library v3
ii libxaw7 4.3.0.dfsg.1-8 X Athena widget set library
ii libxcursor1 1.1.3-1 X cursor management library
ii libxext6 4.3.0.dfsg.1-8 X Window System miscellaneous exte
ii libxft2 2.1.2-6 FreeType-based font drawing librar
ii libxi6 4.3.0.dfsg.1-8 X Window System Input extension li
ii libxmu6 4.3.0.dfsg.1-8 X Window System miscellaneous util
ii libxmuu1 4.3.0.dfsg.1-8 lightweight X Window System miscel
ii libxpm4 4.3.0.dfsg.1-8 X pixmap library
ii libxrandr2 4.3.0.dfsg.1-8 X Window System Resize, Rotate and
ii libxrender1 0.8.3-7 X Rendering Extension client libra
ii libxt6 4.3.0.dfsg.1-8 X Toolkit Intrinsics
ii libxtrap6 4.3.0.dfsg.1-8 X Window System protocol-trapping
ii libxtst6 4.3.0.dfsg.1-8 X Window System event recording an
ii libxv1 4.3.0.dfsg.1-8 X Window System video extension li
ii xlibmesa-gl [libgl1] 4.3.0.dfsg.1-8 Mesa 3D graphics library [XFree86]
ii xlibmesa-glu [libglu1] 4.3.0.dfsg.1-8 Mesa OpenGL utility library [XFree
ii xlibs 4.3.0.dfsg.1-8 X Window System client libraries m
ii xlibs-data 4.3.0.dfsg.1-8 X Window System client data
ii zlib1g 1:1.2.2-3 compression library - runtime
-- no debconf information
Reply to: