On Fri, Jul 22, 2011 at 01:20:32AM +0200, Cedric BAIL wrote:
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.

Here it is:
http://goo.gl/0u02X

the main building is a bit later after preparations of virtual machine
doing the build.

Here you can check build log of all other packages (by clicking on
succeeded/failed and 'Download logfile'):
http://goo.gl/YtTXr

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/ .
In the building chroot environment:
venom:~> find /usr/lib*/evas -type f
/usr/lib64/evas/modules/engines/buffer/linux-gnu-x86_64-1.0.1/module.so
/usr/lib64/evas/modules/savers/jpeg/linux-gnu-x86_64-1.0.1/module.so
/usr/lib64/evas/modules/savers/eet/linux-gnu-x86_64-1.0.1/module.so
/usr/lib64/evas/modules/savers/png/linux-gnu-x86_64-1.0.1/module.so
/usr/lib64/evas/modules/loaders/jpeg/linux-gnu-x86_64-1.0.1/module.so
/usr/lib64/evas/modules/loaders/eet/linux-gnu-x86_64-1.0.1/module.so
/usr/lib64/evas/modules/loaders/png/linux-gnu-x86_64-1.0.1/module.so


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 !
Good to see good code!

Best regards,

Tomas Cech
Sleep_Walker

Attachment: pgpW9cyM4Vq25.pgp
Description: PGP signature

------------------------------------------------------------------------------
10 Tips for Better Web Security
Learn 10 ways to better secure your business today. Topics covered include:
Web security, SSL, hacker attacks & Denial of Service (DoS), private keys,
security Microsoft Exchange, secure Instant Messaging, and much more.
http://www.accelacomm.com/jaw/sfnl/114/51426210/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to