This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC 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]

java/6071: GCJ does not compile a large (21417 lines) java source file



>Number:         6071
>Category:       java
>Synopsis:       GCJ does not compile a large (21417 lines) java source file
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 27 09:36:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Saurin Shroff
>Release:        unknown-1.0
>Organization:
>Environment:
Sun/Solaris 2.7
GCJ 3.0.1
>Description:
I have a rather large .java file (21417 lines, 950 static methods) that
does not compile with gcj. I let gcj run for about 60 minutes, and it
still could not generate the class file. I killed the process after
60 minutes of cpu time. Sun "javac" compiles this file in 90 seconds.

Due to proprietary reason, I cannot supply the java file, but is there anything
else I can do to help you debug the problem? Here is the command line and the output:

I used "proctool" to view the stack trace of the process at various
intervals; here the stack trace that I saw at all times after initial 1 minute:

 00050640 generate_bytecode_insns (35be30, 86bbf28, ffbeed18, 86b27f8, 1, 86bbd60) + 202c
 0005040c generate_bytecode_insns (4719968, 2, ffbeed18, 2d9440, 86bbd28, ffffffff) + 1df8
 000504e8 generate_bytecode_insns (35fb20, 2, ffbeed18, 86bbeb8, 86bbd68, ffffffff) + 1ed4
 0004e6dc generate_bytecode_insns (35f7c0, 2, ffbeed18, 2d9440, 4b, 86bbd20) + c8
 0005040c generate_bytecode_insns (35bd70, 2, ffbeed18, 86bbeb8, 86bbcf8, ffffffff) + 1df8
 0004eb44 generate_bytecode_insns (35bd88, 2, ffbeed18, 1, c97450, 86b2878) + 530
 0004eb34 generate_bytecode_insns (35bda0, 2, ffbeed18, 86bbeb8, 86bbce0, ffffffff) + 520
 000503c0 generate_bytecode_insns (35bdb8, 2, ffbeed18, 2d9440, 86bbeb8, ffffffff) + 1dac
 0005040c generate_bytecode_insns (35bd40, 2, ffbeed18, 86bbeb8, 86bbc88, ffffffff) + 1df8
 0004e6a4 generate_bytecode_insns (35f6c0, 2, ffbeed18, 2d9440, 86bbc70, ffffffff) + 90
 00050130 generate_bytecode_insns (35f6c0, 2, ffbeed18, bf5840, ffbeed3c, 86b2878) + 1b1c
 0004e6a4 generate_bytecode_insns (35f660, 2, ffbeed18, 86b27f8, 32eaa0, 0) + 90
 00051c1c generate_classfile (0, ffbeed18, 2e2fd8, ffff, ffbeed3c, 27b000) + 440
 00052cf0 write_classfile (2e2fd8, 2de4c0, 28f3b48, 1, 0, c8) + 54
 000238e0 java_expand_classes (27b000, 2f9f87, 3000080, ff23d4bc, 0, ff2359c8) + 1d8
 0004a3e0 yyparse  (25c000, 46bc8, 7fffffff, 27b400, 255c00, 504b0304) + 480
 00056b00 compile_file (2f9f87, 255c00, 256000, ffffffff, 256000, 2d) + 2ec
 0005a72c main     (c, ffbeefe4, 255c00, 25b08c, 0, 0) + 5bc
 00011450 _start   (0, 0, 0, 0, 0, 0) + 5c

It seems that gcj is stuck in infinite loop in "generate_bytecode_insns" routine.

gcj -v -C --encoding=UTF-8 -CLASSPATH /home/shroff/projects/gcj file.java
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.1/specs
Configured with: ../configure --with-as=/usr/local/bin/as --with-ld=/usr/local/bin/ld --enable-libgcj
Thread model: posix
gcc version 3.0.1
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.1/jc1 file.java -quiet -dumpbase file.java -g1 -version -fencoding=UTF-8 -fencoding=UTF-8 -fCLASSPATH=/home/shroff/projects/gcj -fsyntax-only -femit-class-files -o /dev/null
GNU Java version 3.0.1 (sparc-sun-solaris2.8)
        compiled by GNU C version 3.0.1.

>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


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