Bug 35283 - ServerSocket.bind() crashing on a gumstix (arm processor)
Summary: ServerSocket.bind() crashing on a gumstix (arm processor)
Status: RESOLVED FIXED
Alias: None
Product: classpath
Classification: Unclassified
Component: classpath (show other bugs)
Version: 0.96
: P3 major
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-21 21:48 UTC by Peter Abeles
Modified: 2008-02-22 15:26 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Abeles 2008-02-21 21:48:29 UTC
I'm running classpath 0.96 on a gumstix, which uses an arm processor.  The code run just fine on my x86 desktop, but crashes when I run it on the gumstix.  The VM I'm using is jamvm 1.5.0 .

It is crashing inside of gnu_java_net_VMPlainSocketImpl.c in the function Java_gnu_java_net_VMPlainSocketImpl_bind() on this line:
elems = (*env)->GetByteArrayElements (env, addr, NULL);

Below I have pasted the java code which crashes on the gumstix along with parameters passed to classpath and jamvm at compile time.

------------------ BEGIN output from java code ----------------

 jamvm ChecksForJamVM      
ENTER bind test
before bind to a specific port
Illegal instruction

------------------ BEGIN JAVA SOURCE ----------------
public void checkBind() throws IOException
    {
        System.out.println("ENTER bind test");
        ServerSocket socket = new ServerSocket();
       
        System.out.println("before bind to a specific port");
        socket.bind(new InetSocketAddress((InetAddress)null,0xFFF1));
        socket.close();
       
        socket = new ServerSocket();
        System.out.println("before bind to any port");
        socket.bind(null);
        socket.close();
       
        System.out.println("EXIT bind test");
    }
----------------- BEGIN CLASSPATH ./configure ------------------

./configure --prefix=/home/pabeles/gumstix/tmp  --host=arm-angstrom-linux-gnueabi --build=i686-linux --target=arm-angstrom-linux-gnueabi --disable-alsa --disable-dssi --disable-qt4-peer --disable-gconf-peer --disable-gtk-peer --disable-examples --disable-plugin  --with-glibj --with-ecj

----------------- BEGIN jamvm ./configure ---------------------

./configure --prefix=/home/pabeles/gumstix/tmp  --host=arm-angstrom-linux-gnueabi --build=i686-linux --target=arm-angstrom-linux-gnueabi --disable-gtk-peer --disable-gconf-peer --disable-plugin
Comment 1 Peter Abeles 2008-02-22 15:26:58 UTC
Upgrading jamvm fixed the problem.  I thought I was running 1.5 on that board, but infact I was running 1.5.