From owner-freebsd-x11@FreeBSD.ORG Tue Jan 11 05:20:09 2011 Return-Path: Delivered-To: freebsd-x11@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 114561065672 for ; Tue, 11 Jan 2011 05:20:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id F28C38FC0C for ; Tue, 11 Jan 2011 05:20:07 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p0B5K7mH040907 for ; Tue, 11 Jan 2011 05:20:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p0B5K76T040905; Tue, 11 Jan 2011 05:20:07 GMT (envelope-from gnats) Date: Tue, 11 Jan 2011 05:20:07 GMT Message-Id: <201101110520.p0B5K76T040905@freefall.freebsd.org> To: freebsd-x11@FreeBSD.org From: Matthew Gibson Cc: Subject: Re: ports/153593: graphics/dri: clutter segfault, something to do with intelCalcViewport call by mesa X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Matthew Gibson List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Jan 2011 05:20:09 -0000 The following reply was made to PR ports/153593; it has been noted by GNATS. From: Matthew Gibson To: bug-followup@FreeBSD.org Cc: Subject: Re: ports/153593: graphics/dri: clutter segfault, something to do with intelCalcViewport call by mesa Date: Mon, 10 Jan 2011 20:43:38 -0800 --00163630fb8d61467804998aba93 Content-Type: text/plain; charset=ISO-8859-1 My test.c looks like the following: #include #include int main(int argc, char *argv[]) { clutter_init(&argc, &argv); ClutterColor stage_color = { 0, 0, 0, 255 }; ClutterActor *stage = clutter_stage_get_default(); clutter_actor_set_size(stage, 512, 512); clutter_stage_set_color(CLUTTER_STAGE(stage), &stage_color); clutter_actor_show(stage); clutter_main(); return EXIT_SUCCESS; } Here is the backtrace with debugging symbols for graphics/clutter, graphics/dri, and graphics/libGL: #gdb test GNU gdb 6.1.1 [FreeBSD] Copyright 2004 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-marcel-freebsd"...(no debugging symbols found)... (gdb) r Starting program: /usr/home/matt/ws/clutter/test [New LWP 100366] [New Thread 28c01140 (LWP 100366)] Failed to initialize GEM. Falling back to classic. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 28c01140 (LWP 100366)] 0x28d50858 in intelCalcViewport (ctx=0x28cd0000) at i915_state.c:343 343 m[MAT_SX] = v[MAT_SX]; (gdb) bt #0 0x28d50858 in intelCalcViewport (ctx=0x28cd0000) at i915_state.c:343 #1 0x28d508fd in intelViewport (ctx=0x28cd0000, x=0, y=0, width=1, height=1) at i915_state.c:359 #2 0x28df6798 in _mesa_set_viewport (ctx=0x28cd0000, x=0, y=0, width=1, height=1) at main/matrix.c:608 #3 0x28d9f6cf in _mesa_check_init_viewport (ctx=0x28cd0000, width=1, height=1) at main/context.c:1564 #4 0x28d9f91c in _mesa_make_current (newCtx=0x28cd0000, drawBuffer=0x28c4cc00, readBuffer=0x28c4cc00) at main/context.c:1673 #5 0x28d560a8 in intelMakeCurrent (driContextPriv=0x28c06d00, driDrawPriv=0x28c29470, driReadPriv=0x28c29470) at intel_context.c:898 #6 0x28d26e24 in driBindContext (pcp=0x28c06d00, pdp=0x28c29470, prp=0x28c29470) at ../common/dri_util.c:207 #7 0x2827384e in driBindContext (context=0x28c06ce0, draw=0x28c06e20, read=0x28c06e20) at dri_glx.c:456 #8 0x2823f8ef in MakeContextCurrent (dpy=0x28c57200, draw=58720260, read=58720260, gc=0x28c20d00) at glxcurrent.c:393 #9 0x281a496a in clutter_backend_glx_create_context (backend=0x28c0d850, error=0xbfbfe8c0) at clutter-backend-glx.c:640 #10 0x280e49bb in _clutter_backend_create_context (backend=0x28c0d850, error=0xbfbfe8c0) at ./clutter-backend.c:365 #11 0x28104f6f in _clutter_feature_init (error=0xbfbfe8c0) at ./clutter-feature.c:106 #12 0x28112b17 in clutter_init_real (error=0xbfbfe8c0) at ./clutter-main.c:1616 #13 0x28112fed in post_parse_hook (context=0x28c08910, group=0x28c2b140, data=0x0, error=0xbfbfe8c0) at ./clutter-main.c:1837 #14 0x286aafb1 in g_option_context_parse () from /usr/local/lib/libglib-2.0.so.0 #15 0x2811332f in clutter_parse_args (argc=0xbfbfe950, argv=0xbfbfe954) at ./clutter-main.c:2067 #16 0x281133ec in clutter_init (argc=0xbfbfe950, argv=0xbfbfe954) at ./clutter-main.c:2120 #17 0x080488a0 in main () (gdb) p v[0] Error accessing memory address 0x3f000000: Bad address. (gdb) p m[0] $1 = 1 (gdb) --00163630fb8d61467804998aba93 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable My test.c looks like the following:

#include <cl= utter/clutter.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
=A0=A0 =A0clutter_init(&= amp;argc, &argv);

=A0=A0 =A0ClutterColor stage_color =3D { 0, 0, 0, 255 }= ;

=A0=A0 =A0ClutterActor *stage =3D clutter_stage_= get_default();
=A0=A0 =A0clutter_actor_set_size(stage, 512, 512);=
=A0=A0 =A0clutter_stage_set_color(CLUTTER_STAGE(stage), &sta= ge_color);
=A0=A0 =A0clutter_actor_show(stage);

=A0=A0 = =A0clutter_main();

=A0=A0 =A0return EXIT_SUCCESS;<= /div>
}

Here is the backtrace with debug= ging symbols for graphics/clutter, graphics/dri, and graphics/libGL:

#gdb test
GNU gdb 6.1.1 [FreeBSD]
<= div>Copyright 2004 Free Software Foundation, Inc.
GDB is free sof= tware, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain condition= s.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. =A0Type "show warranty"= for details.
This GDB was configured as "i386-marcel-freebsd"...(no debug= ging symbols found)...
(gdb) r
Starting program: /usr/h= ome/matt/ws/clutter/test=A0
[New LWP 100366]
[New Threa= d 28c01140 (LWP 100366)]
Failed to initialize GEM. =A0Falling back to classic.

Program received signal SIGSEGV, Segmentation fault.
[Sw= itching to Thread 28c01140 (LWP 100366)]
0x28d50858 in intelCalcV= iewport (ctx=3D0x28cd0000) at i915_state.c:343
343 = =A0 m[MAT_SX] =3D v[MAT_SX];
(gdb) bt
#0 =A00x28d50858 = in intelCalcViewport (ctx=3D0x28cd0000) at i915_state.c:343
#1 = =A00x28d508fd in intelViewport (ctx=3D0x28cd0000, x=3D0, y=3D0, width=3D1, = height=3D1) at i915_state.c:359
#2 =A00x28df6798 in _mesa_set_viewport (ctx=3D0x28cd0000, x=3D0, y=3D0= , width=3D1, height=3D1) at main/matrix.c:608
#3 =A00x28d9f6cf in= _mesa_check_init_viewport (ctx=3D0x28cd0000, width=3D1, height=3D1) at mai= n/context.c:1564
#4 =A00x28d9f91c in _mesa_make_current (newCtx=3D0x28cd0000, drawBuffe= r=3D0x28c4cc00, readBuffer=3D0x28c4cc00) at main/context.c:1673
#= 5 =A00x28d560a8 in intelMakeCurrent (driContextPriv=3D0x28c06d00, driDrawPr= iv=3D0x28c29470, driReadPriv=3D0x28c29470)
=A0=A0 =A0at intel_context.c:898
#6 =A00x28d26e24 in driBind= Context (pcp=3D0x28c06d00, pdp=3D0x28c29470, prp=3D0x28c29470) at ../common= /dri_util.c:207
#7 =A00x2827384e in driBindContext (context=3D0x2= 8c06ce0, draw=3D0x28c06e20, read=3D0x28c06e20) at dri_glx.c:456
#8 =A00x2823f8ef in MakeContextCurrent (dpy=3D0x28c57200, draw=3D58720= 260, read=3D58720260, gc=3D0x28c20d00) at glxcurrent.c:393
#9 =A0= 0x281a496a in clutter_backend_glx_create_context (backend=3D0x28c0d850, err= or=3D0xbfbfe8c0) at clutter-backend-glx.c:640
#10 0x280e49bb in _clutter_backend_create_context (backend=3D0x28c0d85= 0, error=3D0xbfbfe8c0) at ./clutter-backend.c:365
#11 0x28104f6f = in _clutter_feature_init (error=3D0xbfbfe8c0) at ./clutter-feature.c:106
#12 0x28112b17 in clutter_init_real (error=3D0xbfbfe8c0) at ./clutter-= main.c:1616
#13 0x28112fed in post_parse_hook (context=3D0x28c089= 10, group=3D0x28c2b140, data=3D0x0, error=3D0xbfbfe8c0) at ./clutter-main.c= :1837
#14 0x286aafb1 in g_option_context_parse () from /usr/local/lib/libgli= b-2.0.so.0
#15 0x2811332f in clutter_parse_args (argc=3D0xbfbfe95= 0, argv=3D0xbfbfe954) at ./clutter-main.c:2067
#16 0x281133ec in = clutter_init (argc=3D0xbfbfe950, argv=3D0xbfbfe954) at ./clutter-main.c:212= 0
#17 0x080488a0 in main ()
(gdb) p v[0]
=
Error accessing memory address 0x3f000000: Bad address.
(gdb= ) p m[0]
$1 =3D 1
(gdb)
--00163630fb8d61467804998aba93--