Return-Path: X-Original-To: freebsd-ia64@hub.freebsd.org Delivered-To: freebsd-ia64@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7EF0516A4DD for ; Thu, 3 Aug 2006 04:50:19 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4DDA343D46 for ; Thu, 3 Aug 2006 04:50:19 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k734oJqj039190 for ; Thu, 3 Aug 2006 04:50:19 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k734oIts039189; Thu, 3 Aug 2006 04:50:18 GMT (envelope-from gnats) Date: Thu, 3 Aug 2006 04:50:18 GMT Message-Id: <200608030450.k734oIts039189@freefall.freebsd.org> To: freebsd-ia64@FreeBSD.org From: Maxim Sobolev Cc: Subject: Re: ia64/91846: TLS: malloc(3) exposes DTLS bug in non-threaded applications X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Maxim Sobolev List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Aug 2006 04:50:19 -0000 The following reply was made to PR ia64/91846; it has been noted by GNATS. From: Maxim Sobolev To: bug-followup@FreeBSD.org Cc: marcel@xcllnt.net, jasone@FreeBSD.org Subject: Re: ia64/91846: TLS: malloc(3) exposes DTLS bug in non-threaded applications Date: Wed, 02 Aug 2006 21:40:03 -0700 Apparently, the same bug affects FreeBSD/powerpc: Loaded symbols for /libexec/ld-elf.so.1 #0 0x2183f7b4 in tls_get_addr_common (dtvp=0x1a31490, index=2, offset=4294934528) at rtld.c:2663 2663 if (dtv[0] != tls_dtv_generation) { (gdb) bt #0 0x2183f7b4 in tls_get_addr_common (dtvp=0x1a31490, index=2, offset=4294934528) at rtld.c:2663 #1 0x218397f8 in __tls_get_addr (ti=0x21bbf0e8) at /usr/src/libexec/rtld-elf/powerpc/reloc.c:577 #2 0x21ad3ef8 in choose_arena () at /usr/src/lib/libc/stdlib/malloc.c:1422 #3 0x21ad8f40 in imalloc (size=480) at /usr/src/lib/libc/stdlib/malloc.c:2662 #4 0x21ada810 in malloc (size=480) at /usr/src/lib/libc/stdlib/malloc.c:3422 #5 0x21a1ba90 in _thr_alloc (curthread=0x1a502e0) at /usr/src/lib/libpthread/thread/thr_kern.c:2369 #6 0x21a021b0 in _pthread_create (thread=0x1ab05a0, attr=0x0, start_routine=0x18109dc , arg=0x1ab0580) at /usr/src/lib/libpthread/thread/thr_create.c:110 #7 0x01810640 in mux_init (m=0x1ab0580) at /usr/src/usr.bin/csup/../../contrib/csup/mux.c:661 #8 0x0180f8b0 in mux_open (sock=3, chan=0x7fffdad8) at /usr/src/usr.bin/csup/../../contrib/csup/mux.c:328 #9 0x018146a4 in proto_mux (config=0x1a118c0) at /usr/src/usr.bin/csup/../../contrib/csup/proto.c:555 #10 0x018148f4 in proto_run (config=0x1a118c0) at /usr/src/usr.bin/csup/../../contrib/csup/proto.c:617 #11 0x0180dddc in main (argc=1, argv=0x7fffdcac) at /usr/src/usr.bin/csup/../../contrib/csup/main.c:314 (gdb) print dtv $1 = (Elf_Addr *) 0x0 (gdb) Perhaps, TLS is not initialized at the point when malloc is called or something like that. -Maxim