The Samba-Bugzilla – Attachment 13047 Details for
Bug 12624
Memory leak in pthreadpool
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for 4.6 cherry-picked from master
bug12624-v46.patch (text/plain), 2.76 KB, created by
Ralph Böhme
on 2017-03-12 15:32:05 UTC
(
hide
)
Description:
Patch for 4.6 cherry-picked from master
Filename:
MIME Type:
Creator:
Ralph Böhme
Created:
2017-03-12 15:32:05 UTC
Size:
2.76 KB
patch
obsolete
>From f249906273da978d773a074523bf2c856d7354eb Mon Sep 17 00:00:00 2001 >From: Ralph Boehme <slow@samba.org> >Date: Thu, 9 Mar 2017 19:49:56 +0100 >Subject: [PATCH] lib/pthreadpool: fix a memory leak >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >When copying large files from the server to the client with aio enabled >we noticed that smbd kept growing RSS and VSZ. > >valgrind was reporting: > >==2503== 4,093,440 bytes in 6,560 blocks are possibly lost in loss record 460 of 460 >==2503== at 0x4C299CE: calloc (vg_replace_malloc.c:711) >==2503== by 0x4011C24: _dl_allocate_tls (in /usr/lib64/ld-2.17.so) >==2503== by 0x4E3C960: pthread_create@@GLIBC_2.2.5 (in /usr/lib64/libpthread-2.17.so) >==2503== by 0x9B298AE: pthreadpool_add_job (in /usr/lib64/samba/libmessages-dgm-samba4.so) >==2503== by 0x9B29FDC: pthreadpool_tevent_job_send (in /usr/lib64/samba/libmessages-dgm-samba4.so) >==2503== by 0x56A78EF: ??? (in /usr/lib64/samba/libsmbd-base-samba4.so) >==2503== by 0x55D86B7: smb_vfs_call_pread_send (in /usr/lib64/samba/libsmbd-base-samba4.so) >==2503== by 0x55F7543: schedule_smb2_aio_read (in /usr/lib64/samba/libsmbd-base-samba4.so) >==2503== by 0x5608F57: smbd_smb2_request_process_read (in /usr/lib64/samba/libsmbd-base-samba4.so) >==2503== by 0x55FCB6C: smbd_smb2_request_dispatch (in /usr/lib64/samba/libsmbd-base-samba4.so) >==2503== by 0x55FD7DC: ??? (in /usr/lib64/samba/libsmbd-base-samba4.so) >==2503== by 0x641B977: ??? (in /usr/lib64/samba/libtevent.so.0.9.31) > >The problem seems to be caused by worked threads that are not properly >started in detached state and thus their tls is not reclaimed upon >thread termination. > >In pthreadpool.c we prepare a pthread attribute with >PTHREAD_CREATE_DETACHED, but we don't pass it to pthread_create(). > >Bug: https://bugzilla.samba.org/show_bug.cgi?id=12624 > >Signed-off-by: Ralph Boehme <slow@samba.org> >Reviewed-by: Volker Lendecke <vl@samba.org> >Reviewed-by: Stefan Metzmacher <metze@samba.org> > >Autobuild-User(master): Ralph Böhme <slow@samba.org> >Autobuild-Date(master): Fri Mar 10 22:06:02 CET 2017 on sn-devel-144 > >(cherry picked from commit c9a7a065bb5ec09286fef8b52b4fd23a966a94a8) >--- > source3/lib/pthreadpool/pthreadpool.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/source3/lib/pthreadpool/pthreadpool.c b/source3/lib/pthreadpool/pthreadpool.c >index eaddd44..f97cdcc 100644 >--- a/source3/lib/pthreadpool/pthreadpool.c >+++ b/source3/lib/pthreadpool/pthreadpool.c >@@ -534,7 +534,7 @@ int pthreadpool_add_job(struct pthreadpool *pool, int job_id, > return res; > } > >- res = pthread_create(&thread_id, NULL, pthreadpool_server, >+ res = pthread_create(&thread_id, &thread_attr, pthreadpool_server, > (void *)pool); > if (res == 0) { > pool->num_threads += 1; >-- >2.9.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
slow
:
review?
(
metze
)
vl
:
review+
Actions:
View
Attachments on
bug 12624
: 13047