[Openais] PATCH: aisexec leak & corruption (whitetank & trunk) (retry)

Fabien THOMAS fabien.thomas at netasq.com
Tue Aug 29 02:11:30 PDT 2006


I've not received back this mail in the list, sorry if its a  
duplicate for you.

Find attached a patch that correct the leaks in aisexec when running  
my sample checkpoint app.

I've also corrected a misplaced call to hdb_destroy in the checkpoint  
module (hdb was destroyed during iterator finalize).

pthread_mutex_destroy is never used:
i've tried to find the right place to destroy the mutex but it needs  
to be checked by module owner.

pthread_attr_destroy, cond_destroy is never used (but not too many  
leaks here)

conn_info->shared_mutex is allocated by two thread and overwritten by  
one so the mutex is lost:
here i've just done a quickfix but the real solution need to be found  
later.

There is one remaining problem but i cannot find the reason:
during checkpoint recovery it seems that the structure is corrupted  
(the full log is attached to my previous post).

Here i need some help Muni :)

Regards,
Fabien

==40571== Thread 4:
==40571== Invalid read of size 2
==40571==    at 0x8071990:  
message_handler_req_lib_ckpt_sectioniterationnext (ckpt.c:4195)
==40571==    by 0x8063166: libais_deliver (ipc.c:724)
==40571==    by 0x8062B95: prioritized_poll_thread (ipc.c:488)
==40571==    by 0x3C03A692: (within /usr/local/lib/valgrind/ 
libpthread.so.2)
==40571==  Address 0x3C1A4BB8 is 8 bytes inside a block of size 64  
free'd
==40571==    at 0x3C03267F: free (in /usr/local/lib/valgrind/ 
vgpreload_memcheck.so)
==40571==    by 0x806B4A2: ckpt_recovery_finalize (ckpt.c:1181)
==40571==    by 0x806B396: ckpt_recovery_process (ckpt.c:1144)
==40571==    by 0x8061741: sync_service_process (sync.c:235)
==40571==
==40571== Thread 4:
==40571== Invalid read of size 1
==40571==    at 0x3C031DC8: memcpy (in /usr/local/lib/valgrind/ 
vgpreload_memcheck.so)
==40571==    by 0x80719C1:  
message_handler_req_lib_ckpt_sectioniterationnext (ckpt.c:4197)
==40571==    by 0x8063166: libais_deliver (ipc.c:724)
==40571==    by 0x8062B95: prioritized_poll_thread (ipc.c:488)
==40571==  Address 0x3C1A4BE7 is 55 bytes inside a block of size 64  
free'd
==40571==    at 0x3C03267F: free (in /usr/local/lib/valgrind/ 
vgpreload_memcheck.so)
==40571==    by 0x806B4A2: ckpt_recovery_finalize (ckpt.c:1181)
==40571==    by 0x806B396: ckpt_recovery_process (ckpt.c:1144)
==40571==    by 0x8061741: sync_service_process (sync.c:235)
==40571==
==40571== Thread 4:
==40571== Invalid read of size 1
==40571==    at 0x3C031DCD: memcpy (in /usr/local/lib/valgrind/ 
vgpreload_memcheck.so)
==40571==    by 0x80719C1:  
message_handler_req_lib_ckpt_sectioniterationnext (ckpt.c:4197)
==40571==    by 0x8063166: libais_deliver (ipc.c:724)
==40571==    by 0x8062B95: prioritized_poll_thread (ipc.c:488)
==40571==  Address 0x3C1A4BE6 is 54 bytes inside a block of size 64  
free'd
==40571==    at 0x3C03267F: free (in /usr/local/lib/valgrind/ 
vgpreload_memcheck.so)
==40571==    by 0x806B4A2: ckpt_recovery_finalize (ckpt.c:1181)
==40571==    by 0x806B396: ckpt_recovery_process (ckpt.c:1144)
==40571==    by 0x8061741: sync_service_process (sync.c:235)
==40571==

-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-leak
Type: application/octet-stream
Size: 10964 bytes
Desc: not available
Url : http://lists.linux-foundation.org/pipermail/openais/attachments/20060829/5b8c5cb9/patch-leak-0001.obj
-------------- next part --------------



More information about the Openais mailing list