Blackdown-Linux developers- I'm having trouble figuring out which layer of code (JDK, Linux, XFree86, etc) is responsible for some anomalous behavior. I'm having trouble with java.awt.TextFields (and TextAreas) that don't capture a less-than character typed in by the user (it appears as a greater-than character). AWT KeyEvents do, however, see the less-than character properly. Test code and ldconfig -D output are attached. I've scoured Jitterbug and the mail list archives and not found any help. I'm not seeing the symptoms which are supposedly fixed by LD_PRELOAD=libBrokenLocale.so, but I have tried this, and I just get a seg fault. I would have filed a new bug but I'm still not sure this is actually a jdk bug. Any help you could provide would be greatly appreciated. Thanks. -Dan [EMAIL PROTECTED] jdk: 1.1.6v5 (also reproduces on 1.1.7v1a) arch: libc5-x86 linux: slack 3.5.0
ldconfig: version 1.9.9 /usr/local/lib: libxbase.so.1 => libxbase.so.1.0.7 libcscore.so => libcscore.so.3.49.0d libcsound.so => libcsound.so.3.49.0d libtya.so => libtya.so libpng.so.1 => libpng.so.1.0.89c libjpeg.so.6a => libjpeg.so.6a.0.0 libz.so.1.0.4 => libz.so.1.0.4 libgtk.so.1 => libgtk.so.1.0.0 libgdk.so.1 => libgdk.so.1.0.0 libglib.so.1 => libglib.so.1.0.0 /usr/X11R6/lib: libgtk.so.1 => libgtk.so.1.0.2 libglib.so.1 => libglib.so.1.0.2 libgdk.so.1 => libgdk.so.1.0.2 libgimpui.so.1 => libgimpui.so.1.0.0 libgimp.so.1 => libgimp.so.1.0.0 libgck.so.1 => libgck.so.1.0.0 libXpm.so.4 => libXpm.so.4.11 libXaw3d.so.6 => libXaw3d.so.6.1 libXtst.so.6 => libXtst.so.6.1 libXt.so.6 => libXt.so.6.0 libXp.so.6 => libXp.so.6.2 libXmu.so.6 => libXmu.so.6.0 libXi.so.6 => libXi.so.6.0 libXext.so.6 => libXext.so.6.3 libXaw.so.6 => libXaw.so.6.1 libXIE.so.6 => libXIE.so.6.0 libX11.so.6 => libX11.so.6.1 libSM.so.6 => libSM.so.6.0 libPEX5.so.6 => libPEX5.so.6.0 libICE.so.6 => libICE.so.6.3 libXm.so.1 => libXm.so.1.2.0 libMrm.so.1 => libMrm.so.1.2.0 /usr/ix86-linux/lib: /usr/ix86-linuxaout/lib: libPEX5.so.6 => libPEX5.so.6.0 libXpm.so.4 => libXpm.so.4.3 libXt.so.6 => libXt.so.6.0 libXaw.so.6 => libXaw.so.6.0 libXIE.so.6 => libXIE.so.6.0 libX11.so.6 => libX11.so.6.0 libXt.so.3 => libXt.so.3.1.0 libXaw.so.3 => libXaw.so.3.1.0 libX11.so.3 => libX11.so.3.1.0 libdb.so.1 => libdb.so.1.85.1 libvga.so.1 => libvga.so.1.2.9 /usr/openwin/lib: libxview.so.3 => libxview.so.3.2.2 libolgx.so.3 => libolgx.so.3.2.2 libsspkg.so.1 => libsspkg.so.1.0.0 /usr/i586-pc-linux-gnulibc2/lib: ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libc-2.0.7.so has inconsistent soname (libc.so.6) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libdb-2.0.7.so has inconsistent soname (libdb.so.2) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libm-2.0.7.so has inconsistent soname (libm.so.6) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libBrokenLocale-2.0.7.so has inconsistent soname (libBrokenLocale.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libutil-2.0.7.so has inconsistent soname (libutil.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libcrypt-2.0.7.so has inconsistent soname (libcrypt.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libnss_files-2.0.7.so has inconsistent soname (libnss_files.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libnss_db-2.0.7.so has inconsistent soname (libnss_db.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libresolv-2.0.7.so has inconsistent soname (libresolv.so.2) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libnss_dns-2.0.7.so has inconsistent soname (libnss_dns.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libnss_nis-2.0.7.so has inconsistent soname (libnss_nis.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libnsl-2.0.7.so has inconsistent soname (libnsl.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libnss_compat-2.0.7.so has inconsistent soname (libnss_compat.so.1) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libpthread-0.7.so has inconsistent soname (libpthread.so.0) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/libdl-2.0.7.so has inconsistent soname (libdl.so.2) ldconfig: warning: /usr/i586-pc-linux-gnulibc2/lib/ld-2.0.7.so has inconsistent soname (ld-linux.so.2) ld-linux.so.2 => ld-2.0.7.so libdl.so.2 => libdl-2.0.7.so libpthread.so.0 => libpthread-0.7.so libnss_compat.so.1 => libnss_compat-2.0.7.so libnsl.so.1 => libnsl-2.0.7.so libnss_nis.so.1 => libnss_nis-2.0.7.so libnss_dns.so.1 => libnss_dns-2.0.7.so libresolv.so.2 => libresolv-2.0.7.so libnss_db.so.1 => libnss_db-2.0.7.so libnss_files.so.1 => libnss_files-2.0.7.so libcrypt.so.1 => libcrypt-2.0.7.so libutil.so.1 => libutil-2.0.7.so libBrokenLocale.so.1 => libBrokenLocale-2.0.7.so libm.so.6 => libm-2.0.7.so libdb.so.2 => libdb-2.0.7.so libc.so.6 => libc-2.0.7.so /usr/lib: ldconfig: warning: /usr/lib/libform.so.1.9.9g has inconsistent soname (libform.so.3.4) ldconfig: warning: /usr/lib/libmenu.so.1.9.9g has inconsistent soname (libmenu.so.3.4) ldconfig: warning: /usr/lib/libpanel.so.1.9.9g has inconsistent soname (libpanel.so.3.4) libtiff.so.3 => libtiff.so.3.4.33 libpng.so.1 => libpng.so.1.0.89 libjpeg.so.6 => libjpeg.so.6.0.1 libtk8.0.so => libtk8.0.so libtkx8.0.2.so => libtkx8.0.2.so libtclx8.0.2.so => libtclx8.0.2.so libtiff.so.1 => libtiff.so.1.3 librle.so.1 => librle.so.1.3 libppm.so.1 => libppm.so.1.3 libpnm.so.1 => libpnm.so.1.3 libpgm.so.1 => libpgm.so.1.3 libpbm.so.1 => libpbm.so.1.3 libjpeg.so.1 => libjpeg.so.1.3 libfbm.so.1 => libfbm.so.1.3 libtcl8.0.so => libtcl8.0.so libpanel.so.3.4 => libpanel.so.1.9.9g libmenu.so.3.4 => libmenu.so.1.9.9g libform.so.3.4 => libform.so.1.9.9g libbfd-2.8.1.0.23.so.0 => libbfd-2.8.1.0.23.so.0.0.0 libopcodes-2.8.1.0.23.so.0 => libopcodes-2.8.1.0.23.so.0.0.0 libgpm.so.1 => libgpm.so.1.13 libdb.so.1 => libdb.so.1.85.4 libstdc++.so.2.8 => libstdc++.so.2.8.0 /lib: ldconfig: warning: /lib/libncurses.so.1.9.9g has inconsistent soname (libncurses.so.3.4) libvgagl.so.1 => libvgagl.so.1.2.13 libvga.so.1 => libvga.so.1.2.13 ld-linux.so.1.8.2 => ld-linux.so.1.8.2 libdl.so.1 => libdl.so.1.9.9 ld-linux.so.1 => ld-linux.so.1.9.9 libncurses.so.3.4 => libncurses.so.1.9.9g libncp.so.1 => libncp.so.1.0 libtermcap.so.2 => libtermcap.so.2.0.8 libm.so.5 => libm.so.5.0.9 libgdbm.so.1 => libgdbm.so.1.7.3 libcurses.so.1 => libcurses.so.1.0.0 libc.so.5 => libc.so.5.4.44 libe2p.so.2 => libe2p.so.2.3 libext2fs.so.2 => libext2fs.so.2.3 libss.so.2 => libss.so.2.0 libuuid.so.1 => libuuid.so.1.1 libcom_err.so.2 => libcom_err.so.2.0 libc.so.4 => libc.so.4.7.6 libm.so.4 => libm.so.4.6.27 libcurses.so.0 => libcurses.so.0.1.2
/** $Id: LessThanSign.java,v 1.2 1998/12/23 04:10:51 dll Exp $ * Copyright (c) 1998 interLocutor, LLC. All rights reserved. */ /** * $Log: LessThanSign.java,v $ * Revision 1.2 1998/12/23 04:10:51 dll * minor fixups * * Revision 1.1 1998/12/23 01:44:12 dll * Initial revision * */ package bugs; import java.awt.*; import java.awt.event.*; /** * This test tickles a bug seen with Blackdown-Linux jdk 1.1.6v5 and 1.1.7v1a * on Slackware 3.5.0 Linux (kernel 2.0.34, XFree86 Version 3.3.2.3). * <p> * Run this app and type a Less Than character into the editable TextField. * The echo field reveals that a Greater Than character is in the * TextField.getText() buffer, despite the fact that the KeyEvent actually * caught the correct character. * <p> * I.e., the uneditable echo TextField contains: * <pre> * Try typing a < in here: > * </pre> * And the reporting TextArea contains: * <pre> * keyPressed: Shift CHAR_UNDEFINED (0xffffffff) * keyPressed: Shift , '<' (0xffffffff) * keyTyped: Unknown keyCode: 0x0 '<' (0xffffffff) * keyReleased: Shift , '<' (0xffffffff) * keyReleased: Shift Shift CHAR_UNDEFINED (0xffffffff) * </pre> * <p> * Both TextField and TextArea components exhibit this behavior. Changing the * Font of the text component doesn't affect the bug. * <p> * Not sure if this a jdk, X11, Linux, or even a user environment bug. */ public class LessThanSign extends Frame implements KeyListener { public static void main(String[] args) { LessThanSign lts = new LessThanSign(); lts.setVisible(true); } public LessThanSign() { super("bugs.LessThanSign Test"); setSize(600,300); setLayout(new FlowLayout()); add(new Label("You Type:")); _typingArea = new TextField("Try typing a < in here: "); _typingArea.setEditable(true); _typingArea.addKeyListener(this); add(_typingArea); add(new Label("I Echo:")); _echoArea = new TextField(); _echoArea.setEditable(false); add(_echoArea); _reportingArea = new TextArea(); _reportingArea.setEditable(false); add(_reportingArea); echo(); } public void keyTyped(KeyEvent e) { report("keyTyped", e); echo(); } public void keyPressed(KeyEvent e) { report("keyPressed", e); } public void keyReleased(KeyEvent e) { report("keyReleased", e); } private void report(String msg, KeyEvent e) { char kc = e.getKeyChar(); report (msg + ": " + e.getKeyModifiersText(e.getModifiers()) + " " + e.getKeyText(e.getKeyCode()) + " " + (kc == e.CHAR_UNDEFINED ? "CHAR_UNDEFINED" : ("'" + kc + "'")) + " (0x" + Integer.toHexString(Character.getNumericValue(kc)) + ")"); } private void report(String msg) { _reportingArea.append(msg + "\n"); } private void echo() { _echoArea.setText(_typingArea.getText()); } private TextField _typingArea; private TextField _echoArea; private TextArea _reportingArea; }