From owner-freebsd-hackers Mon Aug 13 1: 5:48 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from neptune.he.net (neptune.he.net [216.218.166.2]) by hub.freebsd.org (Postfix) with ESMTP id 6C1F737B401; Mon, 13 Aug 2001 01:05:42 -0700 (PDT) (envelope-from robinson@netrinsics.com) Received: from netrinsics.com ([210.52.155.139] (may be forged)) by neptune.he.net (8.8.6/8.8.2) with ESMTP id BAA01533; Mon, 13 Aug 2001 01:05:40 -0700 Received: (from robinson@localhost) by netrinsics.com (8.11.2/8.11.1) id f7D7YUt00294; Mon, 13 Aug 2001 15:34:30 +0800 (+0800) (envelope-from robinson) Date: Mon, 13 Aug 2001 15:34:30 +0800 From: Michael Robinson To: Daniel Eischen Cc: hackers@freebsd.org, current@freebsd.org Subject: Re: _sigprocmask in malloc.c causes full file table? Message-ID: <20010813153430.A283@elephant.netrinsics.com> References: <20010812214608.A2701@elephant.netrinsics.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from eischen@vigrid.com on Sun, Aug 12, 2001 at 10:29:53AM -0400 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, Aug 12, 2001 at 10:29:53AM -0400, Daniel Eischen wrote: > sigprocmask() behaves the same as pthread_sigmask(). pthread_sigmask() > needs to obtain the current thread. In obtaining the current thread, > the threads library must be initialized. In initializing the threads > library malloc() is called. Wash, rinse, repeat. We have a winner. This is the top of the (very long) call stack from the mozilla core file (which I admittedly should have examined earlier): #11913 0x2863ebda in _thread_init () from /usr/lib/libc_r.so.5 #11914 0x2863e7a3 in _get_curthread () from /usr/lib/libc_r.so.5 #11915 0x28633539 in pthread_sigmask () from /usr/lib/libc_r.so.5 #11916 0x2863f250 in sigprocmask () from /usr/lib/libc_r.so.5 #11917 0x286c9db5 in malloc () from /usr/lib/libc.so.5 #11918 0x2863a980 in _pq_alloc () from /usr/lib/libc_r.so.5 #11919 0x2863ebda in _thread_init () from /usr/lib/libc_r.so.5 #11920 0x2863e7a3 in _get_curthread () from /usr/lib/libc_r.so.5 #11921 0x28633539 in pthread_sigmask () from /usr/lib/libc_r.so.5 #11922 0x2863f250 in sigprocmask () from /usr/lib/libc_r.so.5 #11923 0x286c9db5 in malloc () from /usr/lib/libc.so.5 #11924 0x2863a980 in _pq_alloc () from /usr/lib/libc_r.so.5 #11925 0x2863ebda in _thread_init () from /usr/lib/libc_r.so.5 #11926 0x2863c063 in pthread_mutex_lock () from /usr/lib/libc_r.so.5 #11927 0x2861556d in __register_frame_info () from /usr/lib/libstdc++.so.3 #11928 0x28662fa2 in _init () from /usr/lib/libc.so.5 #11929 0x2866062d in _init () from /usr/lib/libc.so.5 #11930 0x2806de10 in _rtld () from /usr/libexec/ld-elf.so.1 So, in answer to the question, "am I doing something boneheaded, or is this an undocumented subtle interaction," I'll give partial credit to both. Thank you very much for your assistance. -Michael Robinson To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message