Project

General

Profile

Actions

Bug #444

closed

Openecard client crashes with OpenJDK JRE 7.0_101

Added by Sebastian Späth almost 8 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
06/24/2016
Due date:
% Done:

0%

Estimated time:
Reviewer:
Build Version:

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

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@1e3fafd4,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.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) #
  1. A fatal error has been detected by the Java Runtime Environment: #
  2. SIGSEGV (0xb) at pc=0x00007f1a9652b513, pid=29154, tid=139750602372864 #
  3. JRE version: OpenJDK Runtime Environment (7.0_101) (build 1.7.0_101-b00)
  4. Java VM: OpenJDK 64-Bit Server VM (24.95-b01 mixed mode linux-amd64 compressed oops)
  5. Derivative: IcedTea 2.6.6
  6. Distribution: Debian GNU/Linux 8.4 (jessie), package 7u101-2.6.6-2~deb8u1
  7. Problematic frame:
  8. C [libpthread.so.0+0xb513] __pthread_mutex_unlock_usercnt+0x3 #
  9. Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again #
  10. An error report file with more information is saved as:
  11. /home/spaetz/Downloads/hs_err_pid29154.log #
  12. If you would like to submit a bug report, please include
  13. instructions on how to reproduce the bug and visit:
  14. http://icedtea.classpath.org/bugzilla
  15. The crash happened outside the Java Virtual Machine in native code.
  16. See problematic frame for where to report the bug.
    #@

Files

hs_err_pid29681.log (100 KB) hs_err_pid29681.log Sebastian Späth, 06/24/2016 08:34 AM
itweb-settings.png (60.8 KB) itweb-settings.png Tobias Wich, 06/24/2016 09:22 AM
Actions #1

Updated by Sebastian Späth almost 8 years ago

Attached the created .log file

Actions #2

Updated by Tobias Wich almost 8 years ago

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

Actions #3

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!!!

Actions #4

Updated by Tobias Wich almost 8 years ago

  • Status changed from Feedback to Closed
Actions #5

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.

Actions #6

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?

https://www.openecard.org/download/pc/

Actions #7

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!

Actions

Also available in: Atom PDF