Error while previewing form

1
0
-1

Hello!

I work with Bonita BPM Community edition. I have a process was made on v7.0.0. Now I want to migrate to v7.0.2, but when I open any form from my process in designer (v7.0.2) and click "Preview", I get an error

2015-09-30 02:21:03.989 +0600 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/designer] org.apache.catalina.core.ApplicationContext log
INFO: Spring WebApplicationInitializers detected on classpath: [org.bonitasoft.web.designer.SpringWebApplicationInitializer@eff181]
2015-09-30 02:21:04.027 +0600 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/designer] org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
2015-09-30 02:21:06.532 +0600 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/designer] org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcher'
2015-09-30 02:21:20.375 +0600 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/designer].[dispatcher] org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/designer] threw exception [Request processing failed; nested exception is org.springframework.web.socket.sockjs.SockJsException: Uncaught failure in SockJS request, uri=http://localhost:8080/designer/websockets/603/dujaudc4/xhr_streaming; nested exception is org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to open session; nested exception is java.lang.IllegalArgumentException: Async support must be enabled on a servlet and for all filters involved in async request processing. This is done in Java code using the Servlet API or by adding "true" to servlet and filter declarations in web.xml. Also you must use a Servlet 3.0+ container] with root cause
java.lang.IllegalArgumentException: Async support must be enabled on a servlet and for all filters involved in async request processing. This is done in Java code using the Servlet API or by adding "true" to servlet and filter declarations in web.xml. Also you must use a Servlet 3.0+ container
at org.springframework.util.Assert.isTrue(Assert.java:65)
at org.springframework.http.server.ServletServerHttpAsyncRequestControl.(ServletServerHttpAsyncRequestControl.java:58)
at org.springframework.http.server.ServletServerHttpRequest.getAsyncRequestControl(ServletServerHttpRequest.java:213)
at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.handleInitialRequest(AbstractHttpSockJsSession.java:202)
at org.springframework.web.socket.sockjs.transport.handler.AbstractHttpSendingTransportHandler.handleRequestInternal(AbstractHttpSendingTransportHandler.java:68)
at org.springframework.web.socket.sockjs.transport.handler.AbstractHttpSendingTransportHandler.handleRequest(AbstractHttpSendingTransportHandler.java:58)
at org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService.handleTransportRequest(TransportHandlingSockJsService.java:270)
at org.springframework.web.socket.sockjs.support.AbstractSockJsService.handleRequest(AbstractSockJsService.java:381)
at org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler.handleRequest(SockJsHttpRequestHandler.java:90)
at
org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

On v7.0.0 and 7.0.1 everything is OK, but on 7.0.2+ preview doesn't work for new forms also.

P.S. My collegue has a reverse situation: he gets an error while previewing forms on v7.0.0 and 7.0.1.

Comments

Submitted by antoine.mottier on Wed, 09/30/2015 - 11:39

Is it possible for you to share the form so I can do some test and try to reproduce the issue?

Submitted by sobralex000 on Wed, 09/30/2015 - 14:57

It's not a concrete form. If I create a new form in 7.0.2 I get the same error.

2 answers

1
0
-1

Thanks for the response!

I installed Bonita v7.1.0 and error has changed (catalina log):

2015-09-30 23:05:54.578 +0500 org.springframework.web.socket.config.WebSocketMessageBrokerStats org.springframework.web.socket.config.WebSocketMessageBrokerStats$1 run
INFO: WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannelpool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]
2015-09-30 23:06:57.737 +0500 org.apache.coyote.http11.Http11Processor org.apache.coyote.AbstractProcessor setErrorState
INFO: An error occurred in processing while on a non-container thread. The connection will be closed immediately
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:119)
at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:800)
at org.apache.coyote.Response.action(Response.java:172)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:363)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:331)
at org.apache.catalina.connector.Response.flushBuffer(Response.java:580)
at org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:306)
at org.springframework.http.server.ServletServerHttpResponse.flush(ServletServerHttpResponse.java:90)
at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.writeFrameInternal(AbstractHttpSockJsSession.java:345)
at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:325)
at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.sendHeartbeat(AbstractSockJsSession.java:249)
at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession$1.run(AbstractSockJsSession.java:269)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

In addition to error in log, form preview run as blank page (on v7.0.2 and 7.0.3 too). Any widgets, which I put on the form, aren't loaded.
In chrome console I get next errors:
errors

Comments

Submitted by antoine.mottier on Thu, 10/01/2015 - 10:23

In order to reproduce the issue I need to make sure that I get correctly all steps you performed.

Can you confirm the scenario to reproduce the issue and answer below questions?

  • You download Bonita BPM Studio Community 7.1.0. Which version Windows / Mac / Linux ? Which packaging (.exe, .dmg, .run, .zip)?
  • You install Bonita BPM Studio
  • You create a new process
  • You define a process instantiation form by selecting the pool, going to Execution -> Instantiation form and clicking on the pencil icon
  • You add a widget on the form. Which kind of widget? Any specific configuration?
  • You click on Savebutton
  • You click on Preview button
  • A new web browser window pop up with an empty page
  • You check the content of the latest catalina log file in Studio folder: `workspace/tomcat/logs/catalina.2015-MM-DD.log and you get the stack trace you shared.

Can you also share the full content of the logs folder? To limit the log size, can you close the Studio, remove all logs files, restart the Studio, do your test again and at this stage zip the log folder.

Thanks

Submitted by sobralex000 on Thu, 10/01/2015 - 11:23

You define steps correctly.
1. I tried to install different versions (7.0.2 x32, 7.0.2 x64, 7.0.3, 7.1.0). All for Windows, .exe packaging.
2. I tried to create new form with different widgets (button, text, link) and to import form from v7.0.0. I get the same result.
3. Below stacktrace on v7.0.2:
logs

Submitted by sobralex000 on Thu, 10/01/2015 - 13:42

7.1.0 logs

Submitted by antoine.mottier on Thu, 10/01/2015 - 14:01

Can you share the 7.1.0 log files? Because the error reported in 7.0.2 log files should be fixed in 7.1.0.

Thanks

Submitted by sobralex000 on Thu, 10/01/2015 - 22:09

Your colleagues gave advice to clear the cache in the browser. That helped.
Thanks.

1
0
-1

If I understand correctly your issue is that an error is logged but you don't experience any other abnormal behavior.

The issue about this specific stacktrace has been fixed in Bonita BPM 7.1.0. You might want to upgrade to this version to get the latest bug fix.

Notifications