From owner-freebsd-stable Thu Nov 16 6:10:50 2000 Delivered-To: freebsd-stable@freebsd.org Received: from vulture.dmem.strath.ac.uk (vulture.dmem.strath.ac.uk [130.159.232.158]) by hub.freebsd.org (Postfix) with ESMTP id 91B2637B479; Thu, 16 Nov 2000 06:10:46 -0800 (PST) Received: from cs.strath.ac.uk (posh [130.159.202.3]) by vulture.dmem.strath.ac.uk (8.9.3/8.9.3) with ESMTP id OAA36711; Thu, 16 Nov 2000 14:10:39 GMT (envelope-from roger@cs.strath.ac.uk) Message-ID: <3A13EAED.E320F6@cs.strath.ac.uk> Date: Thu, 16 Nov 2000 14:10:53 +0000 From: Roger Hardiman Organization: University of Strathclyde X-Mailer: Mozilla 4.76 [en] (X11; U; FreeBSD 5.0-CURRENT i386) X-Accept-Language: en MIME-Version: 1.0 To: Satoshi - Ports Wraith - Asami Cc: Daniel Eischen , Jordan Hubbard , stable@FreeBSD.org, roger@FreeBSD.org Subject: Re: libc shlib version References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi all, > Roger said it breaks precompiled binaries, meaning if you do a make > world, the new libc_r will not be compatible with some of the old > binaries. > > That sounds like a situation where we need the libc_r shlib version > to protect us from, no? > > Roger, can you clarify? Yep. Precompiled binaries for the 5 OpenH323 related ports abort with "User signal 2" unhandled signal when you try and run them on FreeBSD 4.2 with the new libc_r library. The binaries worked fine with the old libc_r library. I tracked the reason down to some buggy code in the way OpenH323 used pthreads. There was a race condition hiding in OpenH323. Daniel's new pthread library (libc_r) runs the threads in a slightly different order than the old libc_r did. The old libc_r hid the bug in OpenH323 as the order the threads ran happened to mask the race condition. The new libc_r exposes the bug. So I do not know if we need a version bump or not. It is true that old binaries will break on the new libc_r. But that is because old binaries contained a bug which the new libc_r exposes. If we do a version bump, will the old libc_r library stay installed? In that case the buggy binaries will match up with the version of libc_r which hides the bug and will continue to run. However, this only affects 5 ports which are all related and I'm happy to let the old ports break and to ask the users to upgrade their ports. I hope this makes sence. If you need any more info just ask. Roger To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message