Shaun Jackman writes:
 > $ gcj -c /usr/share/java/seda.jar
 > seda/sandStorm/internal/AggTPSThreadManager.java: In class
 > 'seda.sandStorm.internal.AggTPSThreadManager$governorThread':
 > seda/sandStorm/internal/AggTPSThreadManager.java: In method
 > 'seda.sandStorm.internal.AggTPSThreadManager$governorThread.run()':
 > seda/sandStorm/internal/AggTPSThreadManager.java:328: internal
 > compiler error: Segmentation fault
 > Please submit a full bug report,
 > with preprocessed source if appropriate.
 > See <URL:http://gcc.gnu.org/bugs.html> for instructions.
 > For Debian GNU/Linux specific bug reporting instructions,
 > see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
 > 
 > The line the compiler mentions is...
 > $ cat -n ./seda/src/seda/sandStorm/internal/ATTIC/AggTPSThreadManager.java
 > ...
 >     25       package seda.sandStorm.internal;
 > ...
 >     44       class AggTPSThreadManager implements ThreadManagerIF, 
 > sandStormConst {
 >     45       
 >     46         private static final boolean DEBUG = true;
 >     47         private static final boolean DEBUG_VERBOSE = false;
 > ...
 >    327           public void run() {
 >    328             if (DEBUG) System.err.println("AggTPSTM Governor: 
 > starting");
 >    329       
 > ...
 > $ gcj --version |head -1
 > gcj (GCC) 4.1.2 20061020 (prerelease) (Debian 4.1.1-17)
 > 
 > The binary and source files in question may be downloaded from a Debian 
 > archive:
 > http://packages.debian.org/testing/libs/libseda-java

Thanks.  This is caused because
seda.sandStorm.internal.AggTPSThreadManager$governorThread is in the
file
seda/sandStorm/internal/ATTIC/AggTPSThreadManager$governorThread.class
(In other words, it's not where gcj expects to find it.)

This is a bug in gcj.  We probably shouldn't even attempt to generate
code when a class is not in the right place in an archive, and exit
with a compiler error.  

zip -d usr/share/java/seda.jar seda/sandStorm/internal/ATTIC/\*

solves the problem.

Andrew.

Reply via email to