Bug #444
closedOpenecard client crashes with OpenJDK JRE 7.0_101
0%
Description
Running the latest openecard client from the .jnlp on Debian, I try to register with the HamburgService (https://gateway.hamburg.de). I get the chance to see what data is being accessed, I get asked to enter my PIN. I enter the PIN once, my RainerSCT Cyberjack shows "Eingeschränkte Wiedererkennung" and I get to enter the PIN again. WHen I do, the card reader says "Creating tunnel" and "opened tunnel" (or similar), and then the "javaws openecard.jnlp" process crashes with the following message:
@Main class defined in config file.
mainclass=org.openecard.richclient.RichClient
at javax.swing.GroupLayout.checkComponents(GroupLayout.java:1086)
at javax.swing.GroupLayout.prepare(GroupLayout.java:1040)
at javax.swing.GroupLayout.layoutContainer(GroupLayout.java:910)
at java.awt.Container.layout(Container.java:1503)
at java.awt.Container.doLayout(Container.java:1492)
at java.awt.Container.validateTree(Container.java:1688)
at java.awt.Container.validateTree(Container.java:1697)
at java.awt.Container.validateTree(Container.java:1697)
at java.awt.Container.validateTree(Container.java:1697)
at java.awt.Container.validate(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:2717)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:720)
at java.awt.EventQueue$4.run(EventQueue.java:718)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-1" java.lang.IllegalStateException: javax.swing.JPanel[,0,0,0x0,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@6006651d,flags=9,maximumSize=,minimumSize=,preferredSize=] is not attached to a horizontal group
at javax.swing.GroupLayout.checkComponents(GroupLayout.java:1086)
at javax.swing.GroupLayout.prepare(GroupLayout.java:1040)
at javax.swing.GroupLayout.layoutContainer(GroupLayout.java:910)
at java.awt.Container.layout(Container.java:1503)
at java.awt.Container.doLayout(Container.java:1492)
at java.awt.Container.validateTree(Container.java:1688)
at java.awt.Container.validateTree(Container.java:1697)
at java.awt.Container.validateTree(Container.java:1697)
at java.awt.Container.validate(Container.java:1623)
at javax.swing.RepaintManager$2.run(RepaintManager.java:691)
at javax.swing.RepaintManager$2.run(RepaintManager.java:689)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:688)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1676)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) #
- A fatal error has been detected by the Java Runtime Environment: #
- SIGSEGV (0xb) at pc=0x00007f1a9652b513, pid=29154, tid=139750602372864 #
- JRE version: OpenJDK Runtime Environment (7.0_101) (build 1.7.0_101-b00)
- Java VM: OpenJDK 64-Bit Server VM (24.95-b01 mixed mode linux-amd64 compressed oops)
- Derivative: IcedTea 2.6.6
- Distribution: Debian GNU/Linux 8.4 (jessie), package 7u101-2.6.6-2~deb8u1
- Problematic frame:
- C [libpthread.so.0+0xb513] __pthread_mutex_unlock_usercnt+0x3 #
- Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again #
- An error report file with more information is saved as:
- /home/spaetz/Downloads/hs_err_pid29154.log #
- If you would like to submit a bug report, please include
- instructions on how to reproduce the bug and visit:
- http://icedtea.classpath.org/bugzilla
- The crash happened outside the Java Virtual Machine in native code.
- See problematic frame for where to report the bug.
#@
Files
Updated by Sebastian Späth almost 8 years ago
- File hs_err_pid29681.log hs_err_pid29681.log added
Attached the created .log file
Updated by Tobias Wich almost 8 years ago
- File itweb-settings.png itweb-settings.png added
- Status changed from New to Feedback
The stack trace is not relevant and only indicates sloppy programming with AWT components.
The problem lies somewhere in the native stack used to talk to the cards. That can be anything from the JNI wrapper, PC/SC or the cyberjack driver.
Stack: [0x00007fbfe0243000,0x00007fbfe0344000], sp=0x00007fbfe0342318, free space=1020k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libpthread.so.0+0xb513] __pthread_mutex_unlock_usercnt+0x3 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.security.smartcardio.PCSC.SCardStatus(J[B)[B+0 j sun.security.smartcardio.CardImpl.isValid()Z+19 j sun.security.smartcardio.TerminalImpl.connect(Ljava/lang/String;)Ljavax/smartcardio/Card;+36 j org.openecard.scio.PCSCTerminal.connect(Lorg/openecard/common/ifd/scio/SCIOProtocol;)Lorg/openecard/common/ifd/scio/SCIOCard;+13 j org.openecard.ifd.scio.wrapper.ChannelManager.openChannel(Ljava/lang/String;)[B+15 j org.openecard.ifd.scio.IFD.connect(Liso/std/iso_iec/_24727/tech/schema/Connect;)Liso/std/iso_iec/_24727/tech/schema/ConnectResponse;+48
I believe the problem does not exist with OpenJDK 8 which is available in the backports repository. Note that you must select a different JVM with the tool itweb-settings
as shown in the attached screenshot.
# jessie-backports, previously on backports.debian.org deb http://http.debian.net/debian/ jessie-backports main contrib non-free deb-src http://http.debian.net/debian/ jessie-backports main contrib non-free
Updated by Sebastian Späth almost 8 years ago
- Subject changed from Openecard crashes to Openecard client crashes with OpenJDK JRE 7.0_101
I upgraded to Openjdk JVM8 and it worked just fine. (everything else remaining constant), so this was indeed a JVM7 issue.
Feel free to close this issue (I adapted the bug title to reflect the issue better)
Thanks for the itweb-settings hint!!!
Updated by Tobias Wich almost 8 years ago
- Status changed from Feedback to Closed
Updated by Matthias Hermanns about 5 years ago
I have the same problem with jre-10-openjdk and with jre1.8.0_181-amd64. It is always the tunneling that does not work and ends up with a crash. I also use the RainerSCT Cyberjack.
Updated by Tobias Wich about 5 years ago
We now have an installer which bundles A JVM, so there is less that can go wrong. Before investigating further, can you please check if you also have the problems when using the current installer version?
Updated by Matthias Hermanns about 5 years ago
I have just upgraded my RPM-package for the ReinerSCT Cyberjack to OpenSuse 15.0
under https://www.reiner-sct.com/support/support-anfrage/
and now everything works fine, thanks!