libgcj failure: Duplicate class registration

Tom Tromey tromey@redhat.com
Wed Mar 17 10:13:00 GMT 2004


>>>>> ">" == hannes wallnoefer <hannes@helma.at> writes:

>> I'm getting the following error message when adding a java class to a
>> dynamically linked Apache module:
>> libgcj failure: Duplicate class registration: GcjTest

With the current gcj, a given compiled class can only be loaded once
by the system class loader.  If you try to link in a class more than
once, you get this failure.

This choice was the result of a lot of discussion a few years ago, see
the list archives for the details.  (I don't have a ready pointer to
the thread, sorry.)

>> #19 0x401576ed in apr_dso_load () from /usr/lib/libapr-0.so.0
>> #20 0x08066c5d in load_module ()

>> Any idea what might be wrong?

Offhand it is hard to say.  I've run into this problem by accidentally
pulling in a second (different) copy of libgcj.so.  I worked around
it by setting the system property
gnu.gcj.runtime.VMClassLoader.library_control to `never'.
This disables the automatic loading of .so files.

It might not be what you want to do, though.  You may want to start
by finding out what class is being loaded twice, and then see where
the second definition comes from.

Tom



More information about the Java mailing list