Bug 101647 - Chromium crashes b/c of my Radeon Card
Summary: Chromium crashes b/c of my Radeon Card
Keywords:
Status: CLOSED DUPLICATE of bug 104029
Alias: None
Product: Red Hat Linux Beta
Classification: Retired
Component: XFree86
Version: beta1
Hardware: athlon
OS: Linux
high
medium
Target Milestone: ---
Assignee: Mike A. Harris
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks: CambridgeBlocker
TreeView+ depends on / blocked
 
Reported: 2003-08-05 05:19 UTC by Justin Churchey
Modified: 2007-03-27 04:08 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-02-21 18:57:58 UTC
Embargoed:


Attachments (Terms of Use)
stdout of gdb (4.10 KB, text/plain)
2003-08-31 20:03 UTC, Steve Bergman
no flags Details
stderr of gdb (2.08 KB, text/plain)
2003-08-31 20:04 UTC, Steve Bergman
no flags Details
maps (3.99 KB, text/plain)
2003-08-31 20:05 UTC, Steve Bergman
no flags Details
gdb stdout: x/1w $edx + 0x1a0 (1.64 KB, text/plain)
2003-08-31 20:57 UTC, Steve Bergman
no flags Details

Description Justin Churchey 2003-08-05 05:19:36 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030804

Description of problem:
I have an ATI Radeon 7200 card that uses the ATI Radeon (Generic) driver. 
Whenever I attempt to start up chromium, it renders the window, but then it
crashes.  After running it using gdb I get the following output:

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1084362080 (LWP 4131)]
0x00952087 in _mesa_test_os_sse_exception_support ()
   from /usr/X11R6/lib/modules/dri/tls/radeon_dri.so


Version-Release number of selected component (if applicable):
chromium-0.9.12-24

How reproducible:
Always

Steps to Reproduce:
1.Run chromium
2.
3.
    

Actual Results:  Program renders the window, but then it crashes.

Expected Results:  Program runs just fine

Additional info:

Comment 1 Than Ngo 2003-08-05 09:30:53 UTC
it's a bug in XFree86. i assign it to correct component

Comment 2 Mike A. Harris 2003-08-08 22:34:50 UTC
> 0x00952087 in _mesa_test_os_sse_exception_support ()
>    from /usr/X11R6/lib/modules/dri/tls/radeon_dri.so

This is not a bug, it is expected.  To find out where the real problem is, rerun
the application and when the above SEGV occurs, type "cont".  At that point the
real failure will be revealed.

This might be a bug in the TLS support.  I've CC'd jakub for comment.

Comment 3 Justin Churchey 2003-08-08 23:36:50 UTC
After using cont, I get the following output:

Continuing.
video mode set (bpp=32 RGB=888 depth=24)
-OpenGL-----------------------------------------------------
Vendor     : Tungsten Graphics, Inc.
Renderer   : Mesa DRI Radeon 20020611 AGP 1x x86/MMX/3DNow!/SSE TCL
Version    : 1.2 Mesa 4.0.4
Extensions :
GL_ARB_imaging                  GL_ARB_multisample
GL_ARB_multitexture             GL_ARB_texture_border_clamp
GL_ARB_texture_compression      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_EXT_abgr                     GL_EXT_bgra
GL_EXT_blend_color              GL_EXT_blend_logic_op
GL_EXT_blend_minmax             GL_EXT_blend_subtract
GL_EXT_clip_volume_hint         GL_EXT_convolution
GL_EXT_compiled_vertex_array    GL_EXT_histogram
GL_EXT_packed_pixels            GL_EXT_polygon_offset
GL_EXT_rescale_normal           GL_EXT_secondary_color
GL_EXT_texture3D                GL_EXT_texture_env_add
GL_EXT_texture_env_combine      GL_EXT_texture_env_dot3
GL_EXT_texture_filter_anisotropic GL_EXT_texture_object
GL_EXT_texture_lod_bias         GL_EXT_vertex_array
GL_IBM_rasterpos_clip           GL_IBM_texture_mirrored_repeat
GL_MESA_window_pos              GL_NV_blend_square
GL_NV_texgen_reflection         GL_SGI_color_matrix
GL_SGI_color_table              GL_SGIS_generate_mipmap
------------------------------------------------------------
4 CDROM drive(s).
[New Thread 26959280 (LWP 9775)]
-OpenAL-----------------------------------------------------
Vendor     : Loki Software
Renderer   : Software
Version    : 0.0.4
Extensions :
AL_LOKI_play_position           AL_LOKI_IMA_ADPCM_format
AL_LOKI_buffer_data_callback    ALUT_LOKI_buffer_convert_data
ALC_LOKI_audio_channel          AL_LOKI_attenuation_scale
------------------------------------------------------------
...startup complete.
high scores:
01/01/2000           nobody 250000
01/01/2000           nobody 200000
01/01/2000           nobody 150000
01/01/2000           nobody 100000
01/01/2000           nobody 50000

Program received signal SIGSEGV, Segmentation fault.
0x005ddc6f in choose_TexCoord2f ()
   from /usr/X11R6/lib/modules/dri/tls/radeon_dri.so


Comment 4 Steve Bergman 2003-08-31 09:24:51 UTC
Just as another data point, I am running rawhide which is current as of today. 
I switched from an NVidia card using the binary driver to a radeon 9100 and am
experiencing the same problem.  glxgears works, but anything more complex
(chromium, tux racer, rune, Q3A, RTCW, etc) crashes as described.

gdb output follows:

GNU gdb Red Hat Linux (5.3.90-0.20030710.21rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
(no debugging symbols found)...Using host libthread_db library
"/lib/tls/libthread_db.so.1".
                                                                               
                                                                               
                                                                               
     
(gdb) run
Starting program: /usr/bin/chromium
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...[Thread debugging using libthread_db enabled]
[New Thread -1084358536 (LWP 19888)]
(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...WARNING: could not read config file (/root/.chromium)
randomizing.
(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...SDL initialized.
                                                                               
                                                                               
                                                                               
     
(no debugging symbols found)...
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1084358536 (LWP 19888)]
0x0065c637 in _mesa_test_os_sse_exception_support ()
   from /usr/X11R6/lib/modules/dri/tls/r200_dri.so
(gdb) cont
Continuing.
video mode set (bpp=32 RGB=888 depth=24)
-OpenGL-----------------------------------------------------
Vendor     : Tungsten Graphics, Inc.
Renderer   : Mesa DRI R200 20020827 AGP 1x x86/MMX/3DNow!/SSE TCL
Version    : 1.2 Mesa 4.0.4
Extensions :
GL_ARB_imaging                  GL_ARB_multitexture
GL_ARB_texture_env_add          GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3         GL_ARB_transpose_matrix
GL_EXT_abgr                     GL_EXT_bgra
GL_EXT_blend_color              GL_EXT_blend_logic_op
GL_EXT_blend_minmax             GL_EXT_blend_subtract
GL_EXT_clip_volume_hint         GL_EXT_convolution
GL_EXT_compiled_vertex_array    GL_EXT_histogram
GL_EXT_packed_pixels            GL_EXT_polygon_offset
GL_EXT_rescale_normal           GL_EXT_secondary_color
GL_EXT_stencil_wrap             GL_EXT_texture3D
GL_EXT_texture_env_add          GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3         GL_EXT_texture_filter_anisotropic
GL_EXT_texture_object           GL_EXT_texture_lod_bias
GL_EXT_vertex_array             GL_IBM_rasterpos_clip
GL_MESA_pack_invert             GL_MESA_ycbcr_texture
GL_MESA_window_pos              GL_NV_texgen_reflection
GL_NV_texture_rectangle         GL_SGI_color_matrix
------------------------------------------------------------
3 CDROM drive(s).
-OpenAL-----------------------------------------------------
Vendor     : Loki Software
Renderer   : Software
Version    : 0.0.4
Extensions :
AL_LOKI_play_position           AL_LOKI_IMA_ADPCM_format
AL_LOKI_buffer_data_callback    ALUT_LOKI_buffer_convert_data
ALC_LOKI_audio_channel          AL_LOKI_attenuation_scale
------------------------------------------------------------
...startup complete.
high scores:
01/01/2000           nobody 250000
01/01/2000           nobody 200000
01/01/2000           nobody 150000
01/01/2000           nobody 100000
01/01/2000           nobody 50000
[New Thread 24570800 (LWP 19896)]
                                                                               
                                                                               
                                                                               
     
Program received signal SIGSEGV, Segmentation fault.
0x00689beb in choose_TexCoord2f ()
   from /usr/X11R6/lib/modules/dri/tls/r200_dri.so
(gdb)
~

Comment 5 Steve Bergman 2003-08-31 11:09:36 UTC
LD_ASSUME_KERNEL=2.2.5 seems to help.  chromium and tuxracer now work.  Quake3,
rune, etc. still crash.

It was suggested on the rhl-beta list that I try:

LD_PRELOAD=libGL.so.1 /usr/bin/chromium

This, by itself does not help.

Comment 6 Steve Bergman 2003-08-31 14:32:22 UTC
Just a little more info.

LD_ASSUME_KERNEL=2.2.5 gets chromium and tuxracer to work.

Rune also works now but only with both LD_ASSUME_KERNEL AND LD_PRELOAD=libGL.so.1

I'm unclear as to exactly what both of these actually do so I'm posting in hopes
that Mike or someone might see a clue in it.

I also have a report of a Radeon 9200SE working in severn without problems.

I'll try to repartition and install a severn partition today to see if it's a
new rawhide issue.

Comment 7 Jakub Jelinek 2003-08-31 15:22:11 UTC
What exact glibc you're using?

Comment 8 Steve Bergman 2003-08-31 17:21:28 UTC
I'm using a completely current rawhide which is glibc-2.3.2-78.

BTW, Mike suggested I:

# rpm -V $(rpm -qa | grep XFree86)

since I had had the NVidia drivers installed previously.  It shows no problems.

Also, I removed XFree86/-devel/-Mesa-libGL/-Mesa-libGLU, made sure there were no
libGL* files left anywhere and up2dated the packages back.


Comment 9 Mike A. Harris 2003-08-31 18:14:51 UTC
Aside from disabling the libGL optimization patch and/or TLS support, which
seems to have broken a lot of games, I'm not sure what else I can do about this
in a short period of time.  It isn't clear if it is a problem in the libGL
or in glibc or something to me.  And most people reporting the problem are
using systems with binary drivers mixed in which complicates things as we
need to flush their systems first.

This is IMHO a showstopper for Cambridge.  Flagging as such.

I'll have to do an install of a completely up to date tree, and test the
latest stuff out with some of these games.  I have Rune, Quake 1/2, and can
test any open source games or freely available demos.  I can't test games
that aren't freely available, that I don't own a legal copy of however, so
someone else will have to figure out problems with any of those (ie: Quake 3)
unless the free demo can reproduce the problems.

Please continue to update with any more news, and to keep your systems updated
to rawhide current if possible.  I'll update also when I've had time to
experiment.

Thanks guys.

Comment 10 Steve Bergman 2003-08-31 19:01:03 UTC
OK, I'll start flushing now.  I'll set up two new pristine partitions.  One for
Severn, one for Rawhide.

Agreed about the show stopper part.  I suffered with problems and limitations
with the Radeon driver for my old Radeon QD for a long time before I broke down
and switched to NVidia, and have never really felt good about the decision.  I'm
encouraged by what I have seen of the newer r200 driver running under RH9, and
releasing Cambridge with Radeon breakage would only drive more people to the
unsupportable proprietary drivers.

Comment 11 Jakub Jelinek 2003-08-31 19:03:11 UTC
Well, just backtrace is certainly not enough to see what's going on.
Minimal other needed info (at the choose_TexCoord2f segfault), is:
1) disas $pc-64 $pc+64
2) i reg
3) cat /proc/<pid>/maps (of the segfaulting process)

Comment 12 Steve Bergman 2003-08-31 20:03:42 UTC
Created attachment 94101 [details]
stdout of gdb

Comment 13 Steve Bergman 2003-08-31 20:04:25 UTC
Created attachment 94102 [details]
stderr of gdb

Comment 14 Steve Bergman 2003-08-31 20:05:16 UTC
Created attachment 94103 [details]
maps

Comment 15 Jakub Jelinek 2003-08-31 20:43:55 UTC
Can you also x/1w $edx + 0x1a0
? Thanks.

Comment 16 Steve Bergman 2003-08-31 20:57:12 UTC
Created attachment 94106 [details]
gdb stdout: x/1w $edx + 0x1a0

Comment 17 Jakub Jelinek 2003-08-31 21:07:48 UTC
Seems choose_TexCoord2f looked up invalid function (at unmapped page).
Can you please mv /usr/X11R6/lib/tls/{,-}libGL.so.1.2
and retry (to see if this has anything to do with TLS libGL.so.1.2/r200_dri.so
or not)?

Comment 18 Steve Bergman 2003-08-31 21:39:56 UTC
I moved /usr/X11R6/lib/tls/i686/libGL.so.1.2, ran ldconfig, and it still crashes
with:

Program received signal SIGSEGV, Segmentation fault.
0x007e300b in choose_TexCoord2f () from /usr/X11R6/lib/modules/dri/r200_dri.so


Just to make sure we're on the same page, strace tells me that whether or not
there is a /usr/X11R6/lib/tls/i686/libGL.so.1.2, it is finding and using
/usr/lib/libGL.so.1 which in both cases is linked to
../../usr/X11R6/lib/libGL.so.1.2.

Is this expected?

Comment 19 Steve Bergman 2003-09-01 02:17:16 UTC
OK, I have a new "virgin" Severn "Workstation" install, after having
accidentally nuked the ext3 fs that was root for my previous rawhide install
after a resize and repartition operation. (I'll worry about that tomorrow at
Tara.  There is some indication that Disk Druid and fdisk don't agree on just
what 'alignment' means?  At least, Disk Druid complains about the alignment;
Seems like I've heard something about that before?)

glxgears still works fine.

Chromium still Segfaults.

LD_ASSUME_KERNEL=2.2.5 still gets chromium working.

Fortunately, the test games^W^WMission Critical Applications were in another
partition altogether. ;-)

-Steve

Comment 20 Jakub Jelinek 2003-09-01 06:46:05 UTC
When there is /usr/X11R6/lib/tls/i686/libGL.so.1.2 present,
/usr/lib/tls/i686/libGL.so.1 should be used
(and your /proc/<pid>/maps says it was used - it contains mapping of
/usr/X11R6/lib/tls/i686/libGL.so.1.2 ).
But, as it doesn't seem to be related to TLS, I'll leave debugging this to Mike
(I don't have hardware to reproduce this).

Comment 21 Mike A. Harris 2003-09-01 07:21:44 UTC
No prob, however according to the original reporter, it occurs on both
original Radeon with the radeon_dri and also on Steve's box with r200_dri.

I have both hardware, and can investigate it sometime, however it'll be
a while before I have time to prioritize debugging video game issues.

In the mean time, any additional debugging info, etc. that people can provide
whom are experiencing this problem, would be helpful when I flush my queue
of more critical issues.

Comment 22 Steve Bergman 2003-09-20 17:53:59 UTC
Thanks to whatever someone did to the kernel or glibc or whatever.

I'm running current rawhide.  Chromium works fine now.  As does Tuxracer and
Quake2.  Haven't tried anything else yet, but things look much better for games
on RedHat.

I have not tried these for a while so I don't know exactly when these games
started working.

2.4.22-1.2049.nptl #1 Mon Sep 15 18:14:34 EDT 2003 i686 athlon i386 GNU/Linux

glibc-2.3.2-82

Standard rawhide XFree86 w/Radeon 9100.




Comment 23 Mike A. Harris 2003-09-24 08:44:42 UTC

*** This bug has been marked as a duplicate of 104029 ***

Comment 24 Red Hat Bugzilla 2006-02-21 18:57:58 UTC
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.


Note You need to log in before you can comment on or make changes to this bug.