Hi,

On Thu, Jul 21, 2011 at 11:47 PM, Tomas Cech <tc...@suse.cz> wrote:
> I'm trying to create packages for openSUSE once again. I noticed that
> build of elementary fails on segfault of edje_cc.
>
> Log of the build can be found here:
> http://goo.gl/xTTuj
>
> I tried to analyze coredump of this segfault and it looks like:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff724f236 in evas_object_image_add (e=<value optimized out>)
> at evas_object_image.c:147
> 147        o->cur.cspace =
> obj->layer->evas->engine.func->image_colorspace_get(obj->layer->evas->engine.data.output,
> (gdb) bt
> #0  0x00007ffff724f236 in evas_object_image_add (e=<value optimized out>) at 
> evas_object_image.c:147
> #1  0x000000000040441a in data_write_images 
> (ef=0xa00580,image_num=0x7fffffffbc04, input_bytes=0x7fffffffbc0c,
>     input_raw_bytes=0x7fffffffbc08) at edje_cc_out.c:519
> #2  0x00000000004059ad in data_write () at edje_cc_out.c:1084
> #3  0x000000000040343f in main (argc=8, argv=<value optimized out>) at 
> edje_cc.c:217
> (gdb) p obj->layer->evas->engine
> $5 = {module = 0x0, func = 0x0, data = {output = 0x0, context = 0x0}, info = 
> 0x0, info_magic = 0}

Sounds like you don't have buffer engine installed for evas. What
would be interesting is evas build log. As edje was able to build, my
bet is that evas buffer engine was correctly build, but not properly
installed. See if you have anything in /usr/lib/evas/ .

> Here is the only place (I found till yet) where the pointer may change:
>
> (gdb)
> evas_object_inject (obj=0x9c66c0, e=0xa06150) at evas_layer.c:16
> 16              lay->layer = obj->cur.layer;
> (gdb)
> 17              evas_layer_add(lay);
> (gdb) p *lay
> $28 = {__in_list = {next = 0x0, prev = 0x0, last = 0x0}, layer = 0,
> objects = 0x0, evas = 0xa06150, engine_data = 0x0,
>   usage = 0, delete_me = 0 '\000'}
>
> So I suspect buffer engine from te beginning:
>
> Breakpoint 2, data_write_images (ef=0xa00580, image_num=0x7fffffffbc04, 
> input_bytes=0x7fffffffbc0c,
>     input_raw_bytes=0x7fffffffbc08) at edje_cc_out.c:519
> 519                            im = evas_object_image_add(evas);
> (gdb) p *evas
> $29 = {__in_list = {next = 0x0, prev = 0x0, last = 0x0}, magic = 1886877552, 
> pointer = {inside = 1 '\001',
>     mouse_grabbed = 0, button = 0, x = 0, y = 0, object = {in = 0x0}}, 
> viewport = {x = 0, y = 0, w = 1, h = 1,
>     changed = 0 '\000'}, output = {w = 1, h = 1, render_method = 0, changed = 
> 1 '\001'}, damages = 0x0, obscures = 0x0,
>   layers = 0x0, name_hash = 0x9634a0, output_validity = 1, walking_list = 0, 
> events_frozen = 0, engine = {module = 0x0,
>     func = 0x0, data = {output = 0x0, context = 0x0}, info = 0x0, info_magic 
> = 0}, delete_objects = {version = 1,
>     data = 0x0, total = 0, count = 0, step = 256, __magic = 2557874747}, 
> active_objects = {version = 1, data = 0x0,
>     total = 0, count = 0, step = 256, __magic = 2557874747}, restack_objects 
> = {version = 1, data = 0x0, total = 0,
>     count = 0, step = 256, __magic = 2557874747}, render_objects = {version = 
> 1, data = 0x0, total = 0, count = 0,
>     step = 256, __magic = 2557874747}, pending_objects = {version = 1, data = 
> 0x0, total = 0, count = 0, step = 256,
>     __magic = 2557874747}, obscuring_objects = {version = 1, data = 0x0, 
> total = 0, count = 0, step = 256,
>     __magic = 2557874747}, temporary_objects = {version = 1, data = 0x0, 
> total = 0, count = 0, step = 256,
>     __magic = 2557874747}, calculate_objects = {version = 1, data = 0x0, 
> total = 0, count = 0, step = 256,
>     __magic = 2557874747}, clip_changes = {version = 1, data = 0x0, total = 
> 0, count = 0, step = 256,
>     __magic = 2557874747}, post_events = 0x0, callbacks = 0x0, delete_grabs = 
> 0, walking_grabs = 0, grabs = 0x0,
>   font_path = 0x0, focused = 0x0, attach_data = 0xa00a90, modifiers = {mod = 
> {count = 6, list = 0x964ad0}, mask = 0},
>   locks = {lock = {count = 3, list = 0x905130}, mask = 0}, last_timestamp = 
> 0, last_mouse_down_counter = 0,
>   last_mouse_up_counter = 0, nochange = 0, hinting = 
> EVAS_FONT_HINTING_BYTECODE, changed = 1 '\001', delete_me = 0 '\000',
>   invalidate = 1 '\001', cleanup = 0 '\000', focus = 0 '\000'}
> (gdb) p evas->engine
> $30 = {module = 0x0, func = 0x0, data = {output = 0x0, context = 0x0}, info = 
> 0x0, info_magic = 0}
>
>
> Since I believe more in your programming skills than my packaging, I'd
> like to know what did I wrong.

Good to see more packagers comming !
-- 
Cedric BAIL

------------------------------------------------------------------------------
5 Ways to Improve & Secure Unified Communications
Unified Communications promises greater efficiencies for business. UC can 
improve internal communications as well as offer faster, more efficient ways
to interact with customers and streamline customer service. Learn more!
http://www.accelacomm.com/jaw/sfnl/114/51426253/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to