From owner-freebsd-stable@FreeBSD.ORG Tue Jan 22 01:15:28 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42DA816A41B for ; Tue, 22 Jan 2008 01:15:28 +0000 (UTC) (envelope-from andrew@areilly.bpc-users.org) Received: from qsrv03sl.mx.bigpond.com (qsrv03sl.mx.bigpond.com [144.140.92.183]) by mx1.freebsd.org (Postfix) with ESMTP id BB15413C442 for ; Tue, 22 Jan 2008 01:15:27 +0000 (UTC) (envelope-from andrew@areilly.bpc-users.org) Received: from oaamta08sl.mx.bigpond.com ([124.188.162.219]) by omta03sl.mx.bigpond.com with ESMTP id <20080121224416.KIBK18906.omta03sl.mx.bigpond.com@oaamta08sl.mx.bigpond.com> for ; Mon, 21 Jan 2008 22:44:16 +0000 Received: from areilly.bpa.nu ([124.188.162.219]) by oaamta08sl.mx.bigpond.com with ESMTP id <20080121224416.NYY11115.oaamta08sl.mx.bigpond.com@areilly.bpa.nu> for ; Mon, 21 Jan 2008 22:44:16 +0000 Received: (qmail 1847 invoked from network); 21 Jan 2008 22:44:06 -0000 Received: from localhost (HELO duncan.reilly.home) (127.0.0.1) by localhost with SMTP; 21 Jan 2008 22:44:06 -0000 Date: Tue, 22 Jan 2008 09:44:05 +1100 From: Andrew Reilly To: freebsd-stable@freebsd.org, marius@freebsd.org, obrien@freebsd.org, freebsd-ports@freebsd.org, Joseph Koshy Message-ID: <20080122094405.230a0856@duncan.reilly.home> X-Mailer: Claws Mail 3.0.2 (GTK+ 2.12.5; amd64-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Subject: 7-STABLE regression that breaks lang/drscheme is src/contrib/gcc/gthr-posix.h 1.1.1.8.2.1 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2008 01:15:28 -0000 Hello again, [to recap: drscheme, (which is an IDE that runs under the "mred" runtime, built from ports/lang/drscheme (or actually manually from a personal copy of that Makefile that builds the current release: 372, rather than ver 370 in ports)) worked beautifully on my system until I updated to 7-STABLE after 4 Jan. I track -STABLE every week or two. After that, it segfaults before printing or displaying anything, and running under gdb has found that it stops in the garbage collector initialization. I haven't raised a PR for this yet because I still think that the problem is probably the drscheme FreeBSD configuration that has bit-rotted a little, now that FreeBSD has changed slightly. Still investigating... I've cc'd Joseph Koshy, because this seems to be somehow related to PR ports/118808.] I've done the binary search through CVS, and established that the precise file and revision that is causing me (or rather, drscheme) grief: src/contrib/gcc/gthr-posix.h 1.1.1.8.2.1 marius at 5 Jan 22:58.51. Csupping back to 5 Jan 22:50 is enough to make everyting happy again. Unfortunately, I'm at a loss to explain how this change could be causing an existing binary to run or not, because it changes the compiler. Well, presumably it changes the installed libc.so and libstdc++.so, both of which are linked in at run-time (c++ is used in mred/drscheme for the wxWidgets GUI). Indeed, the most recent time that I backed this revision of gthr-posix.h out (regressed to 5 Jan 22:50), drscheme started to work as soon as the system libraries had been installed, before I had rebooted. Since there hasn't been any other wailing about incompatability since this change, my guess is that mred was somehow working around the previous FreeBSD behaviour: it has quite a bit of low-level platform-specific configuration, since it is a language runtime. The ideal solution will be to figure out how to tweak it's FreeBSD compatability to suit the new operation. If anyone can offer a hint as to which area I should be looking at for configuration knobs, I'd be really grateful. Extra data: ldd mred: /usr/local/bin/mred: libmred3m-372.so => /usr/local/lib/libmred3m-372.so (0x800639000) libmzscheme3m-372.so => /usr/local/lib/libmzscheme3m-372.so (0x800a40000) libXaw8.so.8 => /usr/local/lib/libXaw8.so.8 (0x800e0f000) libXmu.so.6 => /usr/local/lib/libXmu.so.6 (0x800f7c000) libXt.so.6 => /usr/local/lib/libXt.so.6 (0x801094000) libSM.so.6 => /usr/local/lib/libSM.so.6 (0x8011f4000) libICE.so.6 => /usr/local/lib/libICE.so.6 (0x8012fc000) libXext.so.6 => /usr/local/lib/libXext.so.6 (0x801416000) libGL.so.1 => /usr/local/lib/libGL.so.1 (0x801526000) libXft.so.2 => /usr/local/lib/libXft.so.2 (0x8016a2000) libcairo.so.2 => /usr/local/lib/libcairo.so.2 (0x8017b5000) libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0x801934000) libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x801a67000) libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x801be1000) libglitz.so.1 => /usr/local/lib/libglitz.so.1 (0x801d04000) libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x801e2d000) libX11.so.6 => /usr/local/lib/libX11.so.6 (0x801f36000) libXau.so.6 => /usr/local/lib/libXau.so.6 (0x80213a000) libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x80223d000) librpcsvc.so.4 => /usr/lib/librpcsvc.so.4 (0x802342000) libpng.so.5 => /usr/local/lib/libpng.so.5 (0x80244b000) libz.so.4 => /lib/libz.so.4 (0x802571000) libjpeg.so.9 => /usr/local/lib/libjpeg.so.9 (0x802686000) libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x8027a7000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x8029a0000) libm.so.5 => /lib/libm.so.5 (0x802b9f000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x802cb9000) libthr.so.3 => /lib/libthr.so.3 (0x802dc6000) libc.so.7 => /lib/libc.so.7 (0x802edc000) libXpm.so.4 => /usr/local/lib/libXpm.so.4 (0x8030f9000) libXp.so.6 => /usr/local/lib/libXp.so.6 (0x80320a000) libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1 (0x803312000) libXdamage.so.1 => /usr/local/lib/libXdamage.so.1 (0x803417000) libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x803519000) libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x80361e000) ldd mzscheme (which works just fine: it's the command-line language, without the wxWidgets GUI, but using exactly the same garbage collector): /usr/local/bin/mzscheme: libmzscheme3m-372.so => /usr/local/lib/libmzscheme3m-372.so (0x800638000) libm.so.5 => /lib/libm.so.5 (0x800a07000) libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x800b21000) libc.so.7 => /lib/libc.so.7 (0x800d1a000) Cheers, -- Andrew