B4J Question B4J GUI apps not supported anymore on RPi4?

sorex

Expert
Licensed User
Longtime User
Hello,

I received a new Raspberry Pi 4B today at work and installed everything by following the 11.0.1 guidelines.

But when I tried to run a B4J GUI app (empty and printing a log line) I get the errors you see below.

Also the VNC connection totally freezes as long as the java application runs.

The only cure is pulling out the power or using SSH to kill the java process with the highest process ID.

Anyone else who had this problem?

The console app doesn't have any issues or errors tho.
I first thought it didn't work either as I didn't see anything appearing in the console windows of the bridge.
But it appears when running it manually.


B4X:
Exception in thread "Event Thread"
java.lang.NullPointerException
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11Cursor.<init>(X11Cursor.java:52)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11WarpingCursor.<init>(X11WarpingCursor.java:31)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11Platform.createCursor(X11Platform.java:67)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.NativePlatform.getCursor(NativePlatform.java:92)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MouseInput.setState(MouseInput.java:128)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MonocleApplication.staticScreen_getScreens(MonocleApplication.java:235)
~e:
    at javafx.graphics/com.sun.glass.ui.Screen.initScreens(Screen.java:412)
~e:
    at javafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
~e:
    at java.base/java.lang.Thread.run(Thread.java:834)
~e:
Exception in thread "Event Thread"
java.lang.NullPointerException
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11Cursor.<init>(X11Cursor.java:52)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11WarpingCursor.<init>(X11WarpingCursor.java:31)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11Platform.createCursor(X11Platform.java:67)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.NativePlatform.getCursor(NativePlatform.java:92)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MonocleApplication.staticCursor_setVisible(MonocleApplication.java:178)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MonocleApplication.updateDeviceFlags(MonocleApplication.java:97)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MonocleApplication.lambda$new$1(MonocleApplication.java:77)
~e:
    at javafx.base/com.sun.javafx.collections.SetListenerHelper$SingleChange.fireValueChangedEvent(SetListenerHelper.java:163)
~e:
    at javafx.base/com.sun.javafx.collections.SetListenerHelper.fireValueChangedEvent(SetListenerHelper.java:72)
~e:
    at javafx.base/com.sun.javafx.collections.ObservableSetWrapper.callObservers(ObservableSetWrapper.java:128)
~e:
    at javafx.base/com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:269)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.addDeviceInternal(LinuxInputDeviceRegistry.java:104)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.createDevice(LinuxInputDeviceRegistry.java:83)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.lambda$new$0(LinuxInputDeviceRegistry.java:55)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.Udev$1.run(Udev.java:107)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
~e:
    at java.base/java.lang.Thread.run(Thread.java:834)
~e:
Exception in thread "Event Thread"
java.lang.NullPointerException
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11Cursor.<init>(X11Cursor.java:52)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11WarpingCursor.<init>(X11WarpingCursor.java:31)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.X11Platform.createCursor(X11Platform.java:67)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.NativePlatform.getCursor(NativePlatform.java:92)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MonocleApplication.staticCursor_setVisible(MonocleApplication.java:178)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MonocleApplication.updateDeviceFlags(MonocleApplication.java:97)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.MonocleApplication.lambda$new$1(MonocleApplication.java:77)
~e:
    at javafx.base/com.sun.javafx.collections.SetListenerHelper$SingleChange.fireValueChangedEvent(SetListenerHelper.java:163)
~e:
    at javafx.base/com.sun.javafx.collections.SetListenerHelper.fireValueChangedEvent(SetListenerHelper.java:72)
~e:
    at javafx.base/com.sun.javafx.collections.ObservableSetWrapper.callObservers(ObservableSetWrapper.java:128)
~e:
    at javafx.base/com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:269)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.addDeviceInternal(LinuxInputDeviceRegistry.java:104)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.createDevice(LinuxInputDeviceRegistry.java:83)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.LinuxInputDeviceRegistry.lambda$new$0(LinuxInputDeviceRegistry.java:55)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.Udev$1.run(Udev.java:107)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
~e:
    at javafx.graphics/com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
~e:
    at java.base/java.lang.Thread.run(Thread.java:834)
~e:
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
Upvote 0

sorex

Expert
Licensed User
Longtime User
that's the one I'm using, Enrique.

but the 11.0.1 one as in Erel's guide.
 
Upvote 0

sorex

Expert
Licensed User
Longtime User
google found me this B4X thread


I will give that a try
 
Upvote 0

sorex

Expert
Licensed User
Longtime User
went through all passes without problems but when I run the bridge with it and compile an empty app I get this in the log

B4X:
Error: --add-modules= requires modules to be specified

and the process just exits
 
Upvote 0

sorex

Expert
Licensed User
Longtime User
ok, that was a silly thing...

make sure you change the drop down option from "Standard" to "Full" on the Bell JDK download page.

now the GUI appears without problems :)
 
Upvote 0
Top