From owner-freebsd-hackers@FreeBSD.ORG Fri Feb 21 05:15:32 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9B47C55A; Fri, 21 Feb 2014 05:15:32 +0000 (UTC) Received: from alogt.com (alogt.com [69.36.191.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A5D5F111D; Fri, 21 Feb 2014 05:15:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=alogt.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date; bh=wgPQpQsBfiGnQ5PCW/SSPW2/V8HIpr8GB2fbKchRH0Q=; b=t30J/bB2KcdqC1b8FdAbZVGrO+kPqLOEu7sRjUAD5gzRYa0WDnAXWSkOBwrpKlBMiwE3aAptHmHPIKd3o2Ons4FPI9dtLgolGTCYNap/cgv5qHysv5sbl814OjMgjV+FRlwQqbDHClA+CKBJKaHv4iAsYx4xz5ZEJTC5UWxBfiQ=; Received: from [182.9.34.57] (port=62645 helo=X220.alogt.com) by sl-508-2.slc.westdc.net with esmtpsa (SSLv3:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from ) id 1WGiSP-003qrQ-SL; Thu, 20 Feb 2014 22:15:30 -0700 Date: Fri, 21 Feb 2014 13:15:17 +0800 From: Erich Dollansky To: David Xu Subject: Re: pthread programming eats up resources (My or FreeBSD's fault?) Message-ID: <20140221131517.66d5b82c@X220.alogt.com> In-Reply-To: <5306DCC8.3080001@freebsd.org> References: <20140218180646.GA67861@schlappy> <53059574.8090605@freebsd.org> <20140220140644.7b1e0074@X220.alogt.com> <5305B786.8020708@freebsd.org> <20140221124405.0791d375@X220.alogt.com> <5306DCC8.3080001@freebsd.org> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.22; amd64-portbld-freebsd10.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - sl-508-2.slc.westdc.net X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - alogt.com X-Get-Message-Sender-Via: sl-508-2.slc.westdc.net: authenticated_id: erichsfreebsdlist@alogt.com X-Source: X-Source-Args: X-Source-Dir: Cc: freebsd-hackers@freebsd.org, Andre Albsmeier X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Feb 2014 05:15:32 -0000 Hi, On Fri, 21 Feb 2014 12:57:44 +0800 David Xu wrote: > On 2014/02/21 12:44, Erich Dollansky wrote: > > On Thu, 20 Feb 2014 16:06:30 +0800 > > David Xu wrote: > > > >> On 2014/02/20 14:06, Erich Dollansky wrote: > >> > >> I have found the bug, it is in rtld, where malloc_aligned() is > >> misfunctioning, memory can be corrupted by the function. > >> > >> libthr calls _rtld_allocate_tls to allocate tls control block, > >> the function is in rtld, its uses malloc_aligned() which is not > >> working correctly. > >> > > I installed the patch. It is now much, much better but after hours, > > something still seems wrong. Size went above 200MB after 40min of > > CPU time. The number of threads is now above 1200. The machine also > > has 3 zombies. The machine was restarted some 4h ago. > > > > Default thread stack size on 32-bit machine is 1M, if you have > 1024 threads, the size can be larger than 1G. I checked > maxinum threads kernel allowed is max_threads_per_proc > which is 1500 default. So what you have seen might be normal. > I don't know what is zombie, is it a zombie process? > thread library does not create process. I know, the zombies do not fit the scenario. Irritating is that some threads stay over. Is it a side effect of the scheduler? I do my normal work with the machine. The load should not block this process for long as I do nothing which requires 100% for all the time. Should I add some code to wait until the counter is zero again and see what is happening then? Erich