This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcj and UDP datagrams under freebsd


 
Folks-

I wonder if anyone else has had a problem using UDP datagrams under
freebsd.  I slurped the latest gcc stuff from CVS a couple of days
ago.  I have two small programs that are attached below.  They
compile using:

    gcj -o snd --main=snd snd.java -pthread
    gcj -o rcv --main=rcv rcv.java -pthread

just fine.

I run rcv -- which just sits there.  But, when I run snd I get this:

% ./snd guns
assertion "!(addr & FLAGS)" failed: file "/home/mallman/GCC/libjava/java/lang/natObject.cc", line 772
Bus error (core dumped) 

This is on a freebsd 4.4 machine.

I tried to same thing on my redhat 6.2 laptop (same version of gcc
that I grabbed from CVS a couple days ago) and it all worked as I
had envisioned.  (The difference is the I don't have to use
"-pthread" when compiling on the linux box.)

Anyone have a guess about what is going on?  Any help would be
appreciated.

Thanks!

allman


--
Mark Allman -- BBN/NASA GRC -- http://roland.grc.nasa.gov/~mallman/


=============================================================================

import java.net.*;
import java.io.*;

class rcv
{
    public static void main (String [] args) throws SocketException, 
	IOException
    {
	DatagramSocket sock = new DatagramSocket (1234);
	byte[] buffer = new byte[256];
	DatagramPacket rpacket = new DatagramPacket (buffer,buffer.length);
	DatagramPacket spacket;
	String rcvd;
	String msg;

	sock.receive (rpacket);
	rcvd = new String (rpacket.getData());
	System.out.println ("RCVD: " + rcvd);
	msg = new String ("from receiver");
	buffer = msg.getBytes ();
	spacket = new DatagramPacket (buffer, buffer.length, 
				      rpacket.getAddress (), 
				      rpacket.getPort ());
	sock.send (spacket);
    }
}

=============================================================================

import java.net.*;
import java.io.*;

class snd
{
    public static void main (String [] args) throws SocketException, 
	IOException
    {
	DatagramSocket sock = new DatagramSocket ();
	byte[] buffer = new byte[256];
	String msg;
	DatagramPacket spacket;
	DatagramPacket rpacket;
	InetAddress address;
	String rcvd;

	if (args.length != 1)
	{
	    System.out.println("Usage: snd host");
	    return;
	}
	msg = new String ("from sender");
	buffer = msg.getBytes ();
	address = InetAddress.getByName (args[0]);
	spacket = new DatagramPacket (buffer, buffer.length, address, 1234);
	sock.send (spacket);
	rpacket = new DatagramPacket (buffer, buffer.length);
	sock.receive (rpacket);
	rcvd = new String (rpacket.getData ());
	System.out.println ("RCVD: " + rcvd);
    }
}

=============================================================================


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]