Hello guys,

I was working on an example and had the problem cited in the subject.
Since I just didn't look at the code, I'm just giving the backtrace
and valgrind log:

GNU gdb (Gentoo 7.2 p1) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from
/home/antognolli/e17/build/edje/src/examples/.libs/edje-box2...done.
(gdb) r
Starting program: /home/antognolli/e17/build/edje/src/examples/.libs/edje-box2
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ba25ba in eina_mempool_free (mp=0x0, element=0x0)
    at 
/home/antognolli/e17/install/include/eina-1/eina/eina_inline_mempool.x:120
120        mp->backend.free(mp->backend_data, element);
(gdb) bt
#0  0x00007ffff7ba25ba in eina_mempool_free (mp=0x0, element=0x0)
    at 
/home/antognolli/e17/install/include/eina-1/eina/eina_inline_mempool.x:120
#1  0x00007ffff7ba55df in _edje_file_del (ed=0x604220)
    at /home/antognolli/e17/git_e17/edje/src/lib/edje_load.c:992
#2  0x00007ffff7bb82e0 in _edje_smart_del (obj=0x7ffff0e7e200)
    at /home/antognolli/e17/git_e17/edje/src/lib/edje_smart.c:150
#3  0x00007ffff3d5622f in evas_object_smart_del (obj=0x7ffff0e7e200)
    at /home/antognolli/e17/git_e17/evas/src/lib/canvas/evas_object_smart.c:680
#4  0x00007ffff3d4a894 in evas_object_del (obj=0x7ffff0e7e200)
    at /home/antognolli/e17/git_e17/evas/src/lib/canvas/evas_object_main.c:431
#5  0x00007ffff3d3a8ba in evas_layer_pre_free (lay=0x652330)
    at /home/antognolli/e17/git_e17/evas/src/lib/canvas/evas_layer.c:68
#6  0x00007ffff3d3b1f3 in evas_free (e=0x64f990)
    at /home/antognolli/e17/git_e17/evas/src/lib/canvas/evas_main.c:187
#7  0x00007ffff6a711d9 in _ecore_evas_free (ee=0x6509a0)
    at /home/antognolli/e17/git_e17/ecore/src/lib/ecore_evas/ecore_evas.c:2822
#8  0x00007ffff6a6cd7e in ecore_evas_shutdown ()
    at /home/antognolli/e17/git_e17/ecore/src/lib/ecore_evas/ecore_evas.c:252
#9  0x0000000000401d78 in main (argc=1, argv=0x7fffffffd628)
    at /home/antognolli/e17/git_e17/edje/src/examples/edje-box2.c:193
(gdb)


Valgrind log and source code attached.

Regards,
-- 
Rafael Antognolli
ProFUSION embedded systems
http://profusion.mobi
==7770== Memcheck, a memory error detector
==7770== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==7770== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==7770== Command: .libs/edje-box2
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99313: _edje_file_del (edje_load.c:935)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41eb8 is 104 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99332: _edje_file_del (edje_load.c:937)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41ec0 is 112 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E9933F: _edje_file_del (edje_load.c:939)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41ec0 is 112 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99356: _edje_file_del (edje_load.c:940)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41ec0 is 112 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E9936D: _edje_file_del (edje_load.c:941)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41ec0 is 112 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E9937D: _edje_file_del (edje_load.c:943)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41f00 is 176 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99425: _edje_file_del (edje_load.c:961)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41ee8 is 152 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E9944A: _edje_file_del (edje_load.c:966)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41ef0 is 160 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99473: _edje_file_del (edje_load.c:971)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41f48 is 248 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99496: _edje_file_del (edje_load.c:972)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41f58 is 264 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E994B9: _edje_file_del (edje_load.c:973)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41f88 is 312 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E994DC: _edje_file_del (edje_load.c:974)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41f90 is 320 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E994FF: _edje_file_del (edje_load.c:976)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb42088 is 568 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99576: _edje_file_del (edje_load.c:987)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb41f28 is 216 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99586: _edje_file_del (edje_load.c:988)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb42078 is 552 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E99599: _edje_file_del (edje_load.c:990)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb42080 is 560 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E995C3: _edje_file_del (edje_load.c:992)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0xbb42080 is 560 bytes inside a block of size 67,680 free'd
==7770==    at 0x4C2614D: free (vg_replace_malloc.c:366)
==7770==    by 0xAA27587: _eina_chained_mp_pool_free 
(eina_chained_mempool.c:146)
==7770==    by 0xAA27F80: eina_chained_mempool_shutdown 
(eina_chained_mempool.c:485)
==7770==    by 0xAA1162B: eina_mempool_del (eina_mempool.c:336)
==7770==    by 0x4EA01E7: edje_shutdown (edje_main.c:126)
==7770==    by 0x401D72: main (edje-box2.c:192)
==7770== 
==7770== Invalid read of size 8
==7770==    at 0x4E965BA: eina_mempool_free (eina_inline_mempool.x:120)
==7770==    by 0x4E995DE: _edje_file_del (edje_load.c:992)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  Address 0x10 is not stack'd, malloc'd or (recently) free'd
==7770== 
==7770== 
==7770== Process terminating with default action of signal 11 (SIGSEGV)
==7770==  Access not within mapped region at address 0x10
==7770==    at 0x4E965BA: eina_mempool_free (eina_inline_mempool.x:120)
==7770==    by 0x4E995DE: _edje_file_del (edje_load.c:992)
==7770==    by 0x4EAC2DF: _edje_smart_del (edje_smart.c:150)
==7770==    by 0x8C1922E: evas_object_smart_del (evas_object_smart.c:680)
==7770==    by 0x8C0D893: evas_object_del (evas_object_main.c:431)
==7770==    by 0x8BFD8B9: evas_layer_pre_free (evas_layer.c:68)
==7770==    by 0x8BFE1F2: evas_free (evas_main.c:187)
==7770==    by 0x5F951D8: _ecore_evas_free (ecore_evas.c:2822)
==7770==    by 0x5F90D7D: ecore_evas_shutdown (ecore_evas.c:252)
==7770==    by 0x401D77: main (edje-box2.c:193)
==7770==  If you believe this happened as a result of a stack
==7770==  overflow in your program's main thread (unlikely but
==7770==  possible), you can try to increase the size of the
==7770==  main thread stack using the --main-stacksize= flag.
==7770==  The main thread stack size used in this run was 8388608.
==7770== 
==7770== HEAP SUMMARY:
==7770==     in use at exit: 867,348 bytes in 3,912 blocks
==7770==   total heap usage: 8,465 allocs, 4,345 frees, 3,032,196 bytes 
allocated
==7770== 
==7770== LEAK SUMMARY:
==7770==    definitely lost: 780 bytes in 3 blocks
==7770==    indirectly lost: 3,328 bytes in 104 blocks
==7770==      possibly lost: 0 bytes in 0 blocks
==7770==    still reachable: 393,464 bytes in 3,948 blocks
==7770==         suppressed: 0 bytes in 0 blocks
==7770== Rerun with --leak-check=full to see details of leaked memory
==7770== 
==7770== For counts of detected and suppressed errors, rerun with: -v
==7770== ERROR SUMMARY: 18 errors from 18 contexts (suppressed: 11 from 8)
/**
 * Simple Edje example illustrating box functions.
 *
 * You'll need at least one Evas engine built for it (excluding the
 * buffer one). See stdout/stderr for output.
 *
 * @verbatim
 * edje_cc box.edc && gcc -o edje-box2 edje-box2.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
 * @endverbatim
 */

#ifdef HAVE_CONFIG_H
#include "config.h"
#else
#define PACKAGE_EXAMPLES_DIR "."
#define __UNUSED__
#endif

#include <Ecore.h>
#include <Evas.h>
#include <Ecore_Evas.h>
#include <Edje.h>

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

struct _App {
   Ecore_Evas *ee;
   Evas *evas;
   Evas_Object *bg;
   Evas_Object *box;
};

static struct _App app;

static void
custom_layout(Evas_Object *o, Evas_Object_Box_Data *p, void *data)
{
   int x, y, w, h;
   int xx, yy, ww, hh;
   int count;
   Eina_List *l;
   Evas_Object_Box_Option *opt;

   evas_object_geometry_get(o, &x, &y, &w, &h);
   count = eina_list_count(p->children);
   ww = w / (count?:1);
   hh = h / (count?:1);
   if (ww < 1) ww = 1;
   if (hh < 1) hh = 1;

   xx = x;
   yy = y;
   EINA_LIST_FOREACH(p->children, l, opt)
     {
	evas_object_move(opt->obj, xx, yy);
	xx += ww;
	yy += hh;
     }
}

static Evas_Object *
new_greenie_block(Evas *e)
{
   Evas_Object *o;

   o = evas_object_rectangle_add(e);
   evas_object_resize(o, 10, 10);
   evas_object_color_set(o, 0, 255, 0, 255);
   evas_object_show(o);

   return o;
}

static void
on_keydown(void *data, Evas *evas, Evas_Object *o, void *einfo)
{
   struct _App *app = data;
   Evas_Event_Key_Down *ev = einfo;
   const Evas_Modifier *mods;

   mods = evas_key_modifier_get(evas);
   if (evas_key_modifier_is_set(mods, "Shift"))
     {
	int pos;
	Evas_Object *obj = NULL;
	pos = atoi(ev->keyname);
	obj = edje_object_part_box_remove_at(app->box, "example/box", pos);
	if (obj)
	  evas_object_del(obj);
	return;
     }
   if (evas_key_modifier_is_set(mods, "Control"))
     {
	Evas_Object *o;
	int pos;
	pos = atoi(ev->keyname);
	o = new_greenie_block(app->evas);
	if (!edje_object_part_box_insert_at(app->box, "example/box", o, pos))
	  edje_object_part_box_append(app->box, "example/box", o);
	return;
     }
   if (strcmp(ev->keyname, "Escape") == 0)
     ecore_main_loop_quit();
}

static Evas_Object *
box_new(Evas *evas, const char *name, int x, int y, int w, int h)
{
   Evas_Object *o;

   o = edje_object_add(evas);
   evas_object_move(o, x, y);
   evas_object_resize(o, w, h);
   edje_object_file_set(o, "box.edj", "example/group2");
   evas_object_show(o);

   evas_object_name_set(o, name);

   return o;
}

static void
on_resize(Ecore_Evas *ee)
{
   int w, h;

   evas_output_viewport_get(app.evas, NULL, NULL, &w, &h);
   evas_object_resize(app.bg, w, h);
   evas_object_resize(app.box, w, h);
}

static void
on_destroy(Ecore_Evas *ee)
{
   ecore_main_loop_quit();
}

int
main(int argc, char *argv[])
{
   Ecore_Evas *ee;
   int w, h, i;
   Evas_Object *last;
   Evas_Object *o;

   evas_init();
   ecore_init();
   ecore_evas_init();
   edje_init();

   ee = ecore_evas_new(NULL, 0, 0, 640, 480, NULL);
   ecore_evas_show(ee);

   app.ee = ee;
   app.evas = ecore_evas_get(ee);

   ecore_evas_callback_resize_set(ee, on_resize);
   ecore_evas_callback_destroy_set(ee, on_destroy);

   evas_output_viewport_get(app.evas, NULL, NULL, &w, &h);

   app.bg = evas_object_rectangle_add(app.evas);
   evas_object_resize(app.bg, w, h);
   evas_object_show(app.bg);
   evas_object_focus_set(app.bg, 1);
   evas_object_event_callback_add(
      app.bg, EVAS_CALLBACK_KEY_DOWN, on_keydown, &app);

   edje_box_layout_register("custom_layout", custom_layout, NULL, NULL, NULL, NULL);

   app.box = box_new(app.evas, "box", 0, 0, w, h);

   for (i = 1; i <= 5; i++)
     {
	o = last = evas_object_rectangle_add(app.evas);
        evas_object_size_hint_min_set(o, 50, 50);
        evas_object_resize(o, 50, 50);
	evas_object_color_set(o, 255, 0, 0, 128);
	evas_object_show(o);

	if (!edje_object_part_box_append(app.box, "example/box", o))
	  {
	     fprintf(stderr, "error appending child object!\n");
	     return 1;
	  }
     }

   ecore_main_loop_begin();

   edje_shutdown();
   ecore_evas_shutdown();
   ecore_shutdown();
   evas_shutdown();


   return 0;
}
------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to