From owner-freebsd-hackers Mon Oct 21 6:51:11 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2D17137B401 for ; Mon, 21 Oct 2002 06:51:09 -0700 (PDT) Received: from straylight.ringlet.net (office.sbnd.net [217.75.140.130]) by mx1.FreeBSD.org (Postfix) with SMTP id 86BA543E75 for ; Mon, 21 Oct 2002 06:51:04 -0700 (PDT) (envelope-from roam@ringlet.net) Received: (qmail 43216 invoked by uid 1000); 21 Oct 2002 13:50:45 -0000 Date: Mon, 21 Oct 2002 16:50:45 +0300 From: Peter Pentchev To: Linus Kendall Cc: freebsd-hackers@FreeBSD.org Subject: Re: PThreads problem Message-ID: <20021021135045.GB41198@straylight.oblivion.bg> Mail-Followup-To: Linus Kendall , freebsd-hackers@FreeBSD.org References: <1035200159.24315.13.camel@bilbo> <20021021124520.GS389@straylight.oblivion.bg> <1035206648.24315.20.camel@bilbo> <20021021134834.GA41198@straylight.oblivion.bg> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="2B/JsCI69OhZNC5r" Content-Disposition: inline In-Reply-To: <20021021134834.GA41198@straylight.oblivion.bg> User-Agent: Mutt/1.5.1i 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 --2B/JsCI69OhZNC5r Content-Type: text/plain; charset=windows-1251 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 21, 2002 at 04:48:34PM +0300, Peter Pentchev wrote: > On Mon, Oct 21, 2002 at 03:24:08PM +0200, Linus Kendall wrote: > > m?n 2002-10-21 klockan 14.45 skrev Peter Pentchev: > > > On Mon, Oct 21, 2002 at 01:35:59PM +0200, Linus Kendall wrote: > > > > Hi, > > > >=20 > > > > I'm trying to port a heavily threaded application from Linux (Debian > > > > 3.0, 2.4.19) to > > > > FreeBSD (4.6-RELEASE). The program compiles successfully using gcc = with > > > > -pthreads. But, when I try to run the application I get the followi= ng > > > > error after a while (after spawning 11 threads): > > > >=20 > > > > Fatal error 'siglongjmp()ing between thread contexts is undefined by > > > > POSIX 1003.1' at line ? in file > > > > /usr/src/lib/libc_r/uthread/uthread_jmp.c (errno =3D ?) > > > > Abort trap - core dumped > > > >=20 > > > > It always crashes at the same point. Under Linux it works perfectly > > > > fine. > > > > I also tried to compile with linuxthreads only to get a segfault > > > > directly when the program tries to spawn the first thread.=20 > > > >=20 > > > > GCC version on Linux: 2.95.4 20011002 > > > > GCC version on FreeBSD: 2.95.3 20010315 > > > >=20 > > > > GCC/G++ command-line: g++ -g -Wall -I. `curl-config --cflags`=20 > > > > -fsjlj-exceptions -D_THREAD_SAFE -D_REENTRANT -pthread `curl-config > > > > --libs`=20 > > >=20 > > > Just for the record: what exactly do 'curl-config --cflags' and > > > 'curl-config --libs' output? > >=20 > > Libcurl is an HTTP-library which is said to be threadsafe (and also > > works normally under Linux). >=20 > I know what libcurl is; as a matter of fact, I happen to be the > maintainer of the ftp/curl port :) That's partly the reason why I am > interested in your problem, especially given what you report below.. >=20 > I was asking about the specific output of the compiler flags and the > libraries that cURL reports as needed, to see if there were any > conflicts there with any of the other compiler flags. >=20 > > I've been looking at it and it seems that the problem was based on > > the fact that libcurl triggers an SIGALARM which in Linux isn't a > > problem but for which I needed to define a signal handler (ie. block) > > in *BSD. >=20 > This is interesting; can you produce a simple testcase? If not, I will > be able to take a look at it some time later today or tomorrow, but not > right now :( Oh BTW.. libcurl is indeed threadsafe, with a single exception, mentioned in the THREADS section of the libcurl(3) manual page.. is there any chance that this is related to the problem you are having? G'luck, Peter --=20 Peter Pentchev roam@ringlet.net roam@FreeBSD.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 If this sentence were in Chinese, it would say something else. --2B/JsCI69OhZNC5r Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQE9tAY17Ri2jRYZRVMRAthWAJ4gDiGrKF+jbb7rtkgJ2EzfXc+Z0ACfWij6 N2oLy9TQyvPE1aVRVtnECNc= =OwrD -----END PGP SIGNATURE----- --2B/JsCI69OhZNC5r-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message