Bug 30016 - [r300g bisected] glxgears (and many others) crash
Summary: [r300g bisected] glxgears (and many others) crash
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r300 (show other bugs)
Version: git
Hardware: Other All
: medium major
Assignee: Marek Olšák
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2010-09-04 11:00 UTC by Pavel Ondračka
Modified: 2010-09-04 20:58 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Pavel Ondračka 2010-09-04 11:00:52 UTC
Introduced with this commit:

commit d2f4ceaa47695f9dc203c28b39d332eea8a115b2
Author: Marek Olšák <maraeo@gmail.com>
Date:   Wed Sep 1 08:10:32 2010 +0200

    r300/compiler: compute the final number of temporaries during translation
    
    And not during the register allocation, which may be skipped for debugging
    purposes. Also the predicate register is now added to the number of temps.

glxgears crash:
r300 VP: Compiler error:
Too many temporaries.
Using a dummy shader instead.
r300 VP: Compiler error:
Too many temporaries.
Using a dummy shader instead.
r300 VP: Cannot compile the dummy shader! Giving up...

Program received signal SIGABRT, Aborted.
0x00110416 in __kernel_vsyscall ()
(gdb) bt
#0  0x00110416 in __kernel_vsyscall ()
#1  0x0036d561 in raise () from /lib/libc.so.6
#2  0x0036efce in abort () from /lib/libc.so.6
#3  0x00d1e67a in r300_translate_vertex_shader (r300=0x8063680, vs=0x8066e90)
    at r300_vs.c:241
#4  0x00d1e47b in r300_dummy_vertex_shader (r300=0x8063680, shader=0x8066e90)
    at r300_vs.c:191
#5  0x00d1e69a in r300_translate_vertex_shader (r300=0x8063680, vs=0x8066e90)
    at r300_vs.c:245
#6  0x00d1b031 in r300_create_vs_state (pipe=0x8063680, shader=0xbfffec8c)
    at r300_state.c:1738
#7  0x00f3a22f in ureg_create_shader (ureg=0x8064240, pipe=0x8063680)
    at tgsi/tgsi_ureg.c:1460
#8  0x00f6d4f4 in ureg_create_shader_and_destroy (p=0x8064240, pipe=0x8063680)
    at ./tgsi/tgsi_ureg.h:126
#9  0x00f6da8f in util_make_vertex_passthrough_shader (pipe=0x8063680, 
    num_attribs=2, semantic_names=0xbfffed74, semantic_indexes=0xbfffed6c)
    at util/u_simple_shaders.c:81
#10 0x00f3f6c0 in util_blitter_create (pipe=0x8063680) at util/u_blitter.c:220
#11 0x00d086e6 in r300_create_context (screen=0x8083fe0, priv=0x0)
    at r300_context.c:447
#12 0x00e19be7 in create_context (api=API_OPENGL, smapi=0x8083ea0, 
    visual=0xbfffefc4, shared_stctxi=0x0) at state_tracker/st_manager.c:624
#13 0x00e19ce3 in st_api_create_context (stapi=0x106af00, smapi=0x8083ea0, 
    visual=0xbfffefc4, shared_stctxi=0x0) at state_tracker/st_manager.c:654
#14 0x00ced3c2 in dri_create_context (api=API_OPENGL, visual=0x8087d58, 
    cPriv=0x8087840, sharedContextPrivate=0x0) at dri_context.c:79
#15 0x00ced1a9 in dri2_create_context (api=API_OPENGL, visual=0x8087d58, 
    cPriv=0x8087840, sharedContextPrivate=0x0) at dri2.c:458
#16 0x00ce8a70 in dri2CreateNewContextForAPI (screen=0x8083d58, api=0, 
    config=0x8087d58, shared=0x0, data=0x808a8a0)
    at ../../../../src/mesa/drivers/dri/common/dri_util.c:664
#17 0x00ce8abf in dri2CreateNewContext (screen=0x8083d58, config=0x8087d58, 
    shared=0x0, data=0x808a8a0)
    at ../../../../src/mesa/drivers/dri/common/dri_util.c:678
#18 0x044fdad0 in ?? () from /usr/lib/libGL.so.1
#19 0x044dd664 in ?? () from /usr/lib/libGL.so.1
#20 0x044de2d9 in glXCreateContext () from /usr/lib/libGL.so.1
#21 0x0804a362 in ?? ()
#22 0x00357de6 in __libc_start_main () from /lib/libc.so.6
#23 0x08049131 in ?? ()

My system:
GPU: RV530
kernel: 2.6.35
mesa: 280665be7026c978acead9713c10271c36a571ee
xserver: 1.9.0
libdrm: 2.4.21
Comment 1 Marek Olšák 2010-09-04 15:27:39 UTC
I can't reproduce this. Can you try "git clean -fdx" and then building the driver?

Beware, "git clean -fdx" removes every file/directory which is not in git. It's a safe alternative to make clean.
Comment 2 Marek Olšák 2010-09-04 20:58:46 UTC
It should be fixed by ece8490bb5fbee10bbe8d1. Closing.


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.