Actually it's even more broken, because with a new build after your
unfix I don't experience the bug with fullscree rage anymore but I get
other segfaults. The backtrace attached is generated when I try to just
scroll a Libreoffice window.

Now I see that you just commit another change. I'm gonna try it and tell
you what happens :)

Carsten Haitzler (The Rasterman) ha scritto il 15/06/2015 alle 04:02:
> On Sun, 14 Jun 2015 09:59:27 +0200 Massimo Maiurana <maiur...@gmail.com> said:
> 
>> Thnaks again :)
> 
> you have to unthank me. i broke it again once i found that my fix actually
> creates a leak and things neever get freed (thus why it fixed things). :) so
> it's back to b0rken again until i fugre out the refcounting problem. i found
> some possible refcount issues during a code read/review, and i fixed them up,
> but it seems we have more.
> 
>> Carsten Haitzler (The Rasterman) ha scritto il 14/06/2015 alle 09:09:
>>> On Sat, 13 Jun 2015 08:47:25 +0200 Massimo Maiurana <maiur...@gmail.com>
>>> said:
>>>
>>> fixed. commit 4e5521b4d82063a2fbf6632a117fda201cc1687d
>>>
>>>     e comp - fix refcounting for e_comp and comp clients
>>>
>>>     the refcoutning for e_comp and e comp clients seemed to be a bit off -
>>>     i read over every ref and unref carefully and fix it. this leads to
>>>     the com-_data being null (properly now), so now check for that too.
>>>
>>> :)
>>>
>>>> With a recent build of E, EFL and rage, I have a segfault every time I
>>>> close a rage fullscreen window. No problems if exit from fullscreen
>>>> before closing rage.
>>>> Attached is the generated backtrace.
>>>>
>>>> -- 
>>>> Massimo Maiurana
>>>> Ragusa (RG)
>>>
>>>
>>
>>
>> -- 
>> Massimo Maiurana
>> Ragusa (RG)
>>
> 
> 


-- 
Massimo Maiurana
Ragusa (RG)
Thread 3 (Thread 0x7fa94bcab700 (LWP 2419)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at 
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007fa95901515c in eina_condition_wait (cond=<optimized out>) at 
../src/lib/eina/eina_inline_lock_posix.x:415
No locals.
#2  evas_thread_worker_func (data=0x7fa9593012cc 
<evas_thread_queue_condition+12>, thread=128) at 
lib/evas/common/evas_thread_render.c:75
        cmd = 0xf35e50
        len = 1493258528
        max = 4294966784
        __FUNCTION__ = "evas_thread_worker_func"
        __PRETTY_FUNCTION__ = "evas_thread_worker_func"
#3  0x00007fa9597935d5 in _eina_internal_call (context=0xf35e50) at 
lib/eina/eina_thread.c:117
        c = 0xf35e50
        r = <optimized out>
#4  0x00007fa9595480a4 in start_thread (arg=0x7fa94bcab700) at 
pthread_create.c:309
        __res = <optimized out>
        pd = 0x7fa94bcab700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140365097776896, 
-5797140949675156073, 0, 140365343965280, 1, 140365097776896, 
5827372663521009047, 5827334302054473111}, mask_was_saved = 0}}, priv = {pad = 
{0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#5  0x00007fa955e3e04d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 2 (Thread 0x7fa94808e700 (LWP 2426)):
#0  0x00007fa955e372b3 in select () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007fa95634cbfe in _drm_tick_core (data=0x19, thread=0xfc10a0) at 
lib/ecore_x/xlib/ecore_x_vsync.c:310
        wfds = {fds_bits = {0 <repeats 16 times>}}
        ret = -514
        tv = {tv_sec = 0, tv_usec = 91447}
        rfds = {fds_bits = {16777216, 0 <repeats 15 times>}}
        exfds = {fds_bits = {0 <repeats 16 times>}}
        ref = 0x2bcad20
        tick = 1
        __FUNCTION__ = "_drm_tick_core"
#2  0x00007fa958c9b529 in _ecore_direct_worker (work=0xfc10a0) at 
lib/ecore/ecore_thread.c:424
No locals.
#3  0x00007fa9597935d5 in _eina_internal_call (context=0x1002a30) at 
lib/eina/eina_thread.c:117
        c = 0x1002a30
        r = <optimized out>
#4  0x00007fa9595480a4 in start_thread (arg=0x7fa94808e700) at 
pthread_create.c:309
        __res = <optimized out>
        pd = 0x7fa94808e700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140365034743552, 
-5797140949675156073, 0, 140365343965280, 2, 140365034743552, 
5827371035191532951, 5827334302054473111}, mask_was_saved = 0}}, priv = {pad = 
{0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#5  0x00007fa955e3e04d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Thread 1 (Thread 0x7fa95a7138c0 (LWP 2418)):
#0  0x00007fa95954f24d in pause () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  <signal handler called>
No locals.
#2  0x00007fa955d8d107 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
        resultvar = 0
        pid = 2418
        selftid = 2418
#3  0x00007fa955d8e4e8 in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4d430000, sa_sigaction = 
0x4d430000}, sa_mask = {__val = {50328240, 8, 0, 0, 0, 0, 0, 1296236544, 
50328240, 8, 206158430256, 140726510055664, 140726510055424, 
9223373845036048245, 140365304041897, 9223373845036048245}}, sa_flags = 
1906602160, sa_restorer = 0x2d52ab0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#4  0x00007fa955dcb204 in __libc_message (do_abort=do_abort@entry=1, 
fmt=fmt@entry=0x7fa955ebdfe0 "*** Error in `%s': %s: 0x%s ***\n") at 
../sysdeps/posix/libc_fatal.c:175
        ap = {{gp_offset = 40, fp_offset = 32681, overflow_arg_area = 
0x7ffd71a472b0, reg_save_area = 0x7ffd71a47240}}
        fd = 2
        on_2 = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#5  0x00007fa955dd09de in malloc_printerr (action=1, str=0x7fa955ebe0e8 "double 
free or corruption (!prev)", ptr=<optimized out>) at malloc.c:4996
        buf = "00000000031ee580"
        cp = <optimized out>
#6  0x00007fa955dd16e6 in _int_free (av=<optimized out>, p=<optimized out>, 
have_lock=0) at malloc.c:3840
        size = <optimized out>
        fb = <optimized out>
        nextchunk = <optimized out>
        nextsize = <optimized out>
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        errstr = <optimized out>
        locked = <optimized out>
        __func__ = "_int_free"
#7  0x00000000004d5208 in e_object_free (obj=<optimized out>) at 
src/bin/e_object.c:150
No locals.
#8  e_object_unref (obj=0x972) at src/bin/e_object.c:152
        __FUNCTION__ = "e_object_unref"
#9  0x00000000004580e7 in _e_comp_object_done_defer (data=0x30f9840, 
obj=<optimized out>, emission=<optimized out>, source=<optimized out>) at 
src/bin/e_comp_object.c:667
        cw = 0x30f9840
        __FUNCTION__ = "_e_comp_object_done_defer"
#10 0x00007fa9583f0421 in edje_match_callback_exec_check_finals 
(prop=<optimized out>, ed=<optimized out>, source=0x7fa9597b33ca 
<_eina_stringshare_single+202> "e", sig=0x2cf697c "e,action,show,done", 
source_states=<optimized out>, signal_states=<optimized out>, 
matches=<optimized out>, ssp=0x2cf75f0) at lib/edje/edje_match.c:556
        idx = <optimized out>
        run = {version = 1, data = 0x2d58960, total = 4, count = 1, step = 4, 
__magic = 2557874747}
        i = <optimized out>
        cb = <optimized out>
        j = <optimized out>
        r = <optimized out>
#11 edje_match_callback_exec (ssp=0x2cf75f0, matches=<optimized out>, 
sig=0x2cf697c "e,action,show,done", source=0x7fa9597b33ca 
<_eina_stringshare_single+202> "e", ed=<optimized out>, prop=0 '\000') at 
lib/edje/edje_match.c:711
        signal_result = <optimized out>
        source_result = <optimized out>
        r = 0
#12 0x00007fa9583f66d7 in _edje_emit_cb (prop=<optimized out>, data=<optimized 
out>, src=<optimized out>, sig=<optimized out>, ed=<optimized out>) at 
lib/edje/edje_program.c:1423
        m = 0x2fb1f10
        match = 0x3038356565313330
        ssp = 0x2cf75f0
        r = 0
#13 _edje_emit_handle (ed=0x3005730, sig=0x2cf697c "e,action,show,done", 
src=0x7fa9597b33ca <_eina_stringshare_single+202> "e", 
sdata=0xffffffffffffffff, prop=48 '0') at lib/edje/edje_program.c:1376
No locals.
#14 0x00007fa9583f175f in _edje_message_queue_process () at 
lib/edje/edje_message_queue.c:787
        em = 0x30f0ce0
        ed = 0x3005730
        i = <optimized out>
        __FUNCTION__ = "_edje_message_queue_process"
#15 0x00007fa9583f1907 in _edje_job (data=<optimized out>) at 
lib/edje/edje_message_queue.c:154
No locals.
#16 0x00007fa958c94e3b in _ecore_job_event_handler (data=<optimized out>, 
type=<optimized out>, ev=<optimized out>) at lib/ecore/ecore_job.c:121
        job = <optimized out>
#17 0x00007fa958c8f895 in _ecore_call_handler_cb (event=<optimized out>, 
type=<optimized out>, data=<optimized out>, func=<optimized out>) at 
lib/ecore/ecore_private.h:386
        r = <optimized out>
#18 _ecore_event_call () at lib/ecore/ecore_events.c:565
        ret = 0 '\000'
        e = 0x31d8d40
        handle_count = 1
        l = <optimized out>
        l_next = <optimized out>
        eh = 0xf212e0
#19 0x00007fa958c97308 in _ecore_main_loop_iterate_internal 
(once_only=once_only@entry=0) at lib/ecore/ecore_main.c:1927
        next_time = <optimized out>
#20 0x00007fa958c974e7 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:983
No locals.
#21 0x00000000004379eb in main (argc=0, argv=0x1) at src/bin/e_main.c:1039
        waslocked = 1 '\001'
        s = 0x1 <error: Cannot access memory at address 0x1>
        buff = "1434368276.4", '\000' <repeats 19 times>
        action = {__sigaction_handler = {sa_handler = 0x4e80e0 <e_sigabrt_act>, 
sa_sigaction = 0x4e80e0 <e_sigabrt_act>}, sa_mask = {__val = {0 <repeats 16 
times>}}, sa_flags = -1073741820, sa_restorer = 0x0}
        __FUNCTION__ = "main"
------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to