This last two are the same as problem as Viktor. I am definitively thinking on using ecore_thread_run or some infra like this in evas. It would solve most of our problem I believe, just need a clean way to do it.
On Fri, Nov 27, 2009 at 4:45 PM, P Purkayastha <ppu...@gmail.com> wrote: > At 4:30pm, Cedric BAIL wrote: >> On Fri, Nov 27, 2009 at 4:17 PM, P Purkayastha <ppu...@gmail.com> wrote: >>> At 9:48am, Viktor Kojouharov wrote: >>> >>>> I've been experiencing segfaults in evas_cache for quite some time now. >>>> They occur after an image that has been loaded using evas is deleted or >>>> moved, however they are not reproducible all the time. Valgrind is also >>>> being quite vocal in this situation. I've attached the valgrind output >>>> and a gdb backtrace for anyone familiar with the evas internals who has >>>> a free time to look into it. >>>> >>> >>> I wonder if my e17 segfaults are related to this. I have been getting >>> frequent segfaults since an update of e from svn yesterday. An example bt >>> is given below: >>> >>> #0 0x0000003f4e20d504 in __lll_lock_wait () from /lib/libpthread.so.0 >>> #1 0x0000003f4e208ee5 in _L_lock_508 () from /lib/libpthread.so.0 >>> #2 0x0000003f4e208d08 in pthread_mutex_lock () from /lib/libpthread.so.0 >>> #3 0x00007fd6ff3784ac in evas_common_rgba_image_scalecache_prepare >> >> This one sounds like referring to the scalecache, not preload. > > This is just one of the bt's I have been getting. And they all crash at > different points. Maybe some common code is triggering all these crashes? > Here are some others. The first one: > > #0 0x0000003f4d2c50d3 in poll () from /lib/libc.so.6 > #1 0x0000003f4f60ab4a in ?? () from /usr/lib/libxcb.so.1 > #2 0x0000003f4f60c15f in xcb_wait_for_event () from /usr/lib/libxcb.so.1 > #3 0x0000003f4f24ded8 in ?? () from /usr/lib/libX11.so.6 > #4 0x0000003f4f24e27d in ?? () from /usr/lib/libX11.so.6 > #5 0x0000003f4f24ead1 in _XReadEvents () from /usr/lib/libX11.so.6 > #6 0x0000003f4f235478 in XNextEvent () from /usr/lib/libX11.so.6 > #7 0x000000000047752c in e_alert_show ( > text=0x4d4760 "This is very bad. Enlightenment SIGABRT'd.\n\nThis is not > meant to happen and is likely a sign of\na bug in Enlightenment or the > libraries it relies\non. You can gdb attach to this process now to > try\ndebu"...) at e_alert.c:129 > #8 0x0000000000461ef4 in e_sigabrt_act (x=<value optimized out>, > info=<value optimized out>, data=<value optimized out>) at e_signals.c:208 > #9 <signal handler called> > #10 0x0000003f4d232085 in raise () from /lib/libc.so.6 > #11 0x0000003f4d2334b0 in abort () from /lib/libc.so.6 > #12 0x0000003f4d22b10a in __assert_fail () from /lib/libc.so.6 > #13 0x00007f8783d6e800 in evas_cache_image_preload_cancel (im=0x2807630, > target=<value optimized out>) at evas_cache_image.c:1327 > #14 0x00007f87822643b2 in eng_image_data_preload_cancel (data=<value > optimized out>, image=0x1c47, target=0x6) at evas_engine.c:729 > #15 0x00007f8783d422e6 in evas_object_image_free (obj=0x286d680) at > evas_object_image.c:2272 > #16 0x00007f8783d452ba in evas_object_free (obj=0x286d680, clean_layer=1) at > evas_object_main.c:61 > #17 0x00007f8783d69136 in evas_render_updates_internal (e=0x2337a40, > make_updates=<value optimized out>, do_draw=1 '\001') at evas_render.c:1102 > #18 0x00007f8783d693fa in evas_render_updates (e=0x1c47) at > evas_render.c:1175 > #19 0x00007f877fd63440 in _eco_cb_border_icon_change (data=<value optimized > out>, ev_type=<value optimized out>, ev=<value optimized out>) at > eco_event.c:1029 > #20 0x00007f878400de25 in _ecore_event_call () at ecore_events.c:420 > #21 0x00007f8784016647 in _ecore_main_loop_iterate_internal (once_only=0) at > ecore_main.c:791 > #22 0x00007f8784016690 in ecore_main_loop_begin () at ecore_main.c:114 > #23 0x000000000042fa74 in main (argc=1, argv=<value optimized out>) at > e_main.c:1074 > The program is running. Quit anyway (and detach it)? (y or n) Detaching > from program: /usr/bin/enlightenment, process 7239 > > > The second one: > #0 0x0000003f4d2c50d3 in poll () from /lib/libc.so.6 > #1 0x0000003f4f60ab4a in ?? () from /usr/lib/libxcb.so.1 > #2 0x0000003f4f60c15f in xcb_wait_for_event () from /usr/lib/libxcb.so.1 > #3 0x0000003f4f24ded8 in ?? () from /usr/lib/libX11.so.6 > #4 0x0000003f4f24e27d in ?? () from /usr/lib/libX11.so.6 > #5 0x0000003f4f24ead1 in _XReadEvents () from /usr/lib/libX11.so.6 > #6 0x0000003f4f235478 in XNextEvent () from /usr/lib/libX11.so.6 > #7 0x000000000047752c in e_alert_show ( > text=0x4d4b68 "This is very bad. Enlightenment SEGV'd.\n\nThis is not > meant to happen and is likely a sign of\na bug in Enlightenment or the > libraries it relies\non. You can gdb attach to this process now to > try\ndebug i"...) at e_alert.c:129 > #8 0x0000000000461fb8 in e_sigseg_act (x=<value optimized out>, info=<value > optimized out>, data=<value optimized out>) at e_signals.c:124 > #9 <signal handler called> > #10 _evas_cache_image_entry_preload_remove (ie=0x2908380, target=0x2c000d0) > at evas_cache_image.c:442 > #11 0x00007fd0b0ea980a in evas_cache_image_preload_cancel > (im=0xffffff00ffffff00, target=0x0) at evas_cache_image.c:1332 > #12 0x00007fd0af39e3b2 in eng_image_data_preload_cancel (data=<value > optimized out>, image=0xffffff00ffffff00, target=0x2c000d0) at > evas_engine.c:729 > #13 0x00007fd0b0e7d2e6 in evas_object_image_free (obj=0x2c000d0) at > evas_object_image.c:2272 > #14 0x00007fd0b0e802ba in evas_object_free (obj=0x2c000d0, clean_layer=1) at > evas_object_main.c:61 > #15 0x00007fd0b0ea4136 in evas_render_updates_internal (e=0x23f52b0, > make_updates=<value optimized out>, do_draw=0 '\0') at evas_render.c:1102 > #16 0x00007fd0b0ea4301 in evas_norender (e=0xffffff00ffffff00) at > evas_render.c:1218 > #17 0x00007fd0b2e72e00 in _ecore_evas_x_render (ee=0x23f50e0) at > ecore_evas_x.c:308 > #18 0x00007fd0b2e7478f in _ecore_evas_x_idle_enter (data=<value optimized > out>) at ecore_evas_x.c:1014 > #19 0x00007fd0b114eace in _ecore_idle_enterer_call () at > ecore_idle_enterer.c:106 > #20 0x00007fd0b115165e in _ecore_main_loop_iterate_internal (once_only=0) at > ecore_main.c:801 > #21 0x00007fd0b1151690 in ecore_main_loop_begin () at ecore_main.c:114 > #22 0x000000000042fa74 in main (argc=1, argv=<value optimized out>) at > e_main.c:1074 > The program is running. Quit anyway (and detach it)? (y or n) Detaching > from program: /usr/bin/enlightenment, process 7239 > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Cedric BAIL ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel