BProc Add-on Installation

I’m trying to install the BProc add-on and I’m following exactly the installation instructions on https://doc.cuba-platform.com/bproc-1.0/

I intalled the add-on on existing projects as well as on new empty projects. I’m always getting the same error:

17:23:08.098 ERROR com.haulmont.cuba.web.AppUI             - Unable to init ui
java.lang.RuntimeException: Unable to read class: %sjava.lang.Object
	at com.haulmont.cuba.gui.sys.UiControllerResourceMeta.traverseForRoute(UiControllerResourceMeta.java:113) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.sys.UiControllerResourceMeta.traverseForRoute(UiControllerResourceMeta.java:111) ~[cuba-gui-7.1.1.jar:7.1.1]
and so on ...

Obviously I’m using CUBA version 7.1.1, and I’m also using a valid license key.

Hi,
are you installing a trial version of the add-on or the purchased one?

The purchased one.

Hi Max, Edwin is working on a project for me and I purchased his license keys (just in the last weeks).

If that info helps: I’m working on Ubuntu 18.04.2 with the Cuba Studio IDE 12.0-191

~$ java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)

Could you please provide:

  1. a full stack trace of the exception you get
  2. an empty project with the addon included where the error can be reproduced:
    • create new project
    • include the BProc addon
    • erase you premium repo credentials in the build.gradle file
    • invoke the zipProject gradle task: ./gradlew zipProject

okay, will do that tomorrow. No time this afternoon.

Here is the full stack

=================================================================
09:15:11.051 ERROR com.haulmont.cuba.web.AppUI             - Unable to init ui
java.lang.RuntimeException: Unable to read class: %sjava.lang.Object
	at com.haulmont.cuba.gui.sys.UiControllerResourceMeta.traverseForRoute(UiControllerResourceMeta.java:113) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.sys.UiControllerResourceMeta.traverseForRoute(UiControllerResourceMeta.java:111) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.sys.UiControllerResourceMeta.traverseForRoute(UiControllerResourceMeta.java:111) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.sys.UiControllerResourceMeta.extractRouteDefinition(UiControllerResourceMeta.java:79) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.sys.UiControllerResourceMeta.getRouteDefinition(UiControllerResourceMeta.java:51) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.sys.UiControllerDefinition.getRouteDefinition(UiControllerDefinition.java:40) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.config.WindowConfig.loadScreenConfigurations(WindowConfig.java:261) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.config.WindowConfig.init(WindowConfig.java:240) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.config.WindowConfig.checkInitialized(WindowConfig.java:221) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.config.WindowConfig.findWindowInfo(WindowConfig.java:527) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.config.WindowConfig.getWindowInfo(WindowConfig.java:558) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.sys.WebScreens.create(WebScreens.java:173) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.gui.Screens.create(Screens.java:70) ~[cuba-gui-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.App.createTopLevelWindow(App.java:300) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.DefaultApp.initializeUi(DefaultApp.java:243) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.DefaultApp.connectionStateChanged(DefaultApp.java:111) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.bali.events.EventHub.publish(EventHub.java:170) ~[cuba-global-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.security.ConnectionImpl.fireStateChangeListeners(ConnectionImpl.java:228) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.security.ConnectionImpl.login(ConnectionImpl.java:106) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.DefaultApp.loginOnStart(DefaultApp.java:311) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.AppUI.setupUI(AppUI.java:477) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.AppUI.init(AppUI.java:337) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.vaadin.ui.UI.doInit(UI.java:738) ~[vaadin-server-8.6.4-20-cuba.jar:8.6.4-20-cuba]
	at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:209) ~[vaadin-server-8.6.4-20-cuba.jar:8.6.4-20-cuba]
	at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:67) ~[vaadin-server-8.6.4-20-cuba.jar:8.6.4-20-cuba]
	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) ~[vaadin-server-8.6.4-20-cuba.jar:8.6.4-20-cuba]
	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1577) ~[vaadin-server-8.6.4-20-cuba.jar:8.6.4-20-cuba]
	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:425) ~[vaadin-server-8.6.4-20-cuba.jar:8.6.4-20-cuba]
	at com.haulmont.cuba.web.sys.CubaApplicationServlet.serviceAppRequest(CubaApplicationServlet.java:329) ~[cuba-web-7.1.1.jar:7.1.1]
	at com.haulmont.cuba.web.sys.CubaApplicationServlet.service(CubaApplicationServlet.java:215) ~[cuba-web-7.1.1.jar:7.1.1]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[catalina.jar:9.0.19]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.19]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-websocket.jar:9.0.19]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.19]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.19]
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:107) ~[spring-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
	at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:73) ~[spring-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
	at com.haulmont.cuba.web.sys.CubaHttpFilter.doFilter(CubaHttpFilter.java:93) ~[cuba-web-7.1.1.jar:7.1.1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.19]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.19]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) ~[catalina.jar:9.0.19]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[catalina.jar:9.0.19]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) ~[catalina.jar:9.0.19]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) ~[catalina.jar:9.0.19]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:9.0.19]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) ~[catalina.jar:9.0.19]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[catalina.jar:9.0.19]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[catalina.jar:9.0.19]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) ~[tomcat-coyote.jar:9.0.19]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-coyote.jar:9.0.19]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836) ~[tomcat-coyote.jar:9.0.19]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1747) ~[tomcat-coyote.jar:9.0.19]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:9.0.19]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.19]
	at java.base/java.lang.Thread.run(Thread.java:830) ~[na:na]

Using the URL parameter ?debug gives a slightly different error

Does everything works fine if you don’t add the BProc addon and just start a new CUBA project?

The project you’ve attached started without any issue on my side

Also, could you please attach the full app.log file? Maybe we’ll see something else there.

Where do I find the app.log file in question?
Did you reproduce my environment? May it be related to the Linux version?
And yes everything works fine without the Add-on

app.log (562.9 KB)
Here is the log file, Found it :slight_smile:

And here is the issue:

Some of environment checks failed on web module:
Unsupported Java version detected: 13; Cuba supports Java 8, 9 or 11

I find that a bit weird for a new product (BProc 1.0.0) not supporting the latest technology. So I need to downgrade my java version?

Well, Java 13 is not officially supported: https://doc.cuba-platform.com/manual-7.1/setup.html
You told me that your Java version is 11. Could you please check that it works with 11?

It’s a bit weird, as I don’t have Java 13 installed, I have Java 11 and Java 8 installed, but Java 11 is active

sudo update-alternatives --config java
[sudo] password for edwin: 
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

What are the values of JAVA_HOME and JRE_HOME environment variables?

Problem fixed, the JAVA_HOME path actually pointed to a none-standard path of my JAVA 13 installation. I changed that to a 11 version and now it works fine.
Thank you! Problem solved!