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

"Andy Green (林安廸)" andy at warmcat.com
Sat Apr 7 03:06:20 UTC 2012


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).

-Andy


More information about the arm mailing list