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