[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