From owner-freebsd-java Tue Sep 21 2:58: 1 1999 Delivered-To: freebsd-java@freebsd.org Received: from panther.wmin.ac.uk (panther.wmin.ac.uk [161.74.55.127]) by hub.freebsd.org (Postfix) with ESMTP id 6DC2E15817 for ; Tue, 21 Sep 1999 02:57:57 -0700 (PDT) (envelope-from delaitt@cpc.wmin.ac.uk) Received: from seth.cpc.wmin.ac.uk ([161.74.69.77]) by panther.wmin.ac.uk with esmtp (Exim 2.12 #1) id 11TMg0-0004pX-00; Tue, 21 Sep 1999 10:57:32 +0100 Received: from localhost (delaitt@localhost) by seth.cpc.wmin.ac.uk (8.9.3/8.9.3) with ESMTP id KAA17835; Tue, 21 Sep 1999 10:57:54 +0100 (BST) (envelope-from delaitt@cpc.wmin.ac.uk) Date: Tue, 21 Sep 1999 10:57:54 +0100 (BST) From: Thierry Delaitre To: freebsd-java@FreeBSD.org Cc: hasty@rah.star-gate.com Subject: Java Workshop 3.0 under FreeBSD ? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, I tried to set up Java Workshop 2.0 under FreeBSD but the main problem is that Sun removed Java Workshop 2.0 from its download site and Sun has made available Sun Workshop 3.0 only. I was wondering if it is possible to also setup Java Workshop 3.0 under FreeBSD. Would it work with FreeBSD 2.x & FreeBSD 3.x ? Thanks, If this message is not appropriate for this mailing list, I would be greatful if you redirect it. Thierry. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Tue Sep 21 8:11:20 1999 Delivered-To: freebsd-java@freebsd.org Received: from isbalham.ist.co.uk (isbalham.ist.co.uk [192.31.26.1]) by hub.freebsd.org (Postfix) with ESMTP id 19B7C15E98 for ; Tue, 21 Sep 1999 08:11:16 -0700 (PDT) (envelope-from nick@ist.co.uk) Received: from iscool.ist.co.uk (iscool [89.0.0.33]) by isbalham.ist.co.uk (8.9.2/8.8.7) with SMTP id QAA02554; Tue, 21 Sep 1999 16:11:14 +0100 (BST) (envelope-from nick@iscool.ist.co.uk) Message-Id: <199909211511.QAA02554@isbalham.ist.co.uk> Received: from ispider by iscool.ist.co.uk; Tue, 21 Sep 99 16:11:13 BST Date: Tue, 21 Sep 1999 16:11:11 +0100 (BST) From: Nicholas Wright Reply-To: Nicholas Wright Subject: Re: Java Workshop 3.0 under FreeBSD ? To: delaitt@cpc.wmin.ac.uk Cc: freebsd-java@FreeBSD.ORG Mime-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Content-Md5: mxvkzxbQt8iqInspU6seoQ== X-Mailer: dtmail 1.2.1 CDE Version 1.2.1 SunOS 5.6 sun4u sparc Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi > I tried to set up Java Workshop 2.0 under FreeBSD but the main problem is > that Sun removed Java Workshop 2.0 from its download site and Sun has > made available Sun Workshop 3.0 only. I was wondering if it is possible > to also setup Java Workshop 3.0 under FreeBSD. Would it work with FreeBSD > 2.x & FreeBSD 3.x ? Re: Java Workshop 3.0: Unfortunately you cannot run Java Workshop 3.0 unless you have a port of JDK1.2 for FreeBSD. I know that a variety of Java 2 Collection classes are used throughout the source code. Because of that, it's likely a number of other 1.2 specific calls are used. Secondly, you would have to modify the JWS 3.0 sources to allow your operating system name to be recognized. Not a big deal, but annoying. The company I work for is a licensee of Java Workshop 3.0. We'd love to add support for FreeBSD, but the missing JDK1.2 is a bit of a problem. Nicholas P.S. Is this any help? http://ftpsearch.lycos.com/cgi-bin/search?form=medium&query=jws2*.exe&type= Case+insensitive+glob+search&otype=Navigate&oquery=ftp.isst.fhg.de/pub/prog ramming/languages/Java =========================================================================== Nicholas Wright Imperial Software Technology Software Engineer --------------------------------------------------------------------------- Email : nick@ist.co.uk or support@ist.co.uk Berkshire House 120 Hawthorne Ave, #101 252 Kings Road Palo Alto Reading RG1 4HP United Kingdom California 94301 USA Tel: +44 118 958 7055 Tel: 650 688 0200 FAX: +44 118 958 9005 FAX: 650 688 1054 =========================================================================== ****** VISAJ AT http://www.ist.co.uk/visaj ****** =========================================================================== To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Wed Sep 22 1:45:53 1999 Delivered-To: freebsd-java@freebsd.org Received: from ny.sm.luth.se (ny.sm.luth.se [130.240.3.1]) by hub.freebsd.org (Postfix) with ESMTP id D80B9157D7 for ; Wed, 22 Sep 1999 01:45:48 -0700 (PDT) (envelope-from d94-ahz@sm.luth.se) Received: from sigma2.sm.luth.se (sigma2.sm.luth.se [130.240.2.9]) by ny.sm.luth.se (8.8.8/8.8.5) with ESMTP id KAA26345 for ; Wed, 22 Sep 1999 10:45:47 +0200 (CEST) From: d94-ahz@sm.luth.se Received: (d94-ahz@localhost) by sigma2.sm.luth.se (8.9.1b+Sun/8.6.11) id KAA04587 for freebsd-java@freebsd.org; Wed, 22 Sep 1999 10:45:47 +0200 (MET DST) Date: Wed, 22 Sep 1999 10:45:47 +0200 (MET DST) Message-Id: <199909220845.KAA04587@sigma2.sm.luth.se> To: freebsd-java@freebsd.org Subject: Jdk 1.2 Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hello What's the status of jdk 1.2 for freebsd? I use 1.1.8 and it keeps me satisfied most of the time, but 1.1.8 lack some functionality. ......./Heintz P.S. Thanks to those who've ported 1.1.8, I never had a problem with it! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Wed Sep 22 3:17: 8 1999 Delivered-To: freebsd-java@freebsd.org Received: from cafe.muraoka.info.waseda.ac.jp (cafe.muraoka.info.waseda.ac.jp [133.9.68.49]) by hub.freebsd.org (Postfix) with ESMTP id 3FB291560C for ; Wed, 22 Sep 1999 03:16:54 -0700 (PDT) (envelope-from shudoh@muraoka.info.waseda.ac.jp) Received: from muraoka.info.waseda.ac.jp (shudoh@localhost [127.0.0.1]) by cafe.muraoka.info.waseda.ac.jp (8.9.1a/3.7W) with ESMTP id TAA19059 for ; Wed, 22 Sep 1999 19:13:16 +0900 Message-Id: <199909221013.TAA19059@cafe.muraoka.info.waseda.ac.jp> To: freebsd-java@FreeBSD.ORG Subject: Re: Java Workshop 3.0 under FreeBSD ? In-reply-to: Your message of "Tue, 21 Sep 1999 16:11:11 +0100." <199909211511.QAA02554@isbalham.ist.co.uk> Date: Wed, 22 Sep 1999 19:13:16 +0900 From: SHUDO Kazuyuki Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, > Re: Java Workshop 3.0: > > Unfortunately you cannot run Java Workshop 3.0 unless you have a port of > JDK1.2 for FreeBSD. I know that a variety of Java 2 Collection classes are > used throughout the source code. Because of that, it's likely a number of > other 1.2 specific calls are used. Collections API for JDK 1.1 is provided by Sun for InfoBus. See http://java.sun.com/beans/infobus/collectionsreadme.html. But I don't know whether JWS 3.0 can work with JDK 1.1 and Collections API. Kazuyuki SHUDO Happy Hacking! Muraoka Lab., Grad. School of Sci. & Eng., Waseda Univ. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Wed Sep 22 10:54:58 1999 Delivered-To: freebsd-java@freebsd.org Received: from mail1.smccom.it (mail1.smccom.it [193.70.121.68]) by hub.freebsd.org (Postfix) with ESMTP id D648B15353 for ; Wed, 22 Sep 1999 10:54:44 -0700 (PDT) (envelope-from mbartoli@smccom.it) Received: from smccom.it ([193.70.121.70]) by mail1.smccom.it (Netscape Messaging Server 3.6) with ESMTP id AAA21B9 for ; Wed, 22 Sep 1999 19:55:48 -0700 Message-ID: <37E918FF.6DBE3916@smccom.it> Date: Wed, 22 Sep 1999 19:59:27 +0200 From: "marco bartoli" X-Mailer: Mozilla 4.61 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: freebsd-java@freebsd.org Subject: help pdf Content-Type: multipart/mixed; boundary="------------4FA909A34BE9E8E8D158299A" Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org This is a multi-part message in MIME format. --------------4FA909A34BE9E8E8D158299A Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit You have some jar for generate a pdf document Help me Marco --------------4FA909A34BE9E8E8D158299A Content-Type: text/x-vcard; charset=us-ascii; name="mbartoli.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for marco bartoli Content-Disposition: attachment; filename="mbartoli.vcf" begin:vcard n:Bartoli;Marco tel;work:SMC x-mozilla-html:FALSE adr:;;;;;; version:2.1 email;internet:mbartoli@smccom.it fn:Marco Bartoli end:vcard --------------4FA909A34BE9E8E8D158299A-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Wed Sep 22 22:14:38 1999 Delivered-To: freebsd-java@freebsd.org Received: from ns.mt.sri.com (ns.mt.sri.com [206.127.79.91]) by hub.freebsd.org (Postfix) with ESMTP id 712F415155; Wed, 22 Sep 1999 22:14:31 -0700 (PDT) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.9.3/8.9.3) with SMTP id XAA29699; Wed, 22 Sep 1999 23:14:30 -0600 (MDT) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id XAA18035; Wed, 22 Sep 1999 23:14:29 -0600 Date: Wed, 22 Sep 1999 23:14:29 -0600 Message-Id: <199909230514.XAA18035@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: freebsd-announce@FreeBSD.org Cc: java@FreeBSD.org Subject: Announce: New release of JDK1.1.8 for FreeBSD X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Reply-To: nate@mt.sri.com (Nate Williams) Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org As always it is my great pleasure to announce another release of the JDK for FreeBSD. We've re-released JDK1.1.8 after fixing a couple of bugs in the previous release. For all your FreeBSD/JDK needs, see our home page at: http://www.freebsd.org/java Notable changes in this release include: - Printing from the JDK should now work reliably. - Updated to now use the assembly version of the interpreter. Performance should be increased slightly. - Better handling of signals like DIVIDE and SIGFPE which are trapped and handled correctly now. - The ELF version should work better with AWT/Swing applications. The FreeBSD project donated a more modern copy of Motif that should avoid some weird X errors that occurred previously. In particular, the performance improvements from using the assembly version of the interpreter should be motivation enough for everyone to update to this version. The FreeBSD ports collection has been updated to download the new version, so feel free to update the ports collection and get the new port. Thanks again go to Keith White who's amazing debugging skills and knowledge provided all of the above fixes. Thanks also go to the FreeBSD Project who donated a newer copy of Motif in order to make the more recent ELF releases more stable. -------------------------------------------------- In other news, the JDK2 port has been going slowly. Because of summer vacations and the great weather, the developers have spent time enjoying non-computer things. I expect that as the weather starts to cool down we'll be spending more time in front of our computer, and the JDK2 porting effort will ramp back up. We do have a good start on the effort, although it not yet organized enough to provide even an early alpha release. When we have something more solid, we will send out email to the freebsd-java list. Also, there is some work in progress in doing a native threads implementation of the JDK. This work is *very* early, and is mostly related to adding some new functionality to the FreeBSD kernel to support some necessary features needed to port the JDK. This means that a native threaded JDK probably won't be usable on systems prior to FreeBSD 4.0. More information will be posted on the freebsd-java mailing list as it becomes available. Thanks! -- The FreeBSD JDK porting team To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Wed Sep 22 22:51:23 1999 Delivered-To: freebsd-java@freebsd.org Received: from csmd2.cs.uni-magdeburg.de (csmd2.CS.Uni-Magdeburg.De [141.44.22.2]) by hub.freebsd.org (Postfix) with ESMTP id 2187014D87 for ; Wed, 22 Sep 1999 22:51:16 -0700 (PDT) (envelope-from jesse@mail.CS.Uni-Magdeburg.De) Received: from knecht.cs.uni-magdeburg.de (jesse@knecht [141.44.21.3]) by csmd2.cs.uni-magdeburg.de (8.9.1a/8.9.1) with ESMTP id HAA06387 for ; Thu, 23 Sep 1999 07:51:15 +0200 (MET DST) Received: (from jesse@localhost) by knecht.cs.uni-magdeburg.de (8.8.8+Sun/8.8.8) id HAA28239; Thu, 23 Sep 1999 07:50:55 +0200 (MET DST) From: Roland Jesse MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14313.49087.470096.70764@cs.uni-magdeburg.de> Date: Thu, 23 Sep 1999 07:50:55 +0200 (MET DST) To: java@FreeBSD.ORG Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD In-Reply-To: <199909230514.XAA18035@mt.sri.com> References: <199909230514.XAA18035@mt.sri.com> X-Mailer: VM 6.73 under Emacs 19.34.1 Reply-To: jesse@mail.CS.Uni-Magdeburg.De X-Pgp-Fingerprint: 5D 08 5A E3 B4 AA 68 C1 FF 67 06 29 62 DD 9A D7 Content-Transfer-Encoding: 7bit Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Nate Williams writes: > Because of summer > vacations and the great weather, the developers have spent time enjoying > non-computer things. :-) Great to hear. Roland To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Wed Sep 22 23:14:37 1999 Delivered-To: freebsd-java@freebsd.org Received: from mail.xmission.com (mail.xmission.com [198.60.22.22]) by hub.freebsd.org (Postfix) with ESMTP id 7EE3414EC4 for ; Wed, 22 Sep 1999 23:14:35 -0700 (PDT) (envelope-from wes@softweyr.com) Received: from [204.68.178.39] (helo=softweyr.com) by mail.xmission.com with esmtp (Exim 2.12 #2) id 11U29J-0001eJ-00; Thu, 23 Sep 1999 00:14:34 -0600 Message-ID: <37E9C548.AF193572@softweyr.com> Date: Thu, 23 Sep 1999 00:14:32 -0600 From: Wes Peters Organization: Softweyr LLC X-Mailer: Mozilla 4.5 [en] (X11; U; FreeBSD 3.1-RELEASE i386) X-Accept-Language: en MIME-Version: 1.0 To: Nate Williams Cc: java@FreeBSD.ORG Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD References: <199909230514.XAA18035@mt.sri.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Nate Williams wrote: > > As always it is my great pleasure to announce another release of the JDK > for FreeBSD. We've re-released JDK1.1.8 after fixing a couple of bugs > in the previous release. A thousand thanks again. > - The ELF version should work better with AWT/Swing applications. The > FreeBSD project donated a more modern copy of Motif that should avoid > some weird X errors that occurred previously. Cool. Do you have an explicity references for obtaining and installing Swing components to work with this release of JDK 1.1.8? > Thanks again go to Keith White who's amazing debugging skills and > knowledge provided all of the above fixes. Thanks Keith! > Thanks also go to the FreeBSD Project who donated a newer copy of Motif > in order to make the more recent ELF releases more stable. If there is something on this order of magnitude I can do to help, let me know. Hopefully I'll see you at the Con... > In other news, the JDK2 port has been going slowly. Because of summer > vacations and the great weather, the developers have spent time enjoying > non-computer things. Damn you all! Get back to work or I'll never take you sailing! ;^) > I expect that as the weather starts to cool down > we'll be spending more time in front of our computer, and the JDK2 > porting effort will ramp back up. I'll wait anxiously. Please know that your work is appreciated. -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC wes@softweyr.com http://softweyr.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Wed Sep 22 23:17:50 1999 Delivered-To: freebsd-java@freebsd.org Received: from ns.mt.sri.com (ns.mt.sri.com [206.127.79.91]) by hub.freebsd.org (Postfix) with ESMTP id 6099A154A8 for ; Wed, 22 Sep 1999 23:17:43 -0700 (PDT) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.9.3/8.9.3) with SMTP id AAA02218; Thu, 23 Sep 1999 00:17:42 -0600 (MDT) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id AAA18872; Thu, 23 Sep 1999 00:17:41 -0600 Date: Thu, 23 Sep 1999 00:17:41 -0600 Message-Id: <199909230617.AAA18872@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Wes Peters Cc: Nate Williams , java@FreeBSD.ORG Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD In-Reply-To: <37E9C548.AF193572@softweyr.com> References: <199909230514.XAA18035@mt.sri.com> <37E9C548.AF193572@softweyr.com> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Reply-To: nate@mt.sri.com (Nate Williams) Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > > - The ELF version should work better with AWT/Swing applications. The > > FreeBSD project donated a more modern copy of Motif that should avoid > > some weird X errors that occurred previously. > > Cool. Do you have an explicity references for obtaining and installing > Swing components to work with this release of JDK 1.1.8? Sun releases a version on their WWW site explicitly for JDK1.1. That version works better (faster, less bugs) than the version in JDK1.2 for numerous reasons outlined by the Swing folks at Sun, mostly related to the fact that it's easier to update stuff that's third party (Swing is integrated in JDK1.2) and JDK1.1 doesn't do Java2D, which causes a *huge* performance hit (2-5X for *anything/everything*). Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Thu Sep 23 21: 9:51 1999 Delivered-To: freebsd-java@freebsd.org Received: from maild.telia.com (maild.telia.com [194.22.190.3]) by hub.freebsd.org (Postfix) with ESMTP id B1C7114DCA for ; Thu, 23 Sep 1999 21:09:33 -0700 (PDT) (envelope-from girgen@partitur.se) Received: from stordatan.telia.com (t2o62p16.telia.com [195.198.198.76]) by maild.telia.com (8.8.8/8.8.8) with ESMTP id GAA28838 for ; Fri, 24 Sep 1999 06:09:10 +0200 (CEST) Received: from partitur.se (localhost [127.0.0.1]) by stordatan.telia.com (8.9.3/8.9.1) with ESMTP id GAA41304 for ; Fri, 24 Sep 1999 06:08:57 +0200 (CEST) (envelope-from girgen@partitur.se) Message-ID: <37EAF959.2639408E@partitur.se> Date: Fri, 24 Sep 1999 06:08:57 +0200 From: Palle Girgensohn Organization: Partitur X-Mailer: Mozilla 4.61 [en] (X11; I; Linux 2.0.36 i386) X-Accept-Language: sv, en MIME-Version: 1.0 To: freebsd-java@freebsd.org Subject: running java_X on non-X machine? Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi! I want to run servlets which use the java awt (for creating jpegs on the fly for web serving). Hence I need to run java_X, right? I have configured it with DISPLAY=:0.0, and this works fine as long as the server has X configured. Now, I want to run this on a server that has no XWindow configured. Any ideas how this can be implemented? /usr/X11R6 is installed, but X is not running (and that's the way I want it, really... I don't need it, it eats memory and makes the machine less robust). Can I perhaps use the vfb server (X's Virtual Frame Buffer)? Maybe this is really more of an X questions, but I thought I'd give you guys a chance to come up with ideas. :) /Palle To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Thu Sep 23 21:22: 2 1999 Delivered-To: freebsd-java@freebsd.org Received: from ns.mt.sri.com (ns.mt.sri.com [206.127.79.91]) by hub.freebsd.org (Postfix) with ESMTP id 5131314DC1 for ; Thu, 23 Sep 1999 21:21:59 -0700 (PDT) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.9.3/8.9.3) with SMTP id WAA13806; Thu, 23 Sep 1999 22:21:10 -0600 (MDT) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id WAA24766; Thu, 23 Sep 1999 22:21:09 -0600 Date: Thu, 23 Sep 1999 22:21:09 -0600 Message-Id: <199909240421.WAA24766@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Palle Girgensohn Cc: freebsd-java@FreeBSD.ORG Subject: Re: running java_X on non-X machine? In-Reply-To: <37EAF959.2639408E@partitur.se> References: <37EAF959.2639408E@partitur.se> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Reply-To: nate@mt.sri.com (Nate Williams) Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > I want to run servlets which use the java awt (for creating jpegs on the > fly for web serving). Hence I need to run java_X, right? Right. > Now, I want to run this on a server that has no XWindow > configured. Any ideas how this can be implemented? AFAIK, it can't be implemented this way. You'll need to create a jpeg solution that doesn't involve any AWT/Swing components if you want to do this on a Unix box. (The same problem exists on Solaris FWIW). If you find another solution to this, please let us (me!) know, since I'd be very interested in any solution you can find.... Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Thu Sep 23 21:52:16 1999 Delivered-To: freebsd-java@freebsd.org Received: from maile.telia.com (maile.telia.com [194.22.190.16]) by hub.freebsd.org (Postfix) with ESMTP id 9198C14D3E for ; Thu, 23 Sep 1999 21:52:11 -0700 (PDT) (envelope-from girgen@partitur.se) Received: from stordatan.telia.com (t2o62p16.telia.com [195.198.198.76]) by maile.telia.com (8.8.5/8.8.8) with ESMTP id GAA18425; Fri, 24 Sep 1999 06:50:46 +0200 (CEST) Received: from partitur.se (localhost [127.0.0.1]) by stordatan.telia.com (8.9.3/8.9.1) with ESMTP id GAA41359; Fri, 24 Sep 1999 06:50:33 +0200 (CEST) (envelope-from girgen@partitur.se) Message-ID: <37EB0319.9F71055D@partitur.se> Date: Fri, 24 Sep 1999 06:50:33 +0200 From: Palle Girgensohn Organization: Partitur X-Mailer: Mozilla 4.61 [en] (X11; I; Linux 2.0.36 i386) X-Accept-Language: sv, en MIME-Version: 1.0 To: Nate Williams Cc: freebsd-java@FreeBSD.ORG Subject: Re: running java_X on non-X machine? References: <37EAF959.2639408E@partitur.se> <199909240421.WAA24766@mt.sri.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Nate Williams wrote: > > > I want to run servlets which use the java awt (for creating jpegs on the > > fly for web serving). Hence I need to run java_X, right? > > Right. > > > Now, I want to run this on a server that has no XWindow > > configured. Any ideas how this can be implemented? > > AFAIK, it can't be implemented this way. You'll need to create a jpeg > solution that doesn't involve any AWT/Swing components if you want to do > this on a Unix box. (The same problem exists on Solaris FWIW). > > If you find another solution to this, please let us (me!) know, since > I'd be very interested in any solution you can find.... It seems that the vfb (X Virtual Frame Buffer) server might be something. I'll look into it, and let you know what I find. /Palle To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 5:40:28 1999 Delivered-To: freebsd-java@freebsd.org Received: from isis.uniandes.edu.co (isis.uniandes.edu.co [157.253.54.5]) by hub.freebsd.org (Postfix) with ESMTP id A9D8914D22 for ; Fri, 24 Sep 1999 05:37:40 -0700 (PDT) (envelope-from ser-garc@uniandes.edu.co) Received: from isis (isis [157.253.54.5]) by isis.uniandes.edu.co (8.9.3/8.9.3) with SMTP id HAA22163 for ; Fri, 24 Sep 1999 07:34:39 -0500 (GMT+5) Date: Fri, 24 Sep 1999 07:34:39 -0500 (GMT+5) From: SeRgIo ArTuRo GaRcIa X-Sender: ser-garc@isis To: freebsd-java@freebsd.org Subject: ld-elf.so.1 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hello there. Im running FreeBSD 3.1, I installed kaffe from FreeBSD3.1 CD, but when I tried to launch it, i got this error : /usr/libexec/ld-elf.so.1: Shared Object "libkaffevm.so.1" not found then I downloaded JDk from www.freebsd.org/java, and when I try to run java or javac, I got the same error! what should I do? Should I re-install ld-elf.so.1 ? Thank you Sergio Arturo Garcia "That is not dead which ser-garc@uniandes.edu.co can eternal lie, http://www.calabozo.com/sergio Yet with strange aeons, ***************************** even Death may die." A.A. 18269 Santafe de Bogota, COLOMBIA Howard P. Lovecraft To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 6:53: 2 1999 Delivered-To: freebsd-java@freebsd.org Received: from csmd2.cs.uni-magdeburg.de (csmd2.CS.Uni-Magdeburg.De [141.44.22.2]) by hub.freebsd.org (Postfix) with ESMTP id 39BEA1506C for ; Fri, 24 Sep 1999 06:52:42 -0700 (PDT) (envelope-from jesse@mail.CS.Uni-Magdeburg.De) Received: from eiche.cs.uni-magdeburg.de (jesse@eiche [141.44.21.14]) by csmd2.cs.uni-magdeburg.de (8.9.1a/8.9.1) with ESMTP id PAA25029; Fri, 24 Sep 1999 15:52:03 +0200 (MET DST) Received: (from jesse@localhost) by eiche.cs.uni-magdeburg.de (8.8.8+Sun/8.8.8) id PAA03547; Fri, 24 Sep 1999 15:50:25 +0200 (MET DST) Message-ID: <19990924155025.A3533@cs.uni-magdeburg.de> Date: Fri, 24 Sep 1999 15:50:25 +0200 From: Roland Jesse To: SeRgIo ArTuRo GaRcIa , freebsd-java@FreeBSD.ORG Subject: Re: ld-elf.so.1 Mail-Followup-To: SeRgIo ArTuRo GaRcIa , freebsd-java@FreeBSD.ORG References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.93.2i In-Reply-To: ; from SeRgIo ArTuRo GaRcIa on Fri, Sep 24, 1999 at 07:34:39AM -0500 Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org SeRgIo ArTuRo GaRcIa wrote: > then I downloaded JDk from www.freebsd.org/java, and when I try to run > java or javac, I got the same error! what should I do? Should I re-install > ld-elf.so.1 ? Which version of the JDK did you download? ELF or aout? In case you took aout please retry with the elf version as that is the native binary format supported by FreeBSD 3.x. Roland To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 8:39: 2 1999 Delivered-To: freebsd-java@freebsd.org Received: from ns.mt.sri.com (ns.mt.sri.com [206.127.79.91]) by hub.freebsd.org (Postfix) with ESMTP id 60E7215170 for ; Fri, 24 Sep 1999 08:38:47 -0700 (PDT) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.9.3/8.9.3) with SMTP id JAA19367; Fri, 24 Sep 1999 09:38:14 -0600 (MDT) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id JAA27073; Fri, 24 Sep 1999 09:38:13 -0600 Date: Fri, 24 Sep 1999 09:38:13 -0600 Message-Id: <199909241538.JAA27073@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: SeRgIo ArTuRo GaRcIa Cc: freebsd-java@FreeBSD.ORG Subject: Re: ld-elf.so.1 In-Reply-To: References: X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Reply-To: nate@mt.sri.com (Nate Williams) Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Im running FreeBSD 3.1, I installed kaffe from FreeBSD3.1 CD, but when I > tried to launch it, i got this error : > > /usr/libexec/ld-elf.so.1: Shared Object "libkaffevm.so.1" not found > > then I downloaded JDk from www.freebsd.org/java, and when I try to run > java or javac, I got the same error! what should I do? Delete kaffe (pkg_delete) from your hard-disk, because when you type 'java' it's picking up the kaffe version, not the version in /usr/local/jdk1.1.8/bin/java. Make sure /usr/local/jdk1.1.8/bin is in your path. Kaffe installs itself in /usr/local/bin, so it's automatically in your path, while the JDK must explicitly be added to the path. The JDK version should work fine (and make sure you are using the version the FreeBSD Java team released day before yesterday...). Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 10:17: 6 1999 Delivered-To: freebsd-java@freebsd.org Received: from phoenix.calderasystems.com (phoenix.calderasystems.com [207.179.18.7]) by hub.freebsd.org (Postfix) with ESMTP id A63C514C96 for ; Fri, 24 Sep 1999 10:17:00 -0700 (PDT) (envelope-from drdavis@calderasystems.com) Received: from calderasystems.com (drdavis@buddha.calderasystems.com [207.179.18.42]) by phoenix.calderasystems.com (8.8.7/8.8.7) with ESMTP id LAA19145; Fri, 24 Sep 1999 11:14:42 -0600 Message-ID: <37EBB20D.CB5C6880@calderasystems.com> Date: Fri, 24 Sep 1999 11:17:01 -0600 From: "Darren R. Davis" X-Mailer: Mozilla 4.61C-CCK-MCD Caldera Systems OpenLinux [en] (X11; I; Linux 2.2.10 i686) X-Accept-Language: en MIME-Version: 1.0 To: SHUDO Kazuyuki Cc: freebsd-java@FreeBSD.ORG Subject: Re: Java Workshop 3.0 under FreeBSD ? References: <199909221013.TAA19059@cafe.muraoka.info.waseda.ac.jp> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org SHUDO Kazuyuki wrote: > Hi, > > > Re: Java Workshop 3.0: > > > > Unfortunately you cannot run Java Workshop 3.0 unless you have a port of > > JDK1.2 for FreeBSD. I know that a variety of Java 2 Collection classes are > > used throughout the source code. Because of that, it's likely a number of > > other 1.2 specific calls are used. > > Collections API for JDK 1.1 is provided by Sun for InfoBus. > See http://java.sun.com/beans/infobus/collectionsreadme.html. > > But I don't know whether JWS 3.0 can work with JDK 1.1 and Collections API. > > Kazuyuki SHUDO Happy Hacking! > Muraoka Lab., Grad. School of Sci. & Eng., Waseda Univ. > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-java" in the body of the message FYI http://dailynews.yahoo.com/h/zd/19990924/tc/19990924212.html Darren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 17:43:27 1999 Delivered-To: freebsd-java@freebsd.org Received: from matsulab.is.titech.ac.jp (matsulab.is.titech.ac.jp [131.112.35.129]) by hub.freebsd.org (Postfix) with ESMTP id 5FC5814FAD for ; Fri, 24 Sep 1999 17:43:23 -0700 (PDT) (envelope-from fuyuhik8@is.titech.ac.jp) Received: from localhost by matsulab.is.titech.ac.jp (8.8.8+Sun/3.7W) with ESMTP id JAA21494; Sat, 25 Sep 1999 09:42:10 +0900 (JST) To: nate@mt.sri.com Cc: freebsd-java@FreeBSD.org Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD From: MARUYAMA Fuyuhiko In-Reply-To: <199909230514.XAA18035@mt.sri.com> References: <199909230514.XAA18035@mt.sri.com> X-Mailer: xcite1.31> Mew version 1.94 on XEmacs 21.2 (Demeter) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <19990925094245M.fuyuhik8@is.titech.ac.jp> Date: Sat, 25 Sep 1999 09:42:45 +0900 X-Dispatcher: imput version 990905(IM130) Lines: 31 Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, all! There are both good and bad news. On Wed, 22 Sep 1999 23:14:29 -0600 nate@mt.sri.com(Nate Williams) wrote: > Notable changes in this release include: > - Better handling of signals like DIVIDE and SIGFPE which are trapped and > handled correctly now. The bad news: I think this change may not be merged in ELF version. Please check the build. It still exists in ELF version. On the other hand, AOUT version works correctly, so problem is not so difficult, I believe ;-). > - The ELF version should work better with AWT/Swing applications. The > FreeBSD project donated a more modern copy of Motif that should avoid > some weird X errors that occurred previously. The good news: New ELF version works well, now I need not to concern about reported problem. Great! Thanks for all people working on/with FreeBSD JDK. -- MARUYAMA Fuyuhiko Matsuoka laboratory, Department of Mathematical and Computing Sciences, Tokyo Institute of Technology. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 17:49:20 1999 Delivered-To: freebsd-java@freebsd.org Received: from ns.mt.sri.com (ns.mt.sri.com [206.127.79.91]) by hub.freebsd.org (Postfix) with ESMTP id B56CC14FAD for ; Fri, 24 Sep 1999 17:49:17 -0700 (PDT) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.9.3/8.9.3) with SMTP id SAA24640; Fri, 24 Sep 1999 18:49:16 -0600 (MDT) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id SAA00386; Fri, 24 Sep 1999 18:49:12 -0600 Date: Fri, 24 Sep 1999 18:49:12 -0600 Message-Id: <199909250049.SAA00386@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: MARUYAMA Fuyuhiko Cc: nate@mt.sri.com, freebsd-java@FreeBSD.org Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD In-Reply-To: <19990925094245M.fuyuhik8@is.titech.ac.jp> References: <199909230514.XAA18035@mt.sri.com> <19990925094245M.fuyuhik8@is.titech.ac.jp> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Reply-To: nate@mt.sri.com (Nate Williams) Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > > Notable changes in this release include: > > - Better handling of signals like DIVIDE and SIGFPE which are trapped and > > handled correctly now. > > The bad news: > I think this change may not be merged in ELF version. Please check > the build. It still exists in ELF version. On the other hand, AOUT > version works correctly, so problem is not so difficult, I believe ;-). It's in both versions, since the source code is shared. If it doesn't work, then it's a bug. :) Can you tell us how you've tested this (my memory is short and weak). > > - The ELF version should work better with AWT/Swing applications. The > > FreeBSD project donated a more modern copy of Motif that should avoid > > some weird X errors that occurred previously. > > The good news: > New ELF version works well, now I need not to concern about reported > problem. Great! Glad to hear it! Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 17:58:18 1999 Delivered-To: freebsd-java@freebsd.org Received: from matsulab.is.titech.ac.jp (matsulab.is.titech.ac.jp [131.112.35.129]) by hub.freebsd.org (Postfix) with ESMTP id B0BE114BF6 for ; Fri, 24 Sep 1999 17:58:15 -0700 (PDT) (envelope-from fuyuhik8@is.titech.ac.jp) Received: from localhost by matsulab.is.titech.ac.jp (8.8.8+Sun/3.7W) with ESMTP id JAA21583; Sat, 25 Sep 1999 09:58:11 +0900 (JST) To: nate@mt.sri.com Cc: freebsd-java@FreeBSD.org Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD From: MARUYAMA Fuyuhiko In-Reply-To: <199909250049.SAA00386@mt.sri.com> References: <199909230514.XAA18035@mt.sri.com> <19990925094245M.fuyuhik8@is.titech.ac.jp> <199909250049.SAA00386@mt.sri.com> X-Mailer: xcite1.31> Mew version 1.94 on XEmacs 21.2 (Demeter) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <19990925095846L.fuyuhik8@is.titech.ac.jp> Date: Sat, 25 Sep 1999 09:58:46 +0900 X-Dispatcher: imput version 990905(IM130) Lines: 36 Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Fri, 24 Sep 1999 18:49:12 -0600 nate@mt.sri.com(Nate Williams) wrote: > > > > Notable changes in this release include: > > > - Better handling of signals like DIVIDE and SIGFPE which are trapped and > > > handled correctly now. > > > > The bad news: > > I think this change may not be merged in ELF version. Please check > > the build. It still exists in ELF version. On the other hand, AOUT > > version works correctly, so problem is not so difficult, I believe ;-). > > It's in both versions, since the source code is shared. If it doesn't > work, then it's a bug. :) > > Can you tell us how you've tested this (my memory is short and weak). O.K. Simple example is here. public class Test { void static void main(String[] args) { System.out.println("0x80000000 / -1 = " + (0x80000000/-1)); } } You can see the problem during compiling this with javac. In fact, it is not javac problem but JVM's one. The effort constant calculation performed by javac causes this. -- MARUYAMA Fuyuhiko Matsuoka laboratory, Department of Mathematical and Computing Sciences, Tokyo Institute of Technology. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Fri Sep 24 19:57: 5 1999 Delivered-To: freebsd-java@freebsd.org Received: from heresy.is.titech.ac.jp (heresy.is.titech.ac.jp [131.112.35.182]) by hub.freebsd.org (Postfix) with ESMTP id DE88215070 for ; Fri, 24 Sep 1999 19:57:01 -0700 (PDT) (envelope-from fuyuhik8@is.titech.ac.jp) Received: from localhost (localhost.is.titech.ac.jp [127.0.0.1]) by heresy.is.titech.ac.jp (8.9.3/8.9.2) with ESMTP id LAA82414; Sat, 25 Sep 1999 11:56:57 +0900 (JST) (envelope-from fuyuhik8@is.titech.ac.jp) To: nate@mt.sri.com Cc: freebsd-java@FreeBSD.org Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD From: MARUYAMA Fuyuhiko In-Reply-To: <19990925095846L.fuyuhik8@is.titech.ac.jp> References: <19990925094245M.fuyuhik8@is.titech.ac.jp> <199909250049.SAA00386@mt.sri.com> <19990925095846L.fuyuhik8@is.titech.ac.jp> X-Mailer: Mew version 1.94 on XEmacs 21.2 (Demeter) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <19990925115657H.fuyuhik8@is.titech.ac.jp> Date: Sat, 25 Sep 1999 11:56:57 +0900 X-Dispatcher: imput version 990905(IM130) Lines: 19 Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I'm very sorry for my last bug-report about DIVIDE and SIGFPE problem don't contain enough informations. It may be a kind of 4.0-CURRENT dependent problem. I have got an e-mail that the problem doesn't appear on FreeBSD 3.2-RELEASE. And then, I checked it on 3.3-STABLE box and found it also works correctly. So, I should say the problem only appears on 4.0-CURRENT. The problem appears on my two 4.0-CURRENT boxes. One is built on Jul. 28th, the other is built on Sep. 8th. -- MARUYAMA Fuyuhiko Matsuoka laboratory, Department of Mathematical and Computing Sciences, Tokyo Institute of Technology. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 1:27:42 1999 Delivered-To: freebsd-java@freebsd.org Received: from ns.mt.sri.com (ns.mt.sri.com [206.127.79.91]) by hub.freebsd.org (Postfix) with ESMTP id 2AD9315132 for ; Sat, 25 Sep 1999 01:27:39 -0700 (PDT) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.9.3/8.9.3) with SMTP id CAA28087; Sat, 25 Sep 1999 02:27:38 -0600 (MDT) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id CAA01352; Sat, 25 Sep 1999 02:27:36 -0600 Date: Sat, 25 Sep 1999 02:27:36 -0600 Message-Id: <199909250827.CAA01352@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: MARUYAMA Fuyuhiko Cc: nate@mt.sri.com, freebsd-java@FreeBSD.org Subject: Re: Announce: New release of JDK1.1.8 for FreeBSD In-Reply-To: <19990925115657H.fuyuhik8@is.titech.ac.jp> References: <19990925094245M.fuyuhik8@is.titech.ac.jp> <199909250049.SAA00386@mt.sri.com> <19990925095846L.fuyuhik8@is.titech.ac.jp> <19990925115657H.fuyuhik8@is.titech.ac.jp> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Reply-To: nate@mt.sri.com (Nate Williams) Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > I'm very sorry for my last bug-report about DIVIDE and SIGFPE problem > don't contain enough informations. > > It may be a kind of 4.0-CURRENT dependent problem. Ahh, so it may not be a JDK problem. > I have got an e-mail that the problem doesn't appear on FreeBSD > 3.2-RELEASE. And then, I checked it on 3.3-STABLE box and found it > also works correctly. Great, this is good news. > So, I should say the problem only appears on 4.0-CURRENT. > > The problem appears on my two 4.0-CURRENT boxes. > One is built on Jul. 28th, the other is built on Sep. 8th. Interesting. I don't know why this would be. I don't even know where to start, since the code is (obviously) the same. The only thing I can think is that somehow sigaction and friends aren't working right. Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 10:30:29 1999 Delivered-To: freebsd-java@freebsd.org Received: from kot.ne.mediaone.net (kot.ne.mediaone.net [24.218.15.190]) by hub.freebsd.org (Postfix) with ESMTP id 300C614FA6; Sat, 25 Sep 1999 10:30:11 -0700 (PDT) (envelope-from mi@aldan.algebra.com) Received: from rtfm.newton (rtfm.newton [10.10.0.1]) by kot.ne.mediaone.net (8.9.3/8.9.1) with ESMTP id NAA07091; Sat, 25 Sep 1999 13:26:10 -0400 (EDT) From: Mikhail Teterin X-Relay-IP: 10.10.0.1 Received: (from mi@localhost) by rtfm.newton (8.9.3/8.9.1) id NAA44892; Sat, 25 Sep 1999 13:26:10 -0400 (EDT) Message-Id: <199909251726.NAA44892@rtfm.newton> Subject: porting libjava to FreeBSD To: eischen@vigrid.com, jb@cimlogic.com.au, java@FreeBSD.org, jdp@polstra.com, obrien@FreeBSD.org Date: Sat, 25 Sep 1999 13:26:10 -0400 (EDT) Cc: java-discuss@sourceware.cygnus.com Action: X-Face: %UW#n0|w>ydeGt/b@1-.UFP=K^~-:0f#O:D7w hJ5G_<5143Bb3kOIs9XpX+"V+~$adGP:J|SLieM31VIhqXeLBli" /dev/null 2>&1 echo c - libgcj/pkg mkdir -p libgcj/pkg > /dev/null 2>&1 echo x - libgcj/pkg/COMMENT sed 's/^X//' >libgcj/pkg/COMMENT << 'END-of-libgcj/pkg/COMMENT' XGNU Java Library -- needed by GNU Java Compiler (gcj) END-of-libgcj/pkg/COMMENT echo x - libgcj/pkg/DESCR sed 's/^X//' >libgcj/pkg/DESCR << 'END-of-libgcj/pkg/DESCR' XThis library enables you to use gcj -- now part of the GNU Compiler XSuit. Threading support is not ported yet. END-of-libgcj/pkg/DESCR echo x - libgcj/pkg/PLIST sed 's/^X//' >libgcj/pkg/PLIST << 'END-of-libgcj/pkg/PLIST' END-of-libgcj/pkg/PLIST echo c - libgcj/patches mkdir -p libgcj/patches > /dev/null 2>&1 echo x - libgcj/patches/patch-aa sed 's/^X//' >libgcj/patches/patch-aa << 'END-of-libgcj/patches/patch-aa' X--- ../libjava/configure.orig Sat Aug 21 10:26:13 1999 X+++ ../libjava/configure Sat Sep 25 12:29:35 1999 X@@ -2541,3 +2541,3 @@ X- *-*-linux*) X+ *-*-linux*|*-*-freebsd*) X # FIXME: this isn't correct in all cases. X THREADS=posix X@@ -2570,3 +2570,3 @@ X THREADS=posix X case "$host" in X- *-*-linux*) X+ *-*-linux*|*-*-freebsd*) X@@ -2597,4 +2597,12 @@ X case "$THREADS" in X posix) X- THREADLIBS=-lpthread X- THREADSPEC=-lpthread X+ case "$host" in X+ *-*-linux*) X+ THREADLIBS=-lpthread X+ THREADSPEC=-lpthread X+ ;; X+ *-*-freebsd*) X+ THREADLIBS=-lc_r X+ THREADSPEC=-pthread X+ ;; X+ esac END-of-libgcj/patches/patch-aa echo x - libgcj/patches/patch-ab sed 's/^X//' >libgcj/patches/patch-ab << 'END-of-libgcj/patches/patch-ab' X--- ../Makefile.in.orig Wed May 5 06:13:21 1999 X+++ ../Makefile.in Sat Sep 25 11:14:08 1999 X@@ -65 +64,0 @@ X-INSTALL = $(SHELL) $$s/install-sh -c END-of-libgcj/patches/patch-ab echo x - libgcj/patches/patch-ac sed 's/^X//' >libgcj/patches/patch-ac << 'END-of-libgcj/patches/patch-ac' X--- ../libjava/Makefile.in.orig Mon Aug 2 23:14:26 1999 X+++ ../libjava/Makefile.in Sat Sep 25 12:12:15 1999 X@@ -131,6 +131 @@ X-@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = \ X-@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT) X-@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = \ X-@CANADIAN_TRUE@@NULL_TARGET_FALSE@zip X-@CANADIAN_FALSE@ZIP = \ X-@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT) X+ZIP = ${PREFIX}/bin/zip END-of-libgcj/patches/patch-ac echo x - libgcj/patches/patch-ad sed 's/^X//' >libgcj/patches/patch-ad << 'END-of-libgcj/patches/patch-ad' X--- ../boehm-gc/configure.orig Wed Aug 4 16:53:52 1999 X+++ ../boehm-gc/configure Sat Sep 25 12:33:47 1999 X@@ -2273,3 +2273,3 @@ X- *-*-linux*) X+ *-*-linux*|*-*-freebsd*) X # FIXME: this isn't correct in all cases. X THREADS=posix X@@ -2303,3 +2303,3 @@ X THREADS=posix X case "$host" in X- *-*-linux*) X+ *-*-linux*|*-*-freebsd*) END-of-libgcj/patches/patch-ad echo x - libgcj/patches/patch-ae sed 's/^X//' >libgcj/patches/patch-ae << 'END-of-libgcj/patches/patch-ae' X--- ../boehm-gc/config.h.orig Mon Jul 19 15:32:38 1999 X+++ ../boehm-gc/config.h Sat Sep 25 12:41:24 1999 X@@ -989,3 +989,3 @@ X # endif X-# if defined(LINUX_THREADS) && !defined(LINUX) X+# if defined(LINUX_THREADS) && !defined(LINUX) && !defined(__FreeBSD__) X --> inconsistent configuration END-of-libgcj/patches/patch-ae echo c - libgcj/files mkdir -p libgcj/files > /dev/null 2>&1 echo x - libgcj/files/md5 sed 's/^X//' >libgcj/files/md5 << 'END-of-libgcj/files/md5' XMD5 (libgcj-2.95.1.tar.gz) = 63f61b33ef099caf55ec55553a668576 END-of-libgcj/files/md5 echo x - libgcj/Makefile sed 's/^X//' >libgcj/Makefile << 'END-of-libgcj/Makefile' X# New ports collection makefile for: Java Servlet Developpers Kit X# Version required: 2.95.1 X# Date created: 1999/09/23 X# Whom: Mikhail Teterin X# X# $FreeBSD:$ X# X XDISTNAME= libgcj-2.95.1 XCATEGORIES= java XMASTER_SITES= ftp://sourceware.cygnus.com/pub/java/ X XMAINTAINER= mi@aldan.algebra.com X XBUILD_DEPENDS= g++295:${PORTSDIR}/lang/egcs \ X gcj:${PORTSDIR}/lang/egcs \ X zip:${PORTSDIR}/archivers/zip X XGNU_CONFIGURE= YES XUSE_GMAKE= YES XCONFIGURE_SCRIPT=../configure XCONFIGURE_ENV= CC=gcc295 CXX=g++295 CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" XCONFIGURE_ARGS= --with-system-zlib X X.if defined(USE_THREADS) X# Currently broken! XCONFIGURE_ARGS+=--enable-threads=posix X.endif X XMAKE_ENV= INSTALL="${INSTALL}" PREFIX="${PREFIX}" X XWRKSRC= ${WRKDIR}/libgcj-2.95.1/build X Xpost-extract: X ${MKDIR} ${WRKSRC} X ${RM} -rf ${WRKSRC}/../zip ${WRKSRC}/../zlib X Xpost-configure: X cd ${WRKSRC} && ${GMAKE} configure-target-boehm-gc \ X configure-target-libjava X X.include END-of-libgcj/Makefile exit To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 10:41: 2 1999 Delivered-To: freebsd-java@freebsd.org Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (Postfix) with ESMTP id 42086158B7; Sat, 25 Sep 1999 10:40:57 -0700 (PDT) (envelope-from jdp@polstra.com) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.3/8.9.3) with ESMTP id KAA24241; Sat, 25 Sep 1999 10:40:46 -0700 (PDT) (envelope-from jdp@polstra.com) Received: (from jdp@localhost) by vashon.polstra.com (8.9.3/8.9.1) id KAA85338; Sat, 25 Sep 1999 10:40:45 -0700 (PDT) (envelope-from jdp@polstra.com) Message-ID: X-Mailer: XFMail 1.3 [p0] on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <199909251726.NAA44892@rtfm.newton> Date: Sat, 25 Sep 1999 10:40:45 -0700 (PDT) Organization: Polstra & Co., Inc. From: John Polstra To: Mikhail Teterin Subject: RE: porting libjava to FreeBSD Cc: java-discuss@sourceware.cygnus.com, obrien@FreeBSD.org, java@FreeBSD.org, jb@cimlogic.com.au, eischen@vigrid.com Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Mikhail Teterin wrote: > > However, the low level code in libgcj-2.95.1/boehm-gc/linux_threads.c > uses the non-existent (on FreeBSD) signal SIGPWR. With the following > comment: > > /* > * The only way to suspend threads given the pthread > * interface is to send signals. We can't use SIGSTOP > * directly, because we need to get the thread to save > * its stack pointer in the GC thread table before > * suspending. So we have to reserve a signal of our own > * for this. This means we have to intercept client > * calls to change the signal mask. The linuxthreads > * package already uses SIGUSR1 and SIGUSR2, so we need > * to reuse something else. I chose SIGPWR. (Perhaps > * SIGUNUSED would be a better choice.) > */ > #define SIG_SUSPEND SIGPWR Ick. I think it would be better to suspend threads using pthread_suspend_np(). John To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 11:15:41 1999 Delivered-To: freebsd-java@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 5998514DC9; Sat, 25 Sep 1999 11:15:33 -0700 (PDT) (envelope-from eischen@vigrid.com) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.8.7/PCNet) id OAA05678; Sat, 25 Sep 1999 14:14:18 -0400 (EDT) Date: Sat, 25 Sep 1999 14:14:18 -0400 (EDT) From: Daniel Eischen Message-Id: <199909251814.OAA05678@pcnet1.pcnet.com> To: jdp@polstra.com, mi@aldan.algebra.com Subject: RE: porting libjava to FreeBSD Cc: eischen@vigrid.com, java-discuss@sourceware.cygnus.com, java@FreeBSD.org, jb@cimlogic.com.au, obrien@FreeBSD.org Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org [ Suspending threads with SIGXXX under FreeBSD ] John Polstra wrote: > Ick. Ick indeed. > I think it would be better to suspend threads using > pthread_suspend_np(). Yep. Dan Eischen eischen@vigrid.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 11:39:26 1999 Delivered-To: freebsd-java@freebsd.org Received: from relay.nuxi.com (nuxi.cs.ucdavis.edu [169.237.7.38]) by hub.freebsd.org (Postfix) with ESMTP id ADCC214C1F for ; Sat, 25 Sep 1999 11:39:24 -0700 (PDT) (envelope-from obrien@NUXI.com) Received: from dragon.nuxi.com (IDENT:root@iras-3-21.ucdavis.edu [169.237.17.21]) by relay.nuxi.com (8.9.3/8.9.3) with ESMTP id LAA58587; Sat, 25 Sep 1999 11:39:10 -0700 (PDT) (envelope-from obrien@dragon.nuxi.com) Received: (from obrien@localhost) by dragon.nuxi.com (8.9.3/8.9.1) id LAA79958; Sat, 25 Sep 1999 11:39:06 -0700 (PDT) (envelope-from obrien) Date: Sat, 25 Sep 1999 11:39:05 -0700 From: "David O'Brien" To: Mikhail Teterin Cc: eischen@vigrid.com, jb@cimlogic.com.au, java@FreeBSD.org, jdp@polstra.com, java-discuss@sourceware.cygnus.com Subject: Re: porting libjava to FreeBSD Message-ID: <19990925113905.G43275@dragon.nuxi.com> Reply-To: obrien@FreeBSD.org References: <199909251726.NAA44892@rtfm.newton> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre1i In-Reply-To: <199909251726.NAA44892@rtfm.newton> X-Operating-System: FreeBSD 4.0-CURRENT Organization: The NUXI BSD group X-PGP-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Keyid: 34F9F9D5 Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > I'm trying to make a port of libjava (to give some meaning to the > currently useless gcj installed by the egcs port on -stable, for > example). It also seems to provide A LOT faster java compiler... I'm quite interested in this. However, would you be willing to base your work on the either the FreeBSD gcc-devel port, or on the GCC "head" branch snapshot? I am pretty sure major additions like this would not be accepted by Cygnus/GCC in the 2.95.x branch. And I don't look forward to trying to port such stuff to the newer GCC code base, which is where the future is. > Any suggestions on what should be used on FreeBSD instead? Or, perhaps, > this is not going to work and a new freebsd_threads.c needs to be > written for libjava? Thanks, There have been some thread configuration changes in the GCC development branch. I should have an updated ``gcc-devel'' port working and committed within the week. -- -- David (obrien@NUXI.com) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 11:45:15 1999 Delivered-To: freebsd-java@freebsd.org Received: from kot.ne.mediaone.net (kot.ne.mediaone.net [24.218.15.190]) by hub.freebsd.org (Postfix) with ESMTP id 7A9FE150A7; Sat, 25 Sep 1999 11:43:53 -0700 (PDT) (envelope-from mi@aldan.algebra.com) Received: from rtfm.newton (rtfm.newton [10.10.0.1]) by kot.ne.mediaone.net (8.9.3/8.9.1) with ESMTP id OAA07548; Sat, 25 Sep 1999 14:43:52 -0400 (EDT) From: Mikhail Teterin X-Relay-IP: 10.10.0.1 Received: (from mi@localhost) by rtfm.newton (8.9.3/8.9.1) id OAA45104; Sat, 25 Sep 1999 14:43:51 -0400 (EDT) Message-Id: <199909251843.OAA45104@rtfm.newton> Subject: Re: porting libjava to FreeBSD In-Reply-To: <199909251814.OAA05678@pcnet1.pcnet.com> from Daniel Eischen at "Sep 25, 1999 02:14:18 pm" To: Daniel Eischen Date: Sat, 25 Sep 1999 14:43:51 -0400 (EDT) Cc: jdp@polstra.com, java@FreeBSD.org, jb@cimlogic.com.au, obrien@FreeBSD.org X-Face: %UW#n0|w>ydeGt/b@1-.UFP=K^~-:0f#O:D7w hJ5G_<5143Bb3kOIs9XpX+"V+~$adGP:J|SLieM31VIhqXeLBli" Ick. = =Ick indeed. This "icks" may offend the libjava people :) I removed them from the CC: => I think it would be better to suspend threads using => pthread_suspend_np(). = =Yep. So, should I just patch it up, or would there be a need for freebsd_threads.c anyway? Can one of the "thread people", please, send a (even if untested) patch? The linux_threads.c is included for your convenience. Yours, -mi /* * Copyright (c) 1994 by Xerox Corporation. All rights reserved. * Copyright (c) 1996 by Silicon Graphics. All rights reserved. * Copyright (c) 1998 by Fergus Henderson. All rights reserved. * * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. * * Permission is hereby granted to use or copy this program * for any purpose, provided the above notices are retained on all copies. * Permission to modify the code and to distribute modified code is granted, * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. */ /* * Support code for LinuxThreads, the clone()-based kernel * thread package for Linux which is included in libc6. * * This code relies on implementation details of LinuxThreads, * (i.e. properties not guaranteed by the Pthread standard): * * - the function GC_linux_thread_top_of_stack(void) * relies on the way LinuxThreads lays out thread stacks * in the address space. * * Note that there is a lot of code duplication between linux_threads.c * and irix_threads.c; any changes made here may need to be reflected * there too. */ # if defined(LINUX_THREADS) # include "gc_priv.h" # include # include # include # include # include # include # include #undef pthread_create #undef pthread_sigmask #undef pthread_join void GC_thr_init(); #if 0 void GC_print_sig_mask() { sigset_t blocked; int i; if (pthread_sigmask(SIG_BLOCK, NULL, &blocked) != 0) ABORT("pthread_sigmask"); GC_printf0("Blocked: "); for (i = 1; i <= MAXSIG; i++) { if (sigismember(&blocked, i)) { GC_printf1("%ld ",(long) i); } } GC_printf0("\n"); } #endif /* We use the allocation lock to protect thread-related data structures. */ /* The set of all known threads. We intercept thread creation and */ /* joins. We never actually create detached threads. We allocate all */ /* new thread stacks ourselves. These allow us to maintain this */ /* data structure. */ /* Protected by GC_thr_lock. */ /* Some of this should be declared volatile, but that's incosnsistent */ /* with some library routine declarations. */ typedef struct GC_Thread_Rep { struct GC_Thread_Rep * next; /* More recently allocated threads */ /* with a given pthread id come */ /* first. (All but the first are */ /* guaranteed to be dead, but we may */ /* not yet have registered the join.) */ pthread_t id; word flags; # define FINISHED 1 /* Thread has exited. */ # define DETACHED 2 /* Thread is intended to be detached. */ # define MAIN_THREAD 4 /* True for the original thread only. */ ptr_t stack_end; ptr_t stack_ptr; /* Valid only when stopped. */ int signal; void * status; /* The value returned from the thread. */ /* Used only to avoid premature */ /* reclamation of any data it might */ /* reference. */ } * GC_thread; GC_thread GC_lookup_thread(pthread_t id); /* * The only way to suspend threads given the pthread interface is to send * signals. We can't use SIGSTOP directly, because we need to get the * thread to save its stack pointer in the GC thread table before * suspending. So we have to reserve a signal of our own for this. * This means we have to intercept client calls to change the signal mask. * The linuxthreads package already uses SIGUSR1 and SIGUSR2, * so we need to reuse something else. I chose SIGPWR. * (Perhaps SIGUNUSED would be a better choice.) */ #define SIG_SUSPEND SIGPWR #define SIG_RESTART SIGXCPU sem_t GC_suspend_ack_sem; /* GC_linux_thread_top_of_stack() relies on implementation details of LinuxThreads, namely that thread stacks are allocated on 2M boundaries and grow to no more than 2M. To make sure that we're using LinuxThreads and not some other thread package, we generate a dummy reference to `__pthread_initial_thread_bos', which is a symbol defined in LinuxThreads, but (hopefully) not in other thread packages. */ #if 0 /* Note: on Caldera OpenLinux, this symbols is `local' in the libpthread.so (but not in libpthread.a). We don't really need this, so we just comment it out. */ extern char * __pthread_initial_thread_bos; char **dummy_var_to_force_linux_threads = &__pthread_initial_thread_bos; #endif #define LINUX_THREADS_STACK_SIZE (2 * 1024 * 1024) static inline ptr_t GC_linux_thread_top_of_stack(void) { char *sp = GC_approx_sp(); ptr_t tos = (ptr_t) (((unsigned long)sp | (LINUX_THREADS_STACK_SIZE - 1)) + 1); #if DEBUG_THREADS GC_printf1("SP = %lx\n", (unsigned long)sp); GC_printf1("TOS = %lx\n", (unsigned long)tos); #endif return tos; } void GC_suspend_handler(int sig) { int dummy; pthread_t my_thread = pthread_self(); GC_thread me; sigset_t all_sigs; sigset_t old_sigs; int i; sigset_t mask; if (sig != SIG_SUSPEND) ABORT("Bad signal in suspend_handler"); #if DEBUG_THREADS GC_printf1("Suspending 0x%x\n", my_thread); #endif me = GC_lookup_thread(my_thread); /* The lookup here is safe, since I'm doing this on behalf */ /* of a thread which holds the allocation lock in order */ /* to stop the world. Thus concurrent modification of the */ /* data structure is impossible. */ me -> stack_ptr = (ptr_t)(&dummy); me -> stack_end = GC_linux_thread_top_of_stack(); /* Tell the thread that wants to stop the world that this */ /* thread has been stopped. Note that sem_post() is */ /* the only async-signal-safe primitive in LinuxThreads. */ sem_post(&GC_suspend_ack_sem); /* Wait until that thread tells us to restart by sending */ /* this thread a SIG_RESTART signal. */ /* SIG_RESTART should be masked at this point. Thus there */ /* is no race. */ if (sigfillset(&mask) != 0) ABORT("sigfillset() failed"); if (sigdelset(&mask, SIG_RESTART) != 0) ABORT("sigdelset() failed"); do { me->signal = 0; sigsuspend(&mask); /* Wait for signal */ } while (me->signal != SIG_RESTART); #if DEBUG_THREADS GC_printf1("Continuing 0x%x\n", my_thread); #endif } void GC_restart_handler(int sig) { GC_thread me; if (sig != SIG_RESTART) ABORT("Bad signal in suspend_handler"); /* Let the GC_suspend_handler() know that we got a SIG_RESTART. */ /* The lookup here is safe, since I'm doing this on behalf */ /* of a thread which holds the allocation lock in order */ /* to stop the world. Thus concurrent modification of the */ /* data structure is impossible. */ me = GC_lookup_thread(pthread_self()); me->signal = SIG_RESTART; /* ** Note: even if we didn't do anything useful here, ** it would still be necessary to have a signal handler, ** rather than ignoring the signals, otherwise ** the signals will not be delivered at all, and ** will thus not interrupt the sigsuspend() above. */ #if DEBUG_THREADS GC_printf1("In GC_restart_handler for 0x%x\n", pthread_self()); #endif } GC_bool GC_thr_initialized = FALSE; # define THREAD_TABLE_SZ 128 /* Must be power of 2 */ volatile GC_thread GC_threads[THREAD_TABLE_SZ]; /* Add a thread to GC_threads. We assume it wasn't already there. */ /* Caller holds allocation lock. */ GC_thread GC_new_thread(pthread_t id) { int hv = ((word)id) % THREAD_TABLE_SZ; GC_thread result; static struct GC_Thread_Rep first_thread; static GC_bool first_thread_used = FALSE; if (!first_thread_used) { result = &first_thread; first_thread_used = TRUE; /* Dont acquire allocation lock, since we may already hold it. */ } else { result = (struct GC_Thread_Rep *) GC_generic_malloc_inner(sizeof(struct GC_Thread_Rep), NORMAL); } if (result == 0) return(0); result -> id = id; result -> next = GC_threads[hv]; GC_threads[hv] = result; /* result -> flags = 0; */ return(result); } /* Delete a thread from GC_threads. We assume it is there. */ /* (The code intentionally traps if it wasn't.) */ /* Caller holds allocation lock. */ void GC_delete_thread(pthread_t id) { int hv = ((word)id) % THREAD_TABLE_SZ; register GC_thread p = GC_threads[hv]; register GC_thread prev = 0; while (!pthread_equal(p -> id, id)) { prev = p; p = p -> next; } if (prev == 0) { GC_threads[hv] = p -> next; } else { prev -> next = p -> next; } } /* If a thread has been joined, but we have not yet */ /* been notified, then there may be more than one thread */ /* in the table with the same pthread id. */ /* This is OK, but we need a way to delete a specific one. */ void GC_delete_gc_thread(pthread_t id, GC_thread gc_id) { int hv = ((word)id) % THREAD_TABLE_SZ; register GC_thread p = GC_threads[hv]; register GC_thread prev = 0; while (p != gc_id) { prev = p; p = p -> next; } if (prev == 0) { GC_threads[hv] = p -> next; } else { prev -> next = p -> next; } } /* Return a GC_thread corresponding to a given thread_t. */ /* Returns 0 if it's not there. */ /* Caller holds allocation lock or otherwise inhibits */ /* updates. */ /* If there is more than one thread with the given id we */ /* return the most recent one. */ GC_thread GC_lookup_thread(pthread_t id) { int hv = ((word)id) % THREAD_TABLE_SZ; register GC_thread p = GC_threads[hv]; while (p != 0 && !pthread_equal(p -> id, id)) p = p -> next; return(p); } /* Caller holds allocation lock. */ void GC_stop_world() { pthread_t my_thread = pthread_self(); register int i; register GC_thread p; register int n_live_threads = 0; register int result; for (i = 0; i < THREAD_TABLE_SZ; i++) { for (p = GC_threads[i]; p != 0; p = p -> next) { if (p -> id != my_thread) { if (p -> flags & FINISHED) continue; n_live_threads++; #if DEBUG_THREADS GC_printf1("Sending suspend signal to 0x%x\n", p -> id); #endif result = pthread_kill(p -> id, SIG_SUSPEND); switch(result) { case ESRCH: /* Not really there anymore. Possible? */ n_live_threads--; break; case 0: break; default: ABORT("pthread_kill failed"); } } } } for (i = 0; i < n_live_threads; i++) { sem_wait(&GC_suspend_ack_sem); } #if DEBUG_THREADS GC_printf1("World stopped 0x%x\n", pthread_self()); #endif } /* Caller holds allocation lock. */ void GC_start_world() { pthread_t my_thread = pthread_self(); register int i; register GC_thread p; register int n_live_threads = 0; register int result; # if DEBUG_THREADS GC_printf0("World starting\n"); # endif for (i = 0; i < THREAD_TABLE_SZ; i++) { for (p = GC_threads[i]; p != 0; p = p -> next) { if (p -> id != my_thread) { if (p -> flags & FINISHED) continue; n_live_threads++; #if DEBUG_THREADS GC_printf1("Sending restart signal to 0x%x\n", p -> id); #endif result = pthread_kill(p -> id, SIG_RESTART); switch(result) { case ESRCH: /* Not really there anymore. Possible? */ n_live_threads--; break; case 0: break; default: ABORT("pthread_kill failed"); } } } } #if DEBUG_THREADS GC_printf0("World started\n"); #endif } /* We hold allocation lock. We assume the world is stopped. */ void GC_push_all_stacks() { register int i; register GC_thread p; register ptr_t sp = GC_approx_sp(); register ptr_t lo, hi; pthread_t me = pthread_self(); if (!GC_thr_initialized) GC_thr_init(); #if DEBUG_THREADS GC_printf1("Pushing stacks from thread 0x%lx\n", (unsigned long) me); #endif for (i = 0; i < THREAD_TABLE_SZ; i++) { for (p = GC_threads[i]; p != 0; p = p -> next) { if (p -> flags & FINISHED) continue; if (pthread_equal(p -> id, me)) { lo = GC_approx_sp(); } else { lo = p -> stack_ptr; } if ((p -> flags & MAIN_THREAD) == 0) { if (pthread_equal(p -> id, me)) { hi = GC_linux_thread_top_of_stack(); } else { hi = p -> stack_end; } } else { /* The original stack. */ hi = GC_stackbottom; } #if DEBUG_THREADS GC_printf3("Stack for thread 0x%lx = [%lx,%lx)\n", (unsigned long) p -> id, (unsigned long) lo, (unsigned long) hi); #endif GC_push_all_stack(lo, hi); } } } /* We hold the allocation lock. */ void GC_thr_init() { GC_thread t; struct sigaction act; GC_thr_initialized = TRUE; if (sem_init(&GC_suspend_ack_sem, 0, 0) != 0) ABORT("sem_init failed"); act.sa_flags = SA_RESTART; if (sigfillset(&act.sa_mask) != 0) { ABORT("sigfillset() failed"); } /* SIG_RESTART is unmasked by the handler when necessary. */ act.sa_handler = GC_suspend_handler; if (sigaction(SIG_SUSPEND, &act, NULL) != 0) { ABORT("Cannot set SIG_SUSPEND handler"); } act.sa_handler = GC_restart_handler; if (sigaction(SIG_RESTART, &act, NULL) != 0) { ABORT("Cannot set SIG_SUSPEND handler"); } /* Add the initial thread, so we can stop it. */ t = GC_new_thread(pthread_self()); t -> stack_ptr = (ptr_t)(&t); t -> flags = DETACHED | MAIN_THREAD; } int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) { sigset_t fudged_set; if (set != NULL && (how == SIG_BLOCK || how == SIG_SETMASK)) { fudged_set = *set; sigdelset(&fudged_set, SIG_SUSPEND); set = &fudged_set; } return(pthread_sigmask(how, set, oset)); } struct start_info { void *(*start_routine)(void *); void *arg; }; void GC_thread_exit_proc(void *dummy) { GC_thread me; LOCK(); me = GC_lookup_thread(pthread_self()); if (me -> flags & DETACHED) { GC_delete_thread(pthread_self()); } else { me -> flags |= FINISHED; } UNLOCK(); } int GC_pthread_join(pthread_t thread, void **retval) { int result; GC_thread thread_gc_id; LOCK(); thread_gc_id = GC_lookup_thread(thread); /* This is guaranteed to be the intended one, since the thread id */ /* cant have been recycled by pthreads. */ UNLOCK(); result = pthread_join(thread, retval); LOCK(); /* Here the pthread thread id may have been recycled. */ GC_delete_gc_thread(thread, thread_gc_id); UNLOCK(); return result; } void * GC_start_routine(void * arg) { struct start_info * si = arg; void * result; GC_thread me; LOCK(); me = GC_lookup_thread(pthread_self()); UNLOCK(); pthread_cleanup_push(GC_thread_exit_proc, 0); # ifdef DEBUG_THREADS GC_printf1("Starting thread 0x%x\n", pthread_self()); GC_printf1("pid = %ld\n", (long) getpid()); GC_printf1("sp = 0x%lx\n", (long) &arg); # endif result = (*(si -> start_routine))(si -> arg); #if DEBUG_THREADS GC_printf1("Finishing thread 0x%x\n", pthread_self()); #endif me -> status = result; me -> flags |= FINISHED; pthread_cleanup_pop(1); /* This involves acquiring the lock, ensuring that we can't exit */ /* while a collection that thinks we're alive is trying to stop */ /* us. */ return(result); } int GC_pthread_create(pthread_t *new_thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg) { int result; GC_thread t; pthread_t my_new_thread; void * stack; size_t stacksize; pthread_attr_t new_attr; int detachstate; word my_flags = 0; struct start_info * si = GC_malloc(sizeof(struct start_info)); if (0 == si) return(ENOMEM); si -> start_routine = start_routine; si -> arg = arg; LOCK(); if (!GC_thr_initialized) GC_thr_init(); if (NULL == attr) { stack = 0; (void) pthread_attr_init(&new_attr); } else { new_attr = *attr; } pthread_attr_getdetachstate(&new_attr, &detachstate); if (PTHREAD_CREATE_DETACHED == detachstate) my_flags |= DETACHED; result = pthread_create(&my_new_thread, &new_attr, GC_start_routine, si); /* No GC can start until the thread is registered, since we hold */ /* the allocation lock. */ if (0 == result) { t = GC_new_thread(my_new_thread); t -> flags = my_flags; t -> stack_ptr = 0; t -> stack_end = 0; if (0 != new_thread) *new_thread = my_new_thread; } UNLOCK(); /* pthread_attr_destroy(&new_attr); */ return(result); } GC_bool GC_collecting = 0; /* A hint that we're in the collector and */ /* holding the allocation lock for an */ /* extended period. */ /* Reasonably fast spin locks. Basically the same implementation */ /* as STL alloc.h. This isn't really the right way to do this. */ /* but until the POSIX scheduling mess gets straightened out ... */ volatile unsigned int GC_allocate_lock = 0; void GC_lock() { # define low_spin_max 30 /* spin cycles if we suspect uniprocessor */ # define high_spin_max 1000 /* spin cycles for multiprocessor */ static unsigned spin_max = low_spin_max; unsigned my_spin_max; static unsigned last_spins = 0; unsigned my_last_spins; volatile unsigned junk; # define PAUSE junk *= junk; junk *= junk; junk *= junk; junk *= junk int i; if (!GC_test_and_set(&GC_allocate_lock)) { return; } junk = 0; my_spin_max = spin_max; my_last_spins = last_spins; for (i = 0; i < my_spin_max; i++) { if (GC_collecting) goto yield; if (i < my_last_spins/2 || GC_allocate_lock) { PAUSE; continue; } if (!GC_test_and_set(&GC_allocate_lock)) { /* * got it! * Spinning worked. Thus we're probably not being scheduled * against the other process with which we were contending. * Thus it makes sense to spin longer the next time. */ last_spins = i; spin_max = high_spin_max; return; } } /* We are probably being scheduled against the other process. Sleep. */ spin_max = low_spin_max; yield: for (i = 0;; ++i) { if (!GC_test_and_set(&GC_allocate_lock)) { return; } # define SLEEP_THRESHOLD 12 /* nanosleep(<= 2ms) just spins under Linux. We */ /* want to be careful to avoid that behavior. */ if (i < SLEEP_THRESHOLD) { sched_yield(); } else { struct timespec ts; if (i > 26) i = 26; /* Don't wait for more than about 60msecs, even */ /* under extreme contention. */ ts.tv_sec = 0; ts.tv_nsec = 1 << i; nanosleep(&ts, 0); } } } # endif /* LINUX_THREADS */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 12: 8:56 1999 Delivered-To: freebsd-java@freebsd.org Received: from kot.ne.mediaone.net (kot.ne.mediaone.net [24.218.15.190]) by hub.freebsd.org (Postfix) with ESMTP id 8ED3D15141; Sat, 25 Sep 1999 12:08:50 -0700 (PDT) (envelope-from mi@aldan.algebra.com) Received: from rtfm.newton (rtfm.newton [10.10.0.1]) by kot.ne.mediaone.net (8.9.3/8.9.1) with ESMTP id PAA07582; Sat, 25 Sep 1999 15:08:35 -0400 (EDT) From: Mikhail Teterin X-Relay-IP: 10.10.0.1 Received: (from mi@localhost) by rtfm.newton (8.9.3/8.9.1) id PAA56608; Sat, 25 Sep 1999 15:08:34 -0400 (EDT) Message-Id: <199909251908.PAA56608@rtfm.newton> Subject: Re: porting libjava to FreeBSD In-Reply-To: <19990925113905.G43275@dragon.nuxi.com> from "David O'Brien" at "Sep 25, 1999 11:39:05 am" To: obrien@FreeBSD.org Date: Sat, 25 Sep 1999 15:08:34 -0400 (EDT) Cc: eischen@vigrid.com, jb@cimlogic.com.au, java@FreeBSD.org, jdp@polstra.com X-Face: %UW#n0|w>ydeGt/b@1-.UFP=K^~-:0f#O:D7w hJ5G_<5143Bb3kOIs9XpX+"V+~$adGP:J|SLieM31VIhqXeLBli" I'm trying to make a port of libjava (to give some meaning to the => currently useless gcj installed by the egcs port on -stable, for => example). It also seems to provide A LOT faster java compiler... = =I'm quite interested in this. However, would you be willing to base =your work on the either the FreeBSD gcc-devel port, or on the GCC ="head" branch snapshot? You mean, as opposite to the egcs port? Or as opposite to being a standalone port? According to libjava people, they do not see the libjava itself integrated into the GNU Compiler Suite anytime soon -- for political reasons. So, may be, it should be standalone. like libstdc++ port? =I am pretty sure major additions like this would not be accepted by =Cygnus/GCC in the 2.95.x branch. And I don't look forward to trying to =port such stuff to the newer GCC code base, which is where the future =is. Well, how far in the future is this future? => Any suggestions on what should be used on FreeBSD instead? Or, => perhaps, this is not going to work and a new freebsd_threads.c needs => to be written for libjava? Thanks, = =There have been some thread configuration changes in the GCC =development branch. I should have an updated ``gcc-devel'' port working =and committed within the week. Is not the 2.95.1 more stable for normal usage? Java is, typicly, of interest for application programmers, so the tool's stability is the #1 prioriry... FreeBSD is (currently) NOT a primary platform for most. AND, this is what the current libjava release 2.95.1 is based on. Yours, -mi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 14:47:21 1999 Delivered-To: freebsd-java@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 34E421503C; Sat, 25 Sep 1999 14:47:16 -0700 (PDT) (envelope-from eischen@vigrid.com) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.8.7/PCNet) id RAA26272; Sat, 25 Sep 1999 17:46:04 -0400 (EDT) Date: Sat, 25 Sep 1999 17:46:04 -0400 (EDT) From: Daniel Eischen Message-Id: <199909252146.RAA26272@pcnet1.pcnet.com> To: eischen@vigrid.com, mi@aldan.algebra.com Subject: Re: porting libjava to FreeBSD Cc: java@FreeBSD.org, jb@cimlogic.com.au, jdp@polstra.com, obrien@FreeBSD.org Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Mikhail Teterin wrote: > Daniel Eischen once stated: > > =John Polstra wrote: > => Ick. > = > =Ick indeed. > > This "icks" may offend the libjava people :) I removed them from the CC: Since FreeBSD threads run in one process, using a signal to suspend a thread _is_ icky :-) > => I think it would be better to suspend threads using > => pthread_suspend_np(). > = > =Yep. > > So, should I just patch it up, or would there be a need for > freebsd_threads.c anyway? Can one of the "thread people", please, send a > (even if untested) patch? The linux_threads.c is included for your > convenience. Yours, I would make a freebsd_threads.c and use other models as examples. Remember that FreeBSD threads are user threads, and some of the things the Linux thread support does, we don't have to. I don't know that Linux threads is a good model to use because of this. Dan Eischen eischen@vigrid.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 16: 6:33 1999 Delivered-To: freebsd-java@freebsd.org Received: from kot.ne.mediaone.net (kot.ne.mediaone.net [24.218.15.190]) by hub.freebsd.org (Postfix) with ESMTP id 500EF1532D; Sat, 25 Sep 1999 16:06:15 -0700 (PDT) (envelope-from mi@aldan.algebra.com) Received: from rtfm.newton (rtfm.newton [10.10.0.1]) by kot.ne.mediaone.net (8.9.3/8.9.1) with ESMTP id TAA08490; Sat, 25 Sep 1999 19:05:47 -0400 (EDT) From: Mikhail Teterin X-Relay-IP: 10.10.0.1 Received: (from mi@localhost) by rtfm.newton (8.9.3/8.9.1) id TAA81921; Sat, 25 Sep 1999 19:05:46 -0400 (EDT) Message-Id: <199909252305.TAA81921@rtfm.newton> Subject: Re: porting libjava to FreeBSD In-Reply-To: <199909252146.RAA26272@pcnet1.pcnet.com> from Daniel Eischen at "Sep 25, 1999 05:46:04 pm" To: Daniel Eischen Date: Sat, 25 Sep 1999 19:05:46 -0400 (EDT) Cc: java@FreeBSD.org, jb@cimlogic.com.au, jdp@polstra.com, obrien@FreeBSD.org X-Face: %UW#n0|w>ydeGt/b@1-.UFP=K^~-:0f#O:D7w hJ5G_<5143Bb3kOIs9XpX+"V+~$adGP:J|SLieM31VIhqXeLBli" => Ick. => = => =Ick indeed. => => This "icks" may offend the libjava people :) I removed them from the CC: = =Since FreeBSD threads run in one process, using a signal to suspend a =thread _is_ icky :-) Well, for one, this is a FreeBSD's limitation, not advantage, IMO. And secondly, libjava folks obviously don't know that... BTW, any plans on kernel-threading? So that two threads do run on two CPUs, if available?.. => => I think it would be better to suspend threads using => => pthread_suspend_np(). => = => =Yep. => => So, should I just patch it up, or would there be a need for => freebsd_threads.c anyway? Can one of the "thread people", please, => send a (even if untested) patch? The linux_threads.c is included for => your convenience. Yours, = =I would make a freebsd_threads.c and use other models as examples. =Remember that FreeBSD threads are user threads, and some of the things =the Linux thread support does, we don't have to. I don't know that =Linux threads is a good model to use because of this. Can one of the gurus, please, step out and make it then? Thank you... Yours, -mi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message From owner-freebsd-java Sat Sep 25 19:20:21 1999 Delivered-To: freebsd-java@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 573B614C2B; Sat, 25 Sep 1999 19:20:15 -0700 (PDT) (envelope-from eischen@vigrid.com) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.8.7/PCNet) id WAA22154; Sat, 25 Sep 1999 22:19:07 -0400 (EDT) Date: Sat, 25 Sep 1999 22:19:07 -0400 (EDT) From: Daniel Eischen Message-Id: <199909260219.WAA22154@pcnet1.pcnet.com> To: eischen@vigrid.com, mi@aldan.algebra.com Subject: Re: porting libjava to FreeBSD Cc: java@FreeBSD.org, jb@cimlogic.com.au, jdp@polstra.com, obrien@FreeBSD.org Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Mikhail Teterin wrote: > Well, for one, this is a FreeBSD's limitation, not advantage, IMO. And > secondly, libjava folks obviously don't know that... BTW, any plans > on kernel-threading? So that two threads do run on two CPUs, if > available?.. It's being worked on, but don't count on anything soon. > =I would make a freebsd_threads.c and use other models as examples. > =Remember that FreeBSD threads are user threads, and some of the things > =the Linux thread support does, we don't have to. I don't know that > =Linux threads is a good model to use because of this. > > Can one of the gurus, please, step out and make it then? Thank you... I don't know about anyone else, but I don't have the time. I can answer questions, though. Dan Eischen eischen@vigrid.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message