Hi, I've come across some bug (which I thought might be related to the gallium-noblocks branch, but it's not) which caused a segfault but only when not using debug builds. I think this is the same issue Vinson was seeing some time ago. Looks like a impossible backtrace:
#0 st_texture_image_copy (pipe=0x612640, dst=0x0, dstLevel=<value optimized out>, src=0x6e1dd0, face=0) at src/mesa/state_tracker/st_texture.c:306 #1 0x00007ffff759b383 in copy_image_data_to_texture ( ctx=<value optimized out>, pipe=<value optimized out>, tObj=0x6919d0, needFlush=<value optimized out>) at src/mesa/state_tracker/st_cb_texture.c:1673 #2 st_finalize_texture (ctx=<value optimized out>, pipe=<value optimized out>, tObj=0x6919d0, needFlush=<value optimized out>) at src/mesa/state_tracker/st_cb_texture.c:1807 #3 0x00007ffff758fd9d in finalize_textures (st=0x68a9c0) at src/mesa/state_tracker/st_atom_texture.c:144 Segfault seems to be because dst is 0x0, but if you look at the call stack it is easy to see this is impossible. That would point to gcc optimizer issue (using gcc 4.4.1), except there are quite a few warnings during compile, especially about violating strict-aliasing rules... So, in the gallium.py scons file there's actually this: if debug: ccflags += ['-O0', '-g3'] elif env['CCVERSION'].startswith('4.2.'): # gcc 4.2.x optimizer is broken print "warning: gcc 4.2.x optimizer is broken -- disabling optimizations" ccflags += ['-O0', '-g3'] else: ccflags += ['-O3', '-g3'] So I added -fno-strict-aliasing and indeed, segfault is gone. Hence I believe this is incorrectly accusing the gcc 4.2 optimizer, whereas it's actually a code bug, and certainly it is not restricted to gcc 4.2 (unless this addressed a different problem). Not quite sure though why the code violates strict-aliasing rules though in all places - about half of the warnings are from pipe_reference, (p_refcount.h:85). Not sure if all warnings are actually real issues, and not sure how this should be fixed (should we try to fix this for real or just force -fno-strict-aliasing). Roland ------------------------------------------------------------------------------ Join us December 9, 2009 for the Red Hat Virtual Experience, a free event focused on virtualization and cloud computing. Attend in-depth sessions from your desk. Your couch. Anywhere. http://p.sf.net/sfu/redhat-sfdev2dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev