Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Jubula » OpenJDK 11 support
OpenJDK 11 support [message #1805603] Thu, 18 April 2019 13:57 Go to next message
Jakub Foltas is currently offline Jakub FoltasFriend
Messages: 6
Registered: April 2019
Junior Member
Good afternoon,

I would like to ask, whether Jubula is going to support OpenJDK 11, since nowadays it does not (according to FAQS)?

We use Jubula for automated testing of our JavaFx application quite extensively and since we have recently migrated from java8 to OpenJDK 11 there is currently no easy way of running the AUT's anymore. The following is the callstack of previously working javaFx app during autrun call but build for OpenJdk 11 from command line:

AUTs syserr: Exception in thread "Start AUT Server" java.lang.ExceptionInInitializerError
AUTs syserr: at org.eclipse.jubula.rc.javafx.listener.ComponentHandler.<init>(ComponentHandler.java:94)
AUTs syserr: at org.eclipse.jubula.rc.javafx.JavaFXAUTServer.addToolkitEventListeners(JavaFXAUTServer.java:101)
AUTs syserr: at org.eclipse.jubula.rc.common.AUTServer.addToolKitEventListenerToAUT(AUTServer.java:832)
AUTs syserr: at org.eclipse.jubula.rc.common.AUTServer.startAUT(AUTServer.java:403)
AUTs syserr: at org.eclipse.jubula.rc.common.commands.AUTStartCommand.execute(AUTStartCommand.java:57)
AUTs syserr: at org.eclipse.jubula.rc.common.AUTServer$3.run(AUTServer.java:471)
AUTs syserr: Caused by: java.lang.NullPointerException
AUTs syserr: at com.sun.javafx.tk.quantum.QuantumToolkit.resumeTimer(QuantumToolkit.java:512)
AUTs syserr: at com.sun.javafx.tk.quantum.QuantumToolkit$PulseTask.set(QuantumToolkit.java:203)
AUTs syserr: at com.sun.javafx.tk.quantum.QuantumToolkit.setAnimationRunnable(QuantumToolkit.java:883)
AUTs syserr: at com.sun.javafx.tk.quantum.MasterTimer.postUpdateAnimationRunnable(MasterTimer.java:105)
AUTs syserr: at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.updateAnimationRunnable(AbstractMasterTimer.java:324)
AUTs syserr: at com.sun.scenario.animation.AbstractMasterTimer.addPulseReceiver(AbstractMasterTimer.java:176)
AUTs syserr: at javafx.animation.Animation.addPulseReceiver(Animation.java:148)
AUTs syserr: at javafx.animation.Animation.startReceiver(Animation.java:154)
AUTs syserr: at javafx.animation.Animation.play(Animation.java:913)
AUTs syserr: at org.eclipse.jubula.rc.javafx.components.CurrentStages.<clinit>(CurrentStages.java:102)
AUTs syserr: ... 6 more
AUTs syserr: Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: <init>
AUTs syserr: at com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native Method)
AUTs syserr: at com.sun.glass.ui.Screen.initScreens(Screen.java:412)
AUTs syserr: at com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
AUTs syserr: at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
AUTs syserr: at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
AUTs syserr: at java.base/java.lang.Thread.run(Thread.java:834)
AUTs syserr: Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: <init>
AUTs syserr: at com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native Method)
AUTs syserr: at com.sun.glass.ui.Screen.initScreens(Screen.java:412)
AUTs syserr: at com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
AUTs syserr: at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
AUTs syserr: at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
AUTs syserr: at java.base/java.lang.Thread.run(Thread.java:834)
AUTs syserr: Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
AUTs syserr: at com.sun.prism.d3d.D3DPipeline.getAdapterOrdinal(D3DPipeline.java:205)
AUTs syserr: at com.sun.javafx.tk.quantum.QuantumToolkit.assignScreensAdapters(QuantumToolkit.java:738)
AUTs syserr: at com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:334)
AUTs syserr: at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:279)
AUTs syserr: at com.sun.glass.ui.Application.lambda$run$1(Application.java:153)
AUTs syserr: at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
AUTs syserr: at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
AUTs syserr: at java.base/java.lang.Thread.run(Thread.java:834)


Is there perhaps any temporary workaround for this kind of issue?
Thanks in advance for your kind replies.

Best regards,
Jakub
Re: OpenJDK 11 support [message #1805750 is a reply to message #1805603] Tue, 23 April 2019 07:23 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
Hello Jakob,
In General, starting javafx applications until java 11 is briefly tested by the Jubula Team.
I had a look into this this morning an could not reproduce the Problem. The only thing i know of is that some test are not working if you do not add a specific add opens clause to the startup.
 Java 9 and later

    Java 9 and later applications must be started with the jvm arguments '--add-opens=javafx.controls/javafx.scene.control.skin=ALL-UNNAMED-illegal-access=permit'. This is necessary because we are using internal information to get e.g. some position information of components. 


I have tested Java 11 with openjdk 11.0.2 and oepnjavafx 11.0.2
openjdk version "11.0.2" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.2+7)


Is this not working on any of your machines?
What version of Openjdk are you using?
Did you build your application with the 11 jdk?
Might there be any more information in another log file?

best regards
Marvin Mueller

Re: OpenJDK 11 support [message #1805764 is a reply to message #1805750] Tue, 23 April 2019 11:23 Go to previous messageGo to next message
Jakub Foltas is currently offline Jakub FoltasFriend
Messages: 6
Registered: April 2019
Junior Member
Hi Marvin,

and thank you for your answer.

I am also using the openJdk 11.0.2 with openjavafx 11.0.2. The first problem might have been that on the testing machine I haven't had allowed the jdk11. After doing that I am able to run the application from Jubula itself, but the error persists while trying to run it through the autrun from cmd.

The problem might be in current Jubula version, I am currently running jubula 8.5.0.127, I will try migrating to the recent 8.7.1 and try it again. I will keep in touch.

Jakub
Re: OpenJDK 11 support [message #1805766 is a reply to message #1805764] Tue, 23 April 2019 11:54 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
Yeah the question with the Jubula Version should be my first one ;)

Indeed we have fixed all known issues with Java 9(JavaFX) in Jubula 8.6.0. I am very confident that the new Version should work because the Stack Trace shows one place where one of the fixes was applied.

best regards
Marvin Mueller
Re: OpenJDK 11 support [message #1805774 is a reply to message #1805766] Tue, 23 April 2019 13:52 Go to previous messageGo to next message
Jakub Foltas is currently offline Jakub FoltasFriend
Messages: 6
Registered: April 2019
Junior Member
I have migrated Jubula to the 8.7.1, but the problem persists.

I have also noticed that even though I am able to run the application as AUT in Jubula by using the embedded agent, the object mapping does not work at all. All my old components do not highlight in the running AUT and when Object mapping is active none of the javafx components receive the green border and will not show in the unassigned components when mapping shortcut (Ctrl+Shift+Q) is used.

For clarification my java -version is 1.8.0_211, thats what is used to run Jubula and autagent.exe. The application used as AUT is started by using openjdk 11.0.2 with openjavafx packed inside the application jar. I was not able to run Jubula with openJdk 11 as -vm argument. What is the correct setup for Jubula when testing applications running with openJdk, is it ok to run Jubula with jdk8 or should I be able to run Jubula with openJdk as well?

If you have any other suggestions. please feel free to share them with me.

PS: I have also noticed that my custom plugins for Jubula developed earlier are not working anymore, but I figured that shouldn't be the major problem right now as it shouldn't affect the object mapping / running the AUT itself from cmd, right?

Thanks a lot,
Jakub
Re: OpenJDK 11 support [message #1805788 is a reply to message #1805774] Wed, 24 April 2019 05:52 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
Is it really the same problem as written in your first Post? If this is the case, the embedded Autagent should show the same Problems. Maybe you used the wrong Autagent..
Is there anything in the rc_javafx.log or client.log or autagent.log which might be from interest? (If there are other internal Information included we can find an other way)

Jubula runs with java 8 in Standard and it is totally okay to start applications which are using newer Java Versions (I did also test this that way)

I am unsure why your custom plugins are not working. Maybe they need some minor adjustments(like Version ranges). If these are extensions for custom components this might explain why you can not map these components.

best regards
Marvin

[Updated on: Wed, 24 April 2019 05:54]

Report message to a moderator

Re: OpenJDK 11 support [message #1805869 is a reply to message #1805788] Fri, 26 April 2019 06:56 Go to previous messageGo to next message
Jakub Foltas is currently offline Jakub FoltasFriend
Messages: 6
Registered: April 2019
Junior Member
Hello again,

sorry for the delayed anwer, I have been rather busy lately. I have tried the same process and checked the jubula log folder for more information. Perhaps this will be of some use.

1. Running my application as AUT from Jubula (8.7.1.046, with default jubula.ini settings, so the used jre is the one in my jubula installation path) manages to start the AUT. The application uses mostly standard javafx components and some customized ones, but neither of them are recognized during the object mapping. No highlighting etc. During this two errors are logged to client.log:
2019-04-26 08:19:30.364 [Connection.ReaderThread:Socket[addr=/127.0.0.1,port=60228,localport=60001]] ERROR o.e.j.autagent.OsgiAUTStartHelper - No bundle found for ID 'com.thoughtworks.xstream'.
2019-04-26 08:19:30.364 [Connection.ReaderThread:Socket[addr=/127.0.0.1,port=60228,localport=60001]] ERROR o.e.j.autagent.OsgiAUTStartHelper - No bundle found for ID 'org.xmlpull'.

and to rc_javafx.log:
2019-04-26 08:18:27.936 [Connection.ReaderThread:Socket[addr=JFOLTASW10.indra.es/192.168.226.60,port=60187,localport=60237]] ERROR o.e.j.c.internal.Communicator - caught exception from 'org.eclipse.jubula.rc.common.commands.ChangeAUTModeCommand.execute()'
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.jubula.rc.javafx.components.CurrentStages
	at org.eclipse.jubula.rc.javafx.JavaFXAUTServer.removeToolkitEventListener(JavaFXAUTServer.java:121) ~[org.eclipse.jubula.rc.javafx_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.rc.javafx.JavaFXAUTServer.removeToolkitEventListener(JavaFXAUTServer.java:103) ~[org.eclipse.jubula.rc.javafx_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.rc.common.AUTServer.setMode(AUTServer.java:955) ~[org.eclipse.jubula.rc.common_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.rc.common.commands.ChangeAUTModeCommand.execute(ChangeAUTModeCommand.java:103) ~[org.eclipse.jubula.rc.common_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.Communicator$ConnectionListener.received(Communicator.java:921) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.connection.Connection.fireMessageReceived(Connection.java:402) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.connection.Connection.access$2(Connection.java:391) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.connection.Connection$ReaderThread.run(Connection.java:454) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]
2019-04-26 08:20:25.316 [Connection.ReaderThread:Socket[addr=JFOLTASW10.indra.es/192.168.226.60,port=60187,localport=60259]] ERROR o.e.j.c.internal.Communicator - caught exception from 'org.eclipse.jubula.rc.common.commands.ChangeAUTModeCommand.execute()'
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.jubula.rc.javafx.components.CurrentStages
	at org.eclipse.jubula.rc.javafx.JavaFXAUTServer.removeToolkitEventListener(JavaFXAUTServer.java:121) ~[org.eclipse.jubula.rc.javafx_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.rc.javafx.JavaFXAUTServer.removeToolkitEventListener(JavaFXAUTServer.java:103) ~[org.eclipse.jubula.rc.javafx_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.rc.common.AUTServer.setMode(AUTServer.java:955) ~[org.eclipse.jubula.rc.common_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.rc.common.commands.ChangeAUTModeCommand.execute(ChangeAUTModeCommand.java:103) ~[org.eclipse.jubula.rc.common_7.0.2.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.Communicator$ConnectionListener.received(Communicator.java:921) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.connection.Connection.fireMessageReceived(Connection.java:402) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.connection.Connection.access$2(Connection.java:391) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]
	at org.eclipse.jubula.communication.internal.connection.Connection$ReaderThread.run(Connection.java:454) ~[org.eclipse.jubula.communication_4.0.0.201902270829.jar:na]


2. When I run the same application from cmd by using autagent. Basically I run the autagent.exe from the *jubula 8.7.1 installation path*/ite and then a bat file containing
autrun.exe -javafx -i "VDT_RUT_A" -w "C:\Users\jfoltas\Desktop\client_trunk_for_jubula" -e "C:\Users\jfoltas\Desktop\client_trunk_for_jubula\run_OTEDVDT_openJdk.bat"

which is the same as the settings configured in Jubula project. This time the application does not start, nothing goes to any of the jubula logs. The following is the full stacktrace from cmd:
C:\Program Files\jubula_8.7.1.046\ite>autrun.exe -javafx -i "VDT_RUT_A" -w "C:\Users\jfoltas\Desktop\client_trunk_for_jubula" -e "C:\Users\jfoltas\Desktop\client_trunk_for_jubula\run_OTEDVDT_openJdk.bat"
AUTs sysout:
AUTs sysout: C:\Users\jfoltas\Desktop\client_trunk_for_jubula>"C:\Program Files\Java\jdk-11.0.2\bin\java" -cp "IntradayMarket.jar" com.indra.market.client.Main_Java11 --ote.server.url=https://otd-market:9443/IndraMarketServer/CommonServlet --ote.log.level=ALL --ote.log.timestamp=1 --add-opens=javafx.controls/javafx.scene.control.skin=ALL-UNNAMED-illegal-access=permit
AUTs syserr: Picked up _JAVA_OPTIONS: "-javaagent:C:\Program Files\jubula_8.7.1.046\ite\plugins\org.eclipse.jubula.rc.common.agent_7.0.2.201902270829.jar"
AUTs syserr: SLF4J: Class path contains multiple SLF4J bindings.
AUTs syserr: SLF4J: Found binding in [jar:file:/C:/Users/jfoltas/Desktop/client_trunk_for_jubula/IntradayMarket.jar!/org/slf4j/impl/StaticLoggerBinder.class]
AUTs syserr: SLF4J: Found binding in [jar:file:/C:/Program%20Files/jubula_8.7.1.046/ite/plugins/ch.qos.logback.slf4j_1.0.7.v201505121915.jar!/org/slf4j/impl/StaticLoggerBinder.class]
AUTs syserr: SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
AUTs sysout: 08:27:25,310 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
AUTs sysout: 08:27:25,310 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
AUTs syserr: SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
AUTs sysout: 08:27:25,310 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/C:/Program%20Files/jubula_8.7.1.046/ite/plugins/org.eclipse.jubula.rc.javafx_7.0.2.201902270829.jar!/logback.xml]
AUTs sysout: 08:27:25,310 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
AUTs sysout: 08:27:25,310 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/C:/Program%20Files/jubula_8.7.1.046/ite/plugins/org.eclipse.jubula.rc.javafx_7.0.2.201902270829.jar!/logback.xml]
AUTs sysout: 08:27:25,310 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/C:/Users/jfoltas/Desktop/client_trunk_for_jubula/IntradayMarket.jar!/logback.xml]
AUTs sysout: 08:27:25,342 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@117e949d - URL [jar:file:/C:/Program%20Files/jubula_8.7.1.046/ite/plugins/org.eclipse.jubula.rc.javafx_7.0.2.201902270829.jar!/logback.xml] is not of type file
AUTs sysout: 08:27:25,482 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
AUTs sysout: 08:27:25,498 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
AUTs sysout: 08:27:25,514 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
AUTs sysout: 08:27:25,576 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
AUTs sysout: 08:27:25,654 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
AUTs sysout: 08:27:25,654 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
AUTs sysout: 08:27:25,670 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@6db9f5a4 - Will use zip compression
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: C:\Users\jfoltas/.jubula/logs/rc_javafx.log
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [C:\Users\jfoltas/.jubula/logs/rc_javafx.log]
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [CAP-FILE]
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@5f8edcc5 - Will use zip compression
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[CAP-FILE] - Active log file name: C:\Users\jfoltas/.jubula/logs/rc_javafx_ExecutedCaps.log
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[CAP-FILE] - File property is set to [C:\Users\jfoltas/.jubula/logs/rc_javafx_ExecutedCaps.log]
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to WARN
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [CAP] to DEBUG
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [CAP] to false
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CAP-FILE] to Logger[CAP]
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
AUTs sysout: 08:27:25,685 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@7b02881e - Registering current configuration as safe fallback point
AUTs sysout:
AUTs syserr: Exception in thread "Start AUT Server" java.lang.ExceptionInInitializerError
AUTs syserr:    at org.eclipse.jubula.rc.javafx.listener.ComponentHandler.<init>(ComponentHandler.java:94)
AUTs syserr:    at org.eclipse.jubula.rc.javafx.JavaFXAUTServer.addToolkitEventListeners(JavaFXAUTServer.java:97)
AUTs syserr:    at org.eclipse.jubula.rc.common.AUTServer.addToolKitEventListenerToAUT(AUTServer.java:860)
AUTs syserr:    at org.eclipse.jubula.rc.common.AUTServer.startAUT(AUTServer.java:430)
AUTs syserr:    at org.eclipse.jubula.rc.common.commands.AUTStartCommand.execute(AUTStartCommand.java:57)
AUTs syserr:    at org.eclipse.jubula.rc.common.AUTServer$3.run(AUTServer.java:499)
AUTs syserr: Caused by: java.lang.NullPointerException
AUTs syserr:    at com.sun.javafx.tk.quantum.QuantumToolkit.resumeTimer(QuantumToolkit.java:512)
AUTs syserr:    at com.sun.javafx.tk.quantum.QuantumToolkit$PulseTask.set(QuantumToolkit.java:203)
AUTs syserr:    at com.sun.javafx.tk.quantum.QuantumToolkit.setAnimationRunnable(QuantumToolkit.java:883)
AUTs syserr:    at com.sun.javafx.tk.quantum.MasterTimer.postUpdateAnimationRunnable(MasterTimer.java:105)
AUTs syserr:    at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.updateAnimationRunnable(AbstractMasterTimer.java:324)
AUTs syserr:    at com.sun.scenario.animation.AbstractMasterTimer.addPulseReceiver(AbstractMasterTimer.java:176)
AUTs syserr:    at javafx.animation.Animation.addPulseReceiver(Animation.java:148)
AUTs syserr:    at javafx.animation.Animation.startReceiver(Animation.java:154)
AUTs syserr:    at javafx.animation.Animation.play(Animation.java:913)
AUTs syserr:    at org.eclipse.jubula.rc.javafx.components.CurrentStages.<clinit>(CurrentStages.java:102)
AUTs syserr:    ... 6 more
AUTs syserr: Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: <init>
AUTs syserr:    at com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native Method)
AUTs syserr:    at com.sun.glass.ui.Screen.initScreens(Screen.java:412)
AUTs syserr:    at com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
AUTs syserr:    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
AUTs syserr:    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
AUTs syserr:    at java.base/java.lang.Thread.run(Thread.java:834)
AUTs syserr: Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: <init>
AUTs syserr:    at com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native Method)
AUTs syserr:    at com.sun.glass.ui.Screen.initScreens(Screen.java:412)
AUTs syserr:    at com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
AUTs syserr:    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
AUTs syserr:    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
AUTs syserr:    at java.base/java.lang.Thread.run(Thread.java:834)
AUTs syserr: Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
AUTs syserr:    at com.sun.prism.d3d.D3DPipeline.getAdapterOrdinal(D3DPipeline.java:205)
AUTs syserr:    at com.sun.javafx.tk.quantum.QuantumToolkit.assignScreensAdapters(QuantumToolkit.java:738)
AUTs syserr:    at com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:334)
AUTs syserr:    at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:279)
AUTs syserr:    at com.sun.glass.ui.Application.lambda$run$1(Application.java:153)
AUTs syserr:    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
AUTs syserr:    at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
AUTs syserr:    at java.base/java.lang.Thread.run(Thread.java:834)


Maybe there might be some significance in the way we pack our application, the application is defined as maven project and the openjavafx is added as dependency and packed along with everything into a fat jar when build. Then in order to run with java11 the workaround of calling "proxy Main" is currently being used (see https://stackoverflow.com/questions/52569724/javafx-11-create-a-jar-file-with-gradle/52571719#52571719). Could this be the problem?

Best regards,
Jakub

[Updated on: Fri, 26 April 2019 07:43]

Report message to a moderator

Re: OpenJDK 11 support [message #1805972 is a reply to message #1805869] Mon, 29 April 2019 14:21 Go to previous messageGo to next message
Jakub Foltas is currently offline Jakub FoltasFriend
Messages: 6
Registered: April 2019
Junior Member
Hi,

I have been able to resolve the first problem (object mapping of the AUT), I have found that our application was using the openjavafx 12 the whole time, so I tried rebuilding it with openjavafx 11 which ultimately resolved the issue.

But I am still really puzzled about the second problem, I have even tried running the autagent.exe from the jubula_8.7.1.046 installation folder first, then running the Jubula ite, connecting to the running autagent at localhost:60000 and everything works fine. But the cmd command still fails as described previously. Not only for our application but for other applications using openjdk11 + openjavafx11 as well. I used this basic app example https://github.com/openjfx/samples/tree/master/CommandLine/Non-modular/Maven. I have also tried running the old AUT configurations of applications running on jdk8 and they are working properly. I have also tried installing only autagent to different installation path and use this path but without success as well. Can you please verify it is working for you (perhaps on the mentioned minimalistic example) and then share the cmd call congiruation? Perhaps I am doing womething wrong, but to me the cmd call
autrun.exe -javafx -i "VDT_RUT_A" -w "C:\Users\jfoltas\Desktop\client_trunk_for_jubula" -e "C:\Users\jfoltas\Desktop\client_trunk_for_jubula\run_OTEDVDT_openJdk.bat"
looks the same as the AUT config in Jubula project:
index.php/fa/35421/0/

Best regards,
Jakub
  • Attachment: autConfig.png
    (Size: 79.89KB, Downloaded 670 times)
Re: OpenJDK 11 support [message #1805996 is a reply to message #1805972] Tue, 30 April 2019 09:40 Go to previous messageGo to next message
Jakub Foltas is currently offline Jakub FoltasFriend
Messages: 6
Registered: April 2019
Junior Member
Hello,

I have done some digging and came up with a solution. Simmilar problem was being solved here https://stackoverflow.com/questions/52906570/javafx-11-using-maven-throws-exception-windowsnativerunloopthread.

I added the following vm argument to the application run command
-Djava.library.path="C:\Program Files\Java\jdk-11.0.2\bin\java"
and I am now able to run the application from cmd by using the aforementioned autrun call. It seems that without the java library path specified, wrong glass.dll is being loaded (probably from old java 8 which I can't remove yet) that was causing the thrown NPE.

Thanks for your cooperation, and hopefully this will help somebody out if they run across simillar problem.

Best regards,
Jakub
Re: OpenJDK 11 support [message #1806640 is a reply to message #1805996] Mon, 13 May 2019 05:57 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
Thank you for your detailed explanation. This might help some other people.

best regards
Marvin
Re: OpenJDK 11 support [message #1808496 is a reply to message #1806640] Tue, 25 June 2019 18:12 Go to previous messageGo to next message
Logan Winter is currently offline Logan WinterFriend
Messages: 6
Registered: May 2018
Junior Member
Perhaps I should create a new issue for this, but I've also run into a problem with Jubula and Open JDK 11. I think I'm using the permit-access stuff how I ought to be. (I should mention I'm still using standalone 8.6).
What seems to be happening is that sometimes the mouse will appear to get "stuck" and won't be able to perform some mouse driven action. Sometimes it can press a button just fine, but when it does so, it still reports a "Configuration Error" in the test results. Slightly wiggling the mouse will "free" it and allow it press whichever button. Looks like it has something to do with some RealSync in the SunToolKit or some such thing. Perhaps I've set something up wrong? I've had some trouble finding good information about whether or not Jubula is truly supported with Open JDK 11 :^] Some places say no, but then there is this thread where Marvin is helping out with it (Thanks Marvin!) so I'm a little confused.

Is anyone able to tell me if there is some workaround for this?

I've attached the errors from the swing log that always appear when it hits this "Configuration Error".
Re: OpenJDK 11 support [message #1808514 is a reply to message #1808496] Wed, 26 June 2019 06:34 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
The Jubula Team has basically tested if Jubula and its test is running fine with oracle jdk 11, i must say we have not tested openjdk 11. Basically everything worked fine on our side(or has been fixed), but as for my experience, this does not mean there are no issues.

Which Operation System are you using?
Which concrete version of openjdk do you have?
Can you test the jubula 8.7 we have also done some fixes for compatibility to newer java versions.

I think at this moment there is no workaround, i will try to reproduce this, but i can not do this until 9. June

Thanks for all the Information

best regards
Marvin Mueller
Re: OpenJDK 11 support [message #1808598 is a reply to message #1808514] Thu, 27 June 2019 16:09 Go to previous messageGo to next message
Logan Winter is currently offline Logan WinterFriend
Messages: 6
Registered: May 2018
Junior Member
Hello Marvin, thanks for the rapid response.

We are running Jubula on a Windows 10 desktop.
I'm not sure what you mean exactly when you ask about the "concrete" version of the JDK, but I get the following running a java -version if this is what you're after:
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

As for updating, I updated our test server this morning to 8.7, and made sure the projects were changed to be using the unbound_modules_concrete[8.7].
Initially I was quite hopeful as running a test did not produce any configuration errors. On a subsequent run of the same test suite however, I encountered the same problem (with the same stack).
Whatever the problem is, it's intermittent; perhaps it is some timing related issue. We have had issues in the past with our program giving Jubula fits by updating graphical components off of the event dispatch thread when it wasn't supposed to be.
I thought we had largely resolved those issues but perhaps that is not the case.

Thanks,
Logan
Re: OpenJDK 11 support [message #1809141 is a reply to message #1808598] Wed, 10 July 2019 06:45 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
Thanks for the Information, i have tried to get a javaFx application running with the OpenJDK runtime, but i had multiple issues with it. I will investigate the Problems.


best regards
Marvin Mueller
Re: OpenJDK 11 support [message #1809455 is a reply to message #1809141] Tue, 16 July 2019 11:50 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
Marvin Mueller wrote on Wed, 10 July 2019 08:45
Thanks for the Information, i have tried to get a javaFx application running with the OpenJDK runtime, but i had multiple issues with it. I will investigate the Problems.


best regards
Marvin Mueller


Okay the error was on my side. Just as Information for all who are doing their own jlink java. Jubula needs the following modules ("java.sql" "java.instrument" {and also javafx})

I had no luck to reproduce your issue. I will try to set our nightly Test to run the javaFx with the openjdk 11 but this will be planned later on.
Re: OpenJDK 11 support [message #1809979 is a reply to message #1809455] Fri, 26 July 2019 22:02 Go to previous messageGo to next message
Logan Winter is currently offline Logan WinterFriend
Messages: 6
Registered: May 2018
Junior Member
Thanks for looking into it Marvin.

"Jubula needs the following modules".

Should I take that to mean I need to turn these modules on in my AUT in order for Jubula to control the application correctly?
We currently do not have any modules defined in our project; we are clinging bitterly to our old project's defintion but maybe that needs to change.

As always, thanks for the support Marvin,

Logan
Re: OpenJDK 11 support [message #1810066 is a reply to message #1809979] Tue, 30 July 2019 08:48 Go to previous message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 192
Registered: March 2012
Senior Member
Oh sorry that is not what i meant.

It was for the ones who are bundle their own jdk (for example which already includes javaFX) with the jlink application from java. I have done that and missed some parts which are necessary for Jubula test(e.g. the agent is needed which is from java.instrument) but must not necessary for other applications

I can not reproduce the issue with the infinite loop. In my test everything works fine. (But i have no real complex application)

best regards
Marvin Mueller
Previous Topic:Can't install Jubula extension wizard - Eclipse 2019-06 (4.12.0)
Next Topic:How to get a particular text from a Swing application using Jubula's Java API
Goto Forum:
  


Current Time: Fri Nov 22 09:45:46 GMT 2019

Powered by FUDForum. Page generated in 0.02840 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top