Problems merging DNS JNDI code

Pete Chown Pete.Chown@skygate.co.uk
Tue Feb 19 11:01:00 GMT 2002


Hi,

I checked out the head branch of gcc so I could have a shot at merging
the DNS JNDI provider.  However it seems to be behaving oddly.  I
eventually narrowed things down to this test case:

-------------------------------------------------------------------------------
package biz.skygate.test;

public class Doofus {

    public static void main(String args[])
    {
	try {
	    throw new Exception();
	} catch(Exception e) {
	    e.printStackTrace();
	}
    }

}
-------------------------------------------------------------------------------

I build this as follows:

% PATH=/home/nobackup/gcc-cvs/install/bin:$PATH gcj -g --main=biz.skygate.test.Doofus biz/skygate/test/Doofus.java -o testdns

(I used the --prefix argument to configure to put the CVS gcc in a
special directory.  I add this prefix to the path at the start of the
command.)

I now run this command like this:

% LD_LIBRARY_PATH=/home/nobackup/gcc-cvs/install/lib ./testdns

I get a stack trace but it doesn't seem to have been decoded properly,
and it has some extra error messages:

-------------------------------------------------------------------------------
BFD: Dwarf Error: Invalid or unhandled FORM value: 14.
BFD: Dwarf Error: Could not find abbrev number 108.
BFD: Dwarf Error: Invalid or unhandled FORM value: 14.
BFD: Dwarf Error: Could not find abbrev number 108.
java.lang.Exception
   at 0x4024bdd1: _ZN4java4lang9ThrowableC1Ev (/home/nobackup/gcc-cvs/install/lib/libgcj.so.2)
   at 0x4024024f: _ZN4java4lang9ExceptionC1Ev (/home/nobackup/gcc-cvs/install/lib/libgcj.so.2)
   at 0x08048bcc: ?? (/usr/src/build/53700-i386/BUILD/glibc-2.2.4/csu/init.c:0)
   at 0x40227588: _ZN3gnu3gcj7runtime11FirstThread9call_mainEv (/home/nobackup/gcc-cvs/install/lib/libgcj.so.2)
   at 0x402aa948: _ZN3gnu3gcj7runtime11FirstThread3runEv (/home/nobackup/gcc-cvs/install/lib/libgcj.so.2)
   at 0x4023307c: _Z13_Jv_ThreadRunPN4java4lang6ThreadE (/home/nobackup/gcc-cvs/install/lib/libgcj.so.2)
   at 0x4020f9c4: _Z11_Jv_RunMainPN4java4lang5ClassEPKciPS4_b (/home/nobackup/gcc-cvs/install/lib/libgcj.so.2)
   at 0x4020faed: JvRunMain (/home/nobackup/gcc-cvs/install/lib/libgcj.so.2)
   at 0x08048b94: main (/tmp/ccE1eCRK.i:12)
   at 0x4064c627: __libc_start_main (/lib/i686/libc.so.6)
   at 0x08048a71: _start (??:0)
-------------------------------------------------------------------------------

If I run it under gdb, I get a SIGPIPE during the printStackTrace:

-------------------------------------------------------------------------------
% LD_LIBRARY_PATH=/home/nobackup/gcc-cvs/install/lib gdb ./testdns
GNU gdb Red Hat Linux (5.1-1)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run
Starting program: /home/pc/spamdecoy/src/./testdns 
BFD: Dwarf Error: Invalid or unhandled FORM value: 14.
BFD: Dwarf Error: Could not find abbrev number 108.

Program received signal SIGPIPE, Broken pipe.
0x407109a4 in __libc_write () from /lib/i686/libc.so.6
(gdb)
-------------------------------------------------------------------------------

Am I doing something obvious wrong here?  When I try to merge my DNS
code, I get an exception somewhere, but it is difficult to see exactly
what is going on because of this extra stuff.

Incidentally I have made a snapshot of the DNS code available at:

ftp://ftp.skygate.co.uk/pub/jndi-dns/

If you would like to have a look, feel free, and let me know any
comments.

-- 
Pete



More information about the Java mailing list