Red Hat Bugzilla – Bug 474256
java-1.6.0-openjdk-plugin and home banking: almost there!
Last modified: 2009-07-30 19:23:52 EDT
Description of problem: Until Fedora 9 I had to use Sun's Java for home banking. As I use x86_64 version. I also had to install firefox.i386. Fedora 10 was quantum leap, since now I can use home banking almost perfectly. My bank is Banco do Brasil and its home banking site is https://www2.bancobrasil.com.br/aapf/login.jsp?aapf.IDH=sim . As you can see the java applet is a virtual keyboard where I type my password. As additional protection they restrict access to specific computers. I think it is MAC address based, as Fedora upgrade or even change the disk does not demand a new enrollment as changing my network card does. After typing my password on virtual keyboard I get access to the home banking web service, but the site alerts it can not identify my computer. I can see my account but my financial transactions are restricted to a lower value (money) than when my computer is correctly identified by the site. The site yield some diagnostic information that may be useful. It follows the original text and a translation to English:
Versão do Java: 1.6.0_0 (Sun Microsystems Inc.)
Sistema Operacional: Linux
Recuperando parâmetros da applet: PASSOU
Criando diretório: PASSOU
Identificando computador: NÃO PASSOU > UnsatisfiedLinkError >a.a(Ljava/lang/String;)Ljava/lang/String;
Java Version: 1.6.0_0 (Sun Microsystems Inc.)
Operational System: Linux
Recovering parameters from applet: OK
Creating directory: OK
Identifying computer: FAILED > UnsatisfiedLinkError >a.a(Ljava/lang/String;)Ljava/lang/String;
If I correctly understood, they get some parameters from applet, create a folder (under /tmp, as I could verify), try to write in this folder and when trying to identify my computer it fails.
Version-Release number of selected component (if applicable):
uname -a: Linux griffyndor 22.214.171.124-117.fc10.x86_64 #1 SMP Tue Nov 18 11:58:53 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
Steps to Reproduce:
2.Access Banco do Brasil's website
3. Type my password on virtual keyboard
I can navigate on home banking site and make several financial transactions but with restricted financial value limit.
I can navigate on home banking site and make all financial transactions with normal limits
Fedora is a great work that grows better each release. I hope this report can help you to help me and others in similar situation.
Can you try it again. This time, start firefox from a terminal as follows:
and then attach the resulting log, and /tmp/java.stderr and /tmp/java.stdout files to the bug?
Please also scan the files before attaching to make sure there is no personal info in the logs. The logs might shows the root cause the error.
Created attachment 326833 [details]
the debug log generated a you requested
Thanks for your answer. The log you have requested is attached as java.log.
Just for your information, I installed a standalone firefox 32bit and Sun's
Java both on /opt folder that I use just for home banking and that's OK, so I
can assure you there is no other serious problem with my setup (firewall,
router, etc). Alternative -- config java remains pointing to defaul (openjdk).
I'm not a java programmer but, reading the logs attached, this part
(java.stderr) seems interesting:
Waiting for data...
Consumer thread 0 woken...
Consumer thread 0 consuming context 0 reference 2 src
om.br CallMethod 1640 33
Breakdown -- type: context identifier: 0 reference: 2 src:
sil.com.br privileges: null rest: "CallMethod 1640 33"
Sending to PASC: 0/2 and CallMethod 1640 33
0 -- https://www2.bancobrasil.com.br -- 2 -- CallMethod 1640 33 CONTEXT=
Calling method public int java.lang.reflect.Field.getModifiers() on object
c static final int java.awt.image.ImageObserver.ERROR with
Calling public int java.lang.reflect.Field.getModifiers() on public static
int java.awt.image.ImageObserver.ERROR with CallMethod 1640 33 and that
ed: 25 of type class java.lang.Integer
Created attachment 326834 [details]
Created attachment 326835 [details]
Created attachment 326837 [details]
I don't know if that's useful but that is a little file that is generated when I use the homebanking.
Hi all! I think I got a clue. I have just installed Sun's Java 64 bit since this last version has a native 64 bit plugin: http://www.java.net/download/jdk6/6u12/promoted/b02/binaries/jre-6u12-ea-bin-b02-linux-amd64-08_dec_2008.bin .
The new plugin is not jre/plugin/i386/ns7/libjavaplugin_oji.so it is jre/lib/amd64/libnpjp2.so. So after make the symbolic link to this last one, firefox runs Sun's java with no problem just as openjdk, except my home banking site. Sun's java return's the same problem I reported earlier about openjdk:
Identifying computer: FAILED > UnsatisfiedLinkError>a.a(Ljava/lang/String;)Ljava/lang/String;
So I think the problem is more related to 64 bit java itself than the java provider (Sun or openjdk). I will try to setup another computer with fedora 10, firefox and openjdk (all 32 bit), test and report back.
Thanks for your attention!
Doh! I suspected that, but I was hoping it wasn't the cause here.
There is a similar issue with WebEX and some other applets. The problem is that some applets rely on a .so file to do part of the work. Since Sun only provided 32-bit plugins until now, the .so is in ELF32 format. And since the IcedTea plugin is native 64-bit, the .so cannot be loaded by the vm, and the applet fails.
Let me know how the 32-bit VM test turns out. If it works fine with 32-bit, then that is almost certainly the issue, and nothing can be done on the VM side.
Openjdk 32-bit runs my home banking applet with no problem. The problem appears only with 64-bit version. What puzzles me is that even Sun's 64 bit plugin presents the same problem! Could that line I reported (UnsatisfiedLinkError>a.a(Ljava/lang/String;)Ljava/lang/String;) be a clue to the .so you have mentioned?
Went through all of the logs again, you're right, it is that unsatisfied link error that is the problem. STDOUT also shows this:
Aviso: UnsatisfiedLinkError ao executar
An UnsatisfiedLinkError implies that Java was unable to find the definition of a native method -- which would be the cause if it tried to load an ELF32 library. Unfortunately, there is no solution to this on the JDK side. The website in question needs to send a 64-bit .so for it to work... I am going to close this as CANTFIX. Feel free to re-open if you encounter another error on 32-bit!
Lets push Banco do Brasil to fix this. Send a message to them. The path to send message is: "Log in" -> "Minhas Mensagens" -> "Solicitação" ->
Solicito que o sistema de cadastramento e identificação de computadores do Banco do Brasil seja atualizado para ser compatível com o sistema operacional Linux na arquitetura 64 bits. Hoje o teclado virtual funciona nesta configuração mas a identificação de computadores não. Veja: https://bugzilla.redhat.com/show_bug.cgi?id=474256. Este bug foi fechado porque não há nada de errado com o navegador, nada de errado com o JRE nem com o Linux. O problema é que não há previsão do aplicativo do Banco do Brasil para ser usado por jre de 64 bits.
-> Fill with your E-mail -> "Enviar"