java/4230: gcj -C segfaults on static string continuation '+' in gcj 3.1 expermental.

Tony Knaus awk@panic.spinnakernet.com
Tue Sep 4 15:36:00 GMT 2001


>Number:         4230
>Category:       java
>Synopsis:       gcj -C segfaults on static string continuation '+' in gcj 3.1 expermental.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 04 15:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     awk@spinnakernet.com
>Release:        3.1 20010902 (experimental)
>Organization:
Spinnaker Networks Inc.
>Environment:
System: Linux panic 2.2.12-20 #1 Mon Sep 27 10:40:35 EDT 1999 i686 unknown
Architecture: i686

	
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc/configure --prefix=/usr/local/gcc-3.0 --enable-shared --enable-threads=posix --enable-version-specific-runtime-libs --enable-java-awt=xlib --enable-languages=c,c++,java
>Description:

gcj 3.1 generates a segmentation fault while building the xerces parser and
generating byte code. The compiler does not seg fault when compiling
to object code or just generating dependencies.

gcj -M -C --encoding=UTF-8 -CLASSPATH ":build/xerces/src:src/xerces/src:src/cimom:src/regexp/src/java:src/servlet/src:build/tomcat/src:src/tomcat/src:src/remotetea/src:src/j-dom/jdom/src/java:src/enhydra/SchemaMapper/src/java:src/tests:src/tools/formgen:src/tools/kbgen:src/tools/typegen:src/tools/utils:src/tools/logmessage:src/ui:src/providers:src/rpc:build/ui:build/tests" build/xerces/src/org/apache/xerces/utils/regex/Token.java > build/xerces/src/org/apache/xerces/utils/regex/.Token.u
build/xerces/src/org/apache/xerces/utils/regex/Token.java:1: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
cons: *** [build/xerces/src/org/apache/xerces/utils/regex/.Token.u] Error 1
cons: errors constructing build/xerces/src/org/apache/xerces/utils/regex/.Token.u
> 

I have tracked the problem down to the initialization of 
static strings with line continuation '+' characters. Folling is a 
simple example that causes the seg-fault.

public class StringCrash {
    static final String viramaString = 
    "f"
    +"o"
    +"o"
    +"b"
    +"a"
    +"r";

    public static void main(String[] args) {
	System.out.println("viramaString= " + viramaString);
    }
};
	
>How-To-Repeat:

> /usr/local/gcc-3.0/bin/gcj -v -C StringCrash.java
Reading specs from /usr/local/gcc-3.0/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
Configured with: ../gcc/configure --prefix=/usr/local/gcc-3.0 --enable-shared --enable-threads=posix --enable-version-specific-runtime-libs --enable-java-awt=xlib --enable-languages=c,c++,java
Thread model: posix
gcc version 3.1 20010902 (experimental)
 /usr/local/gcc-3.0/lib/gcc-lib/i686-pc-linux-gnu/3.1/jc1 StringCrash.java -quiet -dumpbase StringCrash.java -g1 -version -fsyntax-only -femit-class-files -o /dev/null
GNU Java version 3.1 20010902 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 3.1 20010902 (experimental).
Class path starts here:
    ./
    /usr/local/gcc-3.0/share/libgcj.jar/ (system) (zip)
StringCrash.java:1: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
> /usr/local/gcc-3.0/bin/gcj -v -E -C StringCrash.java
Reading specs from /usr/local/gcc-3.0/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
Configured with: ../gcc/configure --prefix=/usr/local/gcc-3.0 --enable-shared --enable-threads=posix --enable-version-specific-runtime-libs --enable-java-awt=xlib --enable-languages=c,c++,java
Thread model: posix
gcc version 3.1 20010902 (experimental)
> 

Compile the above example with the '-C' option.

>Fix:

workarounds:

- don't compile to byte-code
- or don't use string continuation when compiling to byte code
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list