[fedora-arm] F17 snapshot / LLVM on framebuffer Xorg

Peter Robinson pbrobinson at gmail.com
Sat Apr 7 15:52:15 UTC 2012


On Sat, Apr 7, 2012 at 4:06 AM, "Andy Green (林安廸)" <andy at warmcat.com> wrote:
> On 03/31/2012 09:28 PM, Somebody in the thread at some point said:
>
>>> What are the gnome-shell problems?  Perhaps they're well known but I'm
>>> not acquainted with them.  If we're missing a package that will help
>>> things out let me know and I'll put it in the next snapshot.
>>
>> It's not deps afaict, a couple of weeks ago pieces were missing, but
>> there now is enough to yum install @gnome-desktop sanely with
>> --skip-broken; abrt, elfutils, gdb, libreport and xmlrpc-c are skipped.
>>  Here anyway the resulting gdm / gnome ends up showing "Oh no! Something
>> has gone wrong." before gdm login.
>>
>> Poking around in gdm logs shows a segfault after not being able to find
>> org.gnome.SessionManager |not provided by any .service files".  I had to
>> mess with a javascript file in gnome to get that info, it was otherwise
>> complaining that there were too many args sent to the logging api.
>
> Now that gdb is available I can see the issue boils down to segfault in
> llvm.  I installed the 1GB (installed size) of debuginfos and got this
> backtrace
>
> #0  emitInstruction (MI=..., this=0x1394f8) at ARMCodeEmitter.cpp:576
> #1  (anonymous namespace)::ARMCodeEmitter::runOnMachineFunction
> (this=0x1394f8, MF=...) at ARMCodeEmitter.cpp:391
> #2  0xb3881960 in runOnFunction (this=0x1394f8, F=...) at
> MachineFunctionPass.cpp:33
> #3  llvm::MachineFunctionPass::runOnFunction (this=0x1394f8, F=...) at
> MachineFunctionPass.cpp:26
> #4  0xb366a204 in llvm::FPPassManager::runOnFunction (this=0x107620,
> F=...) at PassManager.cpp:1512
> #5  0xb366a378 in llvm::FunctionPassManagerImpl::run (this=0x107468,
> F=...) at PassManager.cpp:1462
> #6  0xb366a45c in llvm::FunctionPassManager::run (this=0x116340, F=...)
> at PassManager.cpp:1391
> #7  0xb3b1fc88 in llvm::JIT::jitTheFunction (this=this at entry=0x105cb0,
> F=F at entry=0xc1ef30, locked=...) at JIT.cpp:639
> #8  0xb3b1ff90 in llvm::JIT::runJITOnFunctionUnlocked
> (this=this at entry=0x105cb0, F=F at entry=0xc1ef30, locked=...) at JIT.cpp:618
> #9  0xb3b200b4 in llvm::JIT::getPointerToFunction (this=0x105cb0,
> F=0xc1ef30) at JIT.cpp:675
> #10 0xb359ef20 in llvm::ExecutionEngine::getPointerToGlobal
> (this=0x105cb0, GV=0xc1ef30) at ExecutionEngine.cpp:505
> #11 0xb42daa5c in generate_fragment (lp=0xb455f3d4, lp at entry=0x235680,
> shader=0xc60744, shader at entry=0xc1c7c8, variant=0xc1c7c8,
> variant at entry=0xb93440, partial_mask=3025531860, partial_mask at entry=1)
> at lp_state_fs.c:812
> #12 0xb42db410 in generate_variant (key=0xbeffd6ac, shader=0xc1c7c8,
> lp=0x235680) at lp_state_fs.c:968
> #13 llvmpipe_update_fs (lp=lp at entry=0x235680) at lp_state_fs.c:1399
> #14 0xb42d9258 in llvmpipe_update_derived (e=e at entry=0x235680) at
> lp_state_derived.c:155
> #15 0xb42cb9d0 in llvmpipe_draw_vbo (pipe=0x235680, info=0xbeffd880) at
> lp_draw_arrays.c:64
> #16 0xb4382874 in st_draw_vbo (ctx=0x0, arrays=<optimized out>,
> prims=<optimized out>, nr_prims=0, ib=0x0, index_bounds_valid=1 '\001',
> min_index=0, max_index=1, tfb_vertcount=0x0) at state_tracker/st_draw.c:1112
> #17 0xb437be0c in vbo_draw_arrays (ctx=ctx at entry=0x1d50f8,
> mode=mode at entry=7, start=start at entry=0, count=count at entry=4,
> numInstances=numInstances at entry=1) at vbo/vbo_exec_array.c:600
> #18 0xb437bef8 in vbo_exec_DrawArrays (mode=7, start=0, count=4) at
> vbo/vbo_exec_array.c:632
> #19 0xb543585c in shared_dispatch_stub_310 (mode=7, first=<optimized
> out>, count=<optimized out>) at
> ../../../src/mapi/shared-glapi/glapi_mapi_tmp.h:14992
> #20 0xb62f11ac in ?? () from /lib/libcogl.so.8
> #21 0xb62ed198 in ?? () from /lib/libcogl.so.8
> #22 0xb62ec3ac in ?? () from /lib/libcogl.so.8
> #23 0xb62ecf4c in ?? () from /lib/libcogl.so.8
> #24 0xb62ec3ac in ?? () from /lib/libcogl.so.8
> #25 0xb62ecd00 in ?? () from /lib/libcogl.so.8
> #26 0xb62ec3ac in ?? () from /lib/libcogl.so.8
> #27 0xb62ec8f4 in ?? () from /lib/libcogl.so.8
> #28 0xb62ec3ac in ?? () from /lib/libcogl.so.8
> #29 0xb62ede70 in ?? () from /lib/libcogl.so.8
> #30 0xb62c166c in cogl_flush () from /lib/libcogl.so.8
> #31 0xb62ea9c0 in ?? () from /lib/libcogl.so.8
> #32 0xb5760b00 in g_hook_list_invoke () from /lib/libglib-2.0.so.0
> #33 0xb62e9bfc in _cogl_atlas_reserve_space () from /lib/libcogl.so.8
> #34 0xb62ead50 in _cogl_atlas_texture_new_with_size () from
> /lib/libcogl.so.8
> #35 0xb62eafc4 in ?? () from /lib/libcogl.so.8
> #36 0xb62e40f0 in cogl_texture_new_from_bitmap () from /lib/libcogl.so.8
> #37 0xb62e4190 in cogl_texture_new_from_data () from /lib/libcogl.so.8
> #38 0xb6fac9c8 in st_theme_node_paint () from
> /usr/lib/gnome-shell/libgnome-shell.so
> #39 0xb6fb19ac in st_widget_paint_background () from
> /usr/lib/gnome-shell/libgnome-shell.so
> #40 0xb6fb19cc in ?? () from /usr/lib/gnome-shell/libgnome-shell.so
> #41 0xb5846488 in g_cclosure_marshal_VOID__VOIDv () from
> /lib/libgobject-2.0.so.0
> #42 0xb5842658 in ?? () from /lib/libgobject-2.0.so.0
> #43 0xb58445cc in ?? () from /lib/libgobject-2.0.so.0
> #44 0xb585f3f4 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
> #45 0xb585fa64 in g_signal_emit () from /lib/libgobject-2.0.so.0
> #46 0xb6378d0c in clutter_actor_continue_paint () from
> /lib/libclutter-1.0.so.0
> #47 0xb638a25c in ?? () from /lib/libclutter-1.0.so.0
> #48 0xb6f8f84c in ?? () from /usr/lib/gnome-shell/libgnome-shell.so
> #49 0xb5846488 in g_cclosure_marshal_VOID__VOIDv () from
> /lib/libgobject-2.0.so.0
> #50 0xb5842658 in ?? () from /lib/libgobject-2.0.so.0
> #51 0xb58445cc in ?? () from /lib/libgobject-2.0.so.0
> #52 0xb585f3f4 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
> #53 0xb585fa64 in g_signal_emit () from /lib/libgobject-2.0.so.0
> #54 0xb6378d0c in clutter_actor_continue_paint () from
> /lib/libclutter-1.0.so.0
> #55 0xb638a25c in ?? () from /lib/libclutter-1.0.so.0
> #56 0xb6f7c428 in ?? () from /usr/lib/gnome-shell/libgnome-shell.so
> #57 0xb5846488 in g_cclosure_marshal_VOID__VOIDv () from
> /lib/libgobject-2.0.so.0
> #58 0xb5842658 in ?? () from /lib/libgobject-2.0.so.0
> #59 0xb58445cc in ?? () from /lib/libgobject-2.0.so.0
> #60 0xb585f3f4 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
> #61 0xb585fa64 in g_signal_emit () from /lib/libgobject-2.0.so.0
> #62 0xb6378d0c in clutter_actor_continue_paint () from
> /lib/libclutter-1.0.so.0
> #63 0xb638a25c in ?? () from /lib/libclutter-1.0.so.0
> #64 0xb63d456c in ?? () from /lib/libclutter-1.0.so.0
> #65 0xb5846434 in g_cclosure_marshal_VOID__VOID () from
> /lib/libgobject-2.0.so.0
> #66 0xb5842db8 in ?? () from /lib/libgobject-2.0.so.0
> #67 0xb58443d4 in g_closure_invoke () from /lib/libgobject-2.0.so.0
> #68 0xb5856bec in ?? () from /lib/libgobject-2.0.so.0
> #69 0xb585f878 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
> #70 0xb585fa64 in g_signal_emit () from /lib/libgobject-2.0.so.0
> #71 0xb6378d0c in clutter_actor_continue_paint () from
> /lib/libclutter-1.0.so.0
> #72 0xb638a25c in ?? () from /lib/libclutter-1.0.so.0
> #73 0xb63d8764 in ?? () from /lib/libclutter-1.0.so.0
> #74 0xb63732f8 in ?? () from /lib/libclutter-1.0.so.0
> #75 0xb63da48c in ?? () from /lib/libclutter-1.0.so.0
> #76 0xb63d7160 in ?? () from /lib/libclutter-1.0.so.0
> #77 0xb63bf884 in ?? () from /lib/libclutter-1.0.so.0
> #78 0xb576f68c in g_main_context_dispatch () from /lib/libglib-2.0.so.0
> #79 0xb576fad0 in ?? () from /lib/libglib-2.0.so.0
> #80 0xb576fef4 in g_main_loop_run () from /lib/libglib-2.0.so.0
> #81 0xb6e4cd38 in meta_run () from /lib/libmutter.so.0
> #82 0x000098a8 in main ()
>
> Is llvm / gnome-shell expected to give a good result with framebuffer X
> driver at the moment (on hardfloat)?  Or is it a problem with my
> background image (not sure what that is right now).

I very much doubt gnome-shell will give a good result on any fbdev
device as it needs 3D.

Peter


More information about the arm mailing list