JiriOndrusek opened a new issue, #6889: URL: https://github.com/apache/camel-quarkus/issues/6889
### Bug description Jt400 client is tightly coupled with GUI dialogues, which does not work in the native. In previous version (`20.0.7`), the limitation was solved by a couple of substitutions. The newest version (20.0.8) brings several small changes, which add more gui actions into the signon process. After several hours spent on the preparation of new substitutions I start to think, that it is not possible to substitute code in a way that signon works on the native. (mostly because the class `ToolboxSignonHandler` is final and therefore can not be modified. Here is one of many errors, which happens (obtained on jt400-mocked tests): ``` Error: Detected a started Thread in the image heap. Thread name: Java2D Disposer. Threads running in the image generator are no longer running at image runtime. If these objects should not be stored in the image heap, you can use '--trace-object-instantiation=java.lang.Thread' to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with '--initialize-at-run-time=<culprit>' to prevent the instantiation of the object. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point. Detailed message: Trace: Object was reached by reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$Node.waiter of constant java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@619472ea: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@619472ea reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.firstWaiter of constant java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3011233f: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3011233f reading field java.lang.ref.ReferenceQueue.notEmpty of constant java.lang.ref.ReferenceQueue@36b1f89e: java.lang.ref.ReferenceQueue@36b1f89e scanning root java.lang.ref.ReferenceQueue@36b1f89e: java.lang.ref.ReferenceQueue@36b1f89e embedded in sun.java2d.Disposer.add(Disposer.java:135) parsing method sun.java2d.Disposer.add(Disposer.java:130) reachable via the parsing context at sun.java2d.Disposer.addRecord(Disposer.java:118) at java.awt.Window.init(Window.java:534) at java.awt.Window.<init>(Window.java:453) at java.awt.Window.<init>(Window.java:608) at java.awt.Dialog.<init>(Dialog.java:674) at com.ibm.as400.access.PasswordDialog.<init>(PasswordDialog.java:73) at com.ibm.as400.access.ToolboxSignonHandler.setupPasswordDialog(ToolboxSignonHandler.java:596) at com.ibm.as400.access.ToolboxSignonHandler.handleSignon(ToolboxSignonHandler.java:515) at com.ibm.as400.access.ToolboxSignonHandler.connectionInitiated(ToolboxSignonHandler.java:52) at com.ibm.as400.access.AS400.promptSignon(AS400.java:3871) at com.ibm.as400.access.AS400.signon(AS400.java:5436) at com.ibm.as400.access.AS400.getCcsid(AS400.java:2192) ... ``` I added a simple workaround when the signon is disabled in the native - until the proper fix is prepared. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org