From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Knaus To: gcc-gnats@gcc.gnu.org Subject: java/4230: gcj -C segfaults on static string continuation '+' in gcj 3.1 expermental. Date: Tue, 04 Sep 2001 15:36:00 -0000 Message-id: <200109042246.SAA09311@panic.spinnakernet.com> X-SW-Source: 2001-09/msg00094.html List-Id: >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 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 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: