This is the mail archive of the
java-prs@sourceware.cygnus.com
mailing list for the Java project.
libgcj/101: Thread problems on SPARC/Solaris 2.7
- To: java-gnats at sourceware dot cygnus dot com
- Subject: libgcj/101: Thread problems on SPARC/Solaris 2.7
- From: joerg dot brunsmann at fernuni-hagen dot de
- Date: 13 Nov 1999 14:50:03 -0000
- Reply-To: joerg dot brunsmann at fernuni-hagen dot de
- Resent-Cc: java-prs at sourceware dot cygnus dot com, green at cygnus dot com
- Resent-Reply-To: java-gnats@sourceware.cygnus.com, joerg.brunsmann@fernuni-hagen.de
>Number: 101
>Category: libgcj
>Synopsis: Thread problems on SPARC/Solaris 2.7
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: tromey
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Nov 13 07:00:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator: joerg.brunsmann@fernuni-hagen.de
>Release: egcs-19991102, libgcj-snapshot-1999-11-12
>Organization:
>Environment:
SPARC Soloris 2.7
>Description:
1. Multithreaded program dumps core
2. wait/notify doesn't work
>How-To-Repeat:
configure --enable-threads=posix --enable-java-gc=bo
ehm --with-as=/gnu/bin/as --with-ld=/gnu/bin/ld
Core dump problem:
1. Download:
http://www.informatik.fernuni-hagen.de/import/pi3/joerg/gcjthreads.tar.gz
2. make
3. WebServer 4444
4. In a web browser load http://localhost:4444
5. Reload the page 11 (sic!) times -> core dump (this is
reproducable)
Wait/notify problem:
1. Edit WebServer.java and set workers to 5
2. start WebServer 4444
3. Reload http://localhost:4444 five times
4. Reload again -> you get a response which means that
wait/notify doesn't work
If you start the WebServer with a java vm the code works.
Also I needed to do a flush() on the printstream to get a
result back to the web client which is not needed when
this program is used with a java vm. To see where these
flush() are needed edit the Worker.java file and search
for "libgcj". I can't say if this is a bug.
Also: if you uncomment the line
public static final int HTTP_BAD_METHOD = 405;
in Worker.java you get:
gcj -c -o Worker.o Worker.java
Worker.java:133: Undefined variable `HTTP_BAD_METHOD'.
ps.print("HTTP/1.0 " + HTTP_BAD_METHOD +
^
which is correct, but the gcj does not return to the
command shell which is a bug.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: