This is the mail archive of the
java-prs@sourceware.cygnus.com
mailing list for the Java project.
libgcj/93: GC causes core dump in gcj-compiled programs
- To: java-gnats at sourceware dot cygnus dot com
- Subject: libgcj/93: GC causes core dump in gcj-compiled programs
- From: jsturm at sigma6 dot com
- Date: 5 Nov 1999 22:02:40 -0000
- Reply-To: jsturm at sigma6 dot com
- Resent-Cc: java-prs at sourceware dot cygnus dot com, green at cygnus dot com
- Resent-Reply-To: java-gnats@sourceware.cygnus.com, jsturm@sigma6.com
>Number: 93
>Category: libgcj
>Synopsis: GC causes core dump in gcj-compiled programs
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: tromey
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Nov 05 14:16:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator: Jeff Sturm
>Release: current cvs
>Organization:
>Environment:
linux
>Description:
Programs compiled with current libgcj dump core sometime
after garbage collection. The program:
public class HeapTest {
public static void main(String[] args) {
java.util.Random generator = new java.util.Random();
Runtime runtime = Runtime.getRuntime();
System.out.println("free memory = " + runtime.freeMemory());
System.out.println("total memory = " + runtime.totalMemory());
for (int n = 0; n < 10000; n++) {
byte[] junk = new byte[(generator.nextInt() & 0x7fffffff) % 512];
}
runtime.gc();
System.out.println("free memory = " + runtime.freeMemory());
System.out.println("total memory = " + runtime.totalMemory());
}
}
fails in the final println():
(gdb) run
Starting program: /home/jsturm/tmp/heaptest
free memory = 8192
total memory = 131072
Program received signal SIGSEGV, Segmentation fault.
0x400a74f0 in java::io::PrintStream::writeChars (this=@8061d80, str=@8064f18,
offset=0, count=21)
at ../../../libgcj-current/libjava/java/io/PrintStream.java:123
123 if (out.count + count >= out.buf.length)
>How-To-Repeat:
Run the above program.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: