Codename one BrowserComponent crash - codenameone

I have been developing an app that uses a payment gateway and I tried using a browserNavigation callback to execute some Java code when the return URL is loaded. My problem is that, the app crashes just before the for containing the browser component loads.
Below is the error it reports:
Exception "java.lang.ClassNotFoundException: com/intellij/codeInsight/editorActions/FoldingData"while constructing DataFlavor for: application/x-java-jvm-local-objectref; class=com.intellij.codeInsight.editorActions.FoldingData
Exception "java.lang.ClassNotFoundException: com/intellij/codeInsight/editorActions/FoldingData"while constructing DataFlavor for: application/x-java-jvm-local-objectref; class=com.intellij.codeInsight.editorActions.FoldingData
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x54c3249e, pid=28320, tid=31852
JRE version: Java(TM) SE Runtime Environment (8.0_40-b26) (build 1.8.0_40-b26)
Java VM: Java HotSpot(TM) Server VM (25.40-b25 mixed mode windows-x86 )
Problematic frame:
C [jfxwebkit.dll+0x5d249e]
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
An error report file with more information is saved as:
C:\Users\MY_COMPUTER_NAME\IdeaProjects\My_APP_NAME\hs_err_pid28320.log
If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.

That's one of the many JavaFX bugs in the JVM and webkit support... You do however have a very old version of the VM. I recommend upgrading to the latest version of Java 8 as some of those crashes were resolved.

Related

How to configure PDFNet for .NET application to publish to Citrix server? (AnyCPU)

So I have been trying to config the project to make it work on our server via Citrix.
I used this line of code to set the path:
private static pdftron.PDFNetLoader loader = pdftron.PDFNetLoader.Instance().Path(String.Format(#"{0}\{1}",
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(IndexUIZoom)).Location), #"PDFNet"));
I got this error every time (bin is where the .exe file is):
INFO Program [(null)] - Path: [bin]\PDFNet -
ERROR Program [(null)] - System.IO.FileNotFoundException: Could not load file or assembly 'PDFNet.dll' or one of its dependencies.
The specified module could not be found. File name: 'PDFNet.dll'
Everything works fine on local machine. I got the error above whenever I run from Citrix, or log into the server machine and run from there.
Most likely your server is missing the MS VC++ Runtime dependencies. Developer machines usually have them installed as part of a Visual Studio installation, but servers often do not. You can download MS VC++ installers from MSDN.
To find the exact one you need to download please see section 3.2.1 of the Getting Started Guide for PDFNet .Net below. Note you need to also match the runtime 32 or 64 bitness of your process, for both PDFNet.dll and the MS VC++ runtime.
PDFNet .Net 4.0+ Getting Started Guide
PDFNet .Net 2.0-3.5 Getting Started Guide
https://www.pdftron.com/documentation/windows/guides

Running app in IDE stops working

Last week I finished development on a test app and ran it successfully in all simulators.
Today I decided to look at publishing the app and used "Sent Android Build". Build status "Successful".
Then tried running jar from command line and got:
peter#PeteSuse:~> java -jar "/home/peter/NetBeansProjects/mobile-apps/pGame/dist/pGame.jar"
java.lang.ArrayIndexOutOfBoundsException: 0
at com.codename1.impl.javase.Executor$1.run(Executor.java:84)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
So tried to run from GUI and got:
run:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
at com.codename1.impl.ImplementationFactory.createImplementation(ImplementationFactory.java:69)
at com.codename1.ui.Display.init(Display.java:566)
at com.codename1.impl.javase.Executor$1.run(Executor.java:112)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
Java version:
peter#PeteSuse:~> java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (IcedTea 3.3.0) (suse-23.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)
I am using Netbeans (new to this) on Suse Linux 42.1 64b.
Have I lost a library somewhere? or something else?
Thanks guys. I fixed the problem by adding jfxrt.jar to the Libraries in NetBeans.
JFXPanel is in the JavaFX library.
See: JavaFX and OpenJDK for info on why JavaFX is not available by default in your OpenJDK distribution.
If your linux distribution makes an open JavaFX package available (like ubuntu does: Why is JavaFX is not included in OpenJDK 8 on Ubuntu Wily (15.10)?), then you can use that.
Otherwise you can build from source (for the adventurous yak shaver).
Or, easiest, is just to an Oracle Java distribution.
I don't know codenameone or have any idea how it works. Possibly whatever it is, you could ask the creators to package their thing as a self-contained application, so that it ships with a compatible Java runtime, which would (potentially) avoid issues such as you are encountering. Not knowing codenameone, I don't know if that would make sense or not.
I also don't know the cause of your original ArrayIndexOutOfBoundsException as that looks internal to codenameone or your use of it.
With regards to NetBeans, you might need to set the Java platform to one with JavaFX installed (in case you have multiple Java platforms installed on your machine).
You can run a Codename One application in the simulator by pressing the play button in the IDE. It won't work for you from Command Line and shouldn't since the app shouldn't have a main() method.
You can execute the Codename One simulator from Command Line using:
java -jar JavaSE.jar:dist/MyApp.jar
Notice this assumes your project is the working directory.

Which SDK and Build Tools versions do I use to compile sources generated from the CN1 build server?

I'm trying to debug code as it runs on my Android test device. I sent a build to the CN1 server and downloaded the resulting sources.zip, which I then used to create a project in Android Developer Studio.
When I compile using
Compile SDK Version: API21 or API 22 with
Build Tools Version: 21.1.2 or 22.0.1, respectively
I get the following compile errors:
C:\home\dev\ProxyServerDebug\build\intermediates\res\merged\debug\values-v23\values-v23.xml
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(18) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.
Error:Execution failed for task ':processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\opt\android-sdk\build-tools\22.0.1\aapt.exe'' finished with non-zero exit value 1
When I compile using
Compile SDK Version: API 23
Build Tools Version: 23.0.2
I get the following compile errors:
C:\home\dev\ProxyServerDebug\src\main\java\com\codename1\impl\android\AndroidImplementation.java
Error:(4563, 21) error: cannot find symbol method setLatestEventInfo(Activity,String,String,PendingIntent)
C:\home\dev\ProxyServerDebug\src\main\java\com\codename1\impl\android\PushNotificationService.java
Error:(110, 18) error: cannot find symbol method setLatestEventInfo(PushNotificationService,String,String,PendingIntent)
Is it just a matter of setting the correct SDK and Build Tools versions? or am I missing something else? BTW, sources were generated this morning, so I should be on the latest CN1 3.3 release.
If I recall correctly it should be 22.0.1 the reason build fails by default is that you need to configure an external gradle directory as explained in How to build the native Android sources from Codename One's build server

vsphere api : RemoteException while connecting a esx-i machine using vijava vsphere API

I am getting the below exception while trying to connect a esx-i 5 machine using vijava vsphere API.
vijava is the VMware Infrastructure JAVA API.
I am using the VI Java API 5.5 Beta vijava55b20130927.
What might be the root cause of this issue.
java.rmi.RemoteException: VI SDK invoke exception:java.rmi.RemoteException: VI SDK invoke exception:org.dom4j.DocumentException: **Error on line 4 of document : Open quote is expected for attribute "{1}" associated with an element type "rel".** Nested exception: Open quote is expected for attribute "{1}" associated with an element type "rel".|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.ws.WSClient.invoke(WSClient.java:131)|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.ws.VimStub.retrieveServiceContent(VimStub.java:1437)|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.mo.ServiceInstance.<init>(ServiceInstance.java:100)|
[12:02:07:318]|[12-18-2014]|[SYSOUT]|[INFO]|[135]|: at com.vmware.vim25.mo.ServiceInstance.<init>(ServiceInstance.java:84)|
If you will switch to using YAVIJAVA I can help.
The Beta version of VIJAVA has a bug where only a RemoteException is ever thrown. That bug is fixed in YAVJAVA 5.5.08-DEVELOPMENT or newer which as of this comment is only available on github (older versions in maven have this bug)
YAVIJAVA includes logging via log4j and if you enable debug logging when you run the command you can even get the XML payloads that are coming and going from the server which I can use to help you trouble shoot this problem.

WLP :: Worklight :: Can't install runtime

I'm using Worklight 6.2 server edition and I can't deploy a working runtime (of other environments) on my server.
I'm using webpshere liberty profile v8.5.5 and when I deploy the runtime via GUI it says success and on server.xml I can see the new configuration for the app.
However when I go to the worklightconsole I don't see my runtime to upload the app.
On messages.log there is a error regarding JMX connection.
The quoted error is
Failed to obtain JMX connection to access an MBean. There might be a JMX configuration error: No JMX connector is configured
I'm refering this because I've seen some post on SO saying that these issues might be connected. However I have the restConnector-1.0 on my WLP features.
Reference: No runtime on my Worklight 6.2 Console after installing analytics
On messages.log there is some other things that I found interesting, like the correct start of the runtime I've deployed
[11/12/14 5:50:45:177 CST] 00000012 com.worklight.server.bundle.project.JeeProjectActivator I FWLST0002I: ========= Project /HelloWorld started. The project WAR file version is 6.2.0.00.20140922-2259,running on server version 6.2.0.00.20140613-0730. [project HelloWorld]
and two erros while starting my server
[11/12/14 5:50:49:911 CST] 00000012 SystemErr R 24 WorklightPU WARN [Scheduled Executor-thread-1] openjpa.Runtime - An error occurred while registering a ClassTransformer with PersistenceUnitInfo: name 'WorklightPU', root URL [file:/opt/IBM/WebSphere/Liberty/usr/shared/resources/worklight/lib/worklight-jee-library.jar]. The error has been consumed. To see it, set your openjpa.Runtime log level to TRACE. Load-time class transformation will not be available.
Second error:
java.lang.RuntimeException: Timeout while waiting for the management service to start up
I don't know what these are but I think it might be related to my problem and this errors eventually appear when I start my server.
Does anyone have any tips for troubleshooting this issue?
Thanks in advance.
This is a known issue from Websphere.
There is a APAR to fix that, a workaround is to restart the server with the --clean option to force a refresh onto the shared libraries.
http://www-01.ibm.com/support/docview.wss?uid=swg1PI17830

Resources