From owner-freebsd-threads@FreeBSD.ORG Sat Jun 4 13:07:04 2005 Return-Path: X-Original-To: freebsd-threads@freebsd.org Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3B0E716A41C for ; Sat, 4 Jun 2005 13:07:04 +0000 (GMT) (envelope-from ant@emict.com) Received: from mail.emict.com (brig.emict.com [212.90.172.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id D149A43D48 for ; Sat, 4 Jun 2005 13:07:03 +0000 (GMT) (envelope-from ant@emict.com) Received: from [10.0.0.232] (unknown [10.0.0.232]) by mail.emict.com (Postfix) with ESMTP id F0206275E1; Sat, 4 Jun 2005 16:07:01 +0300 (EEST) From: Andriy Tkachuk Organization: eMICT To: freebsd-threads@freebsd.org Date: Sat, 4 Jun 2005 16:07:00 +0300 User-Agent: KMail/1.8 References: <200506031315.04920.ant@emict.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-u" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200506041607.00513.ant@emict.com> Cc: Subject: Re: pthreaded program killed by sigsegv from time to time under load X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jun 2005 13:07:04 -0000 ok, using info threads i found: 128 Thread 128 (runnable) 0x08055b82 in pack (buf=0x2826b498, fmt=0xdff2
) at etip.c:618 then: (gdb) thread 128 [Switching to thread 128 (Thread 128 (runnable))]#0 0x08055b82 in pack (buf=0x2826b498, fmt=0xdff2
) at etip.c:618 618 for (p = fmt; *p != '\0'; p++) { (gdb) bt #0 0x08055b82 in pack (buf=0x2826b498, fmt=0xdff2
) at etip.c:618 #1 0x281f97dc in ldexp () from /lib/libc.so.5 #2 0x00000000 in ?? () (gdb) bt full #0 0x08055b82 in pack (buf=0x2826b498, fmt=0xdff2
) at etip.c:618 bp = (uchar *) 0x28265b0c "HJ\f" s = 48698 args = 0x28265b0c "HJ\f" p = 0x8e312c0 "ÀvÎ\b@" l = 0 #1 0x281f97dc in ldexp () from /lib/libc.so.5 No symbol table info available. #2 0x00000000 in ?? () No symbol table info available. i use pack function this way only in my program: int pack(void *buf, const char *fmt, ...); pack(buf_0 + 8, "sc", term_code, oper_code); i.e. second argument is format specifyer like fmt in printf. Actually this is the function from book of Kernighan & Pike Practice of Programming. I just checked all the code - everywhere threre are static strings. btw. how to get the real backtrace? It is imposiible that this function is called from ldexp() thank you.