On Tue, Oct 25, 2011 at 07:40:11PM +0200, Klaus 'mrmoku' Kurzmann wrote:
> Hi all,
> 
> starting with r64102 enlightenment started to segfault on startup with
> the following backtrace:
> 
> (gdb) bt
> #0  0x4030a890 in __libc_waitpid (pid=4140, stat_loc=0xbeb463c4, options=0) 
> at ../sysdeps/unix/sysv/linux/waitpid.c:32
> #1  0x000314b4 in e_alert_show (sig=<optimized out>) at e_alert.c:57
> #2  <signal handler called>
> #3  0x0005a190 in e_desk_show (desk=0x15a768) at e_desk.c:265
> #4  0x000d2214 in e_zone_desk_count_set (zone=0x2116c8, x_count=<optimized 
> out>, y_count=<optimized out>) at e_zone.c:674
> #5  0x000d2e34 in e_zone_new (con=<optimized out>, num=<optimized out>, 
> id=<optimized out>, x=0, y=0, w=480, h=640) at e_zone.c:244
> #6  0x0005776c in e_container_new (man=0x174830) at e_container.c:183
> #7  0x0002fee0 in _e_main_screens_init () at e_main.c:1543
> #8  main (argc=<optimized out>, argv=<optimized out>) at e_main.c:577
> 
> Disabling the edje message added by r64102 like with the following patch
> makes the segfault go away.
> 
> 
> diff --git a/e/src/bin/e_desk.c b/e/src/bin/e_desk.c
> index b140187..9ba8608 100644
> --- a/e/src/bin/e_desk.c
> +++ b/e/src/bin/e_desk.c
> @@ -237,14 +237,14 @@ e_desk_show(E_Desk *desk)
>     desk->zone->desk_y_current = desk->y;
>     desk->visible = 1;
>  
> -   msg = alloca(sizeof(Edje_Message_Float_Set) + sizeof(double));
> -   msg->count = 1;

the count was later fixed to 5 in r64156, but we still had allocated
space only for one double in Edje_Message_Float_Set + one extra, while
using 4 extra double params (Thanks to nschle85 for noticing it)

diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c
index b140187..9ba8608 100644
--- a/src/bin/e_desk.c
+++ b/src/bin/e_desk.c
@@ -237,7 +237,7 @@ e_desk_show(E_Desk *desk)
    desk->zone->desk_y_current = desk->y;
    desk->visible = 1;

-   msg = alloca(sizeof(Edje_Message_Float_Set) + sizeof(double));
+   msg = alloca(sizeof(Edje_Message_Float_Set) + 4 * sizeof(double));
    msg->count = 5;
    msg->val[0] = e_config->desk_flip_animate_time;
    msg->val[1] = (double) desk->x;

-- 
Martin 'JaMa' Jansa     jabber: martin.ja...@gmail.com

Attachment: signature.asc
Description: Digital signature

------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn 
about Cisco certifications, training, and career opportunities. 
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to