Bug 32243

Summary: crash in glGetIntegerv with software renderer
Product: Mesa Reporter: Benoit Jacob <bjacob>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: medium CC: bugs.freedesktop
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Benoit Jacob 2010-12-08 14:49:01 UTC
This is, like bug 32238, comes from https://bugzilla.mozilla.org/show_bug.cgi?id=616416

In the same situation as in bug 32238, when the user switches to software rendering, he gets a crash too, but this time it's a SIGABRT with a different stack:

Program received signal SIGABRT, Aborted.
0x00007ffff35ec7c5 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff35ec7c5 in raise () from /lib/libc.so.6
#1  0x00007ffff35edc46 in abort () from /lib/libc.so.6
#2  0x00007ffff35e5345 in __assert_fail () from /lib/libc.so.6
#3  0x00007fffd7186f71 in _mesa_update_draw_buffer_bounds (ctx=0x7fffc8ada000) at main/framebuffer.c:507
#4  0x00007fffd71d159c in _mesa_update_state_locked (ctx=0x7fffc8ada000) at main/state.c:596
#5  0x00007fffd71d172c in _mesa_update_state (ctx=0x7fffc8ada000) at main/state.c:676
#6  0x00007fffd7188eb7 in check_extra (ctx=0x7fffc8ada000, func=0x7fffd73e8644 "glGetIntegerv", d=0x7fffd7503c78) at main/get.c:1698
#7  0x00007fffd7189196 in find_value (func=0x7fffd73e8644 "glGetIntegerv", pname=3410, p=0x7fffffff9d28, v=0x7fffffff9d30) at main/get.c:1785
#8  0x00007fffd71899df in _mesa_GetIntegerv (pname=3410, params=0x7fffffff9f20) at main/get.c:1999
#9  0x00007ffff6f2abe1 in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#10 0x00007ffff6f2ce4d in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#11 0x00007ffff6f38684 in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#12 0x00007ffff6f38988 in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#13 0x00007ffff6f37efd in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#14 0x00007ffff6f37c70 in mozilla::gl::GLContextProviderGLX::GetGlobalContext() () from /usr/lib64/firefox-4.0b8pre/libxul.so
#15 0x00007ffff6f37ec7 in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#16 0x00007ffff6f37ff2 in mozilla::gl::GLContextProviderGLX::CreateOffscreen(gfxIntSize const&, mozilla::gl::ContextFormat const&) ()
   from /usr/lib64/firefox-4.0b8pre/libxul.so
#17 0x00007ffff67f6185 in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#18 0x00007ffff683cfb0 in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#19 0x00007ffff683d81d in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so
#20 0x00007ffff6ba1c24 in ?? () from /usr/lib64/firefox-4.0b8pre/libxul.so


OpenGL information:

OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RS780 9614) 20090101  TCL DRI2
OpenGL version string: 1.4 (2.1 Mesa 7.9)
Comment 1 Brian Paul 2010-12-08 15:41:29 UTC
Can you test with a debug build and gdb?  It would be good to know the buffer->Width and buffer->Height values.
Comment 2 Octoploid 2010-12-08 20:27:19 UTC
As I wrote on the mozilla bug:

I normally use my monitor in portrait mode:
DVI-0 connected 1050x1680+0+0 left
When I rotate it back to its default position and run
"xrandr --output DVI-0 --rotate normal" there are no
crashes anymore and webgl is working fine.
Comment 3 Octoploid 2010-12-09 01:52:49 UTC
It seems as though that the RS780 microcode didn't
get loaded at boot-time on the kernel I was using
during the tests:

Dec 04 06:41:20 [kernel] Linux agpgart interface v0.103
Dec 04 06:41:20 [kernel] [drm] Initialized drm 1.1.0 20060810
Dec 04 06:41:20 [kernel] [drm] radeon defaulting to kernel modesetting.
Dec 04 06:41:20 [kernel] [drm] radeon kernel modesetting enabled.
Dec 04 06:41:20 [kernel] radeon 0000:01:05.0: PCI INT A -> GSI 18 (level, low)
-> IRQ 18
Dec 04 06:41:20 [kernel] radeon 0000:01:05.0: setting latency timer to 64
Dec 04 06:41:20 [kernel] [drm] initializing kernel modesetting (RS780
0x1002:0x9614).
Dec 04 06:41:20 [kernel] [drm] register mmio base: 0xFBEE0000
Dec 04 06:41:20 [kernel] [drm] register mmio size: 65536
Dec 04 06:41:20 [kernel] ATOM BIOS: 113
Dec 04 06:41:20 [kernel] radeon 0000:01:05.0: VRAM: 128M 0xC0000000 -
0xC7FFFFFF (128M used)
Dec 04 06:41:20 [kernel] radeon 0000:01:05.0: GTT: 512M 0xA0000000 - 0xBFFFFFFF
Dec 04 06:41:20 [kernel] [drm] Detected VRAM RAM=128M, BAR=128M
Dec 04 06:41:20 [kernel] [drm] RAM width 32bits DDR
Dec 04 06:41:20 [kernel] [TTM] Zone  kernel: Available graphics memory: 2026154
kiB.
Dec 04 06:41:20 [kernel] [TTM] Initializing pool allocator.
Dec 04 06:41:20 [kernel] [drm] radeon: 128M of VRAM memory ready
Dec 04 06:41:20 [kernel] [drm] radeon: 512M of GTT memory ready.
Dec 04 06:41:20 [kernel] [drm] radeon: irq initialized.
Dec 04 06:41:20 [kernel] [drm] GART: num cpu pages 131072, num gpu pages 131072
Dec 04 06:41:20 [kernel] radeon 0000:01:05.0: WB enabled
Dec 04 06:41:20 [kernel] [drm] ring test succeeded in 1 usecs
Dec 04 06:41:20 [kernel] [drm] radeon: ib pool ready.
Dec 04 06:41:20 [kernel] [drm] ib test succeeded in 0 usecs
Dec 04 06:41:20 [kernel] [drm] Enabling audio support
Dec 04 06:41:20 [kernel] [drm] Radeon Display Connectors
Dec 04 06:41:20 [kernel] [drm] Connector 0:
Dec 04 06:41:20 [kernel] [drm]   VGA
Dec 04 06:41:20 [kernel] [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48
0x7e4c 0x7e4c
Dec 04 06:41:20 [kernel] [drm]   Encoders:
Dec 04 06:41:20 [kernel] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
Dec 04 06:41:20 [kernel] [drm] Connector 1:
Dec 04 06:41:20 [kernel] [drm]   DVI-D
Dec 04 06:41:20 [kernel] [drm]   HPD3
Dec 04 06:41:20 [kernel] [drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58
0x7e5c 0x7e5c
Dec 04 06:41:20 [kernel] [drm]   Encoders:
Dec 04 06:41:20 [kernel] [drm]     DFP3: INTERNAL_KLDSCP_LVTMA
Dec 04 06:41:20 [kernel] [drm] radeon: power management initialized
Dec 04 06:41:20 [kernel] [drm] fb mappable at 0xF0141000
Dec 04 06:41:20 [kernel] [drm] vram apper at 0xF0000000
Dec 04 06:41:20 [kernel] [drm] size 7258112
Dec 04 06:41:20 [kernel] [drm] fb depth is 24
Dec 04 06:41:20 [kernel] [drm]    pitch is 6912
Dec 04 06:41:20 [kernel] Console: switching to colour frame buffer device
131x105
Dec 04 06:41:20 [kernel] fb0: radeondrmfb frame buffer device
Dec 04 06:41:20 [kernel] drm: registered panic notifier
Dec 04 06:41:20 [kernel] [drm] Initialized radeon 2.7.0 20080528 for
0000:01:05.0 on minor 0

Notice that the line: [drm] Loading RS780 Microcode
is missing. I've checked my kernel logs and this was
the only time it didn't get loaded during boot.
(I don't use modules, everything is build in)

I don't know, could this be the reason for the bug I
was observing?
Comment 4 Octoploid 2010-12-12 04:11:36 UTC
I cannot reproduce the problem anymore, so I'm closing this bug.
See the mozilla bug for more info.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.