| Summary: | call to MessageDialog.openInformation, openError, openWarning leads to application breakdown | ||
|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Andrej Dimic <adiinfo> |
| Component: | JFace | Assignee: | Project Inbox <rap-inbox> |
| Status: | RESOLVED INVALID | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | ||
| Version: | 2.0 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Andrej Dimic
Please provide the stack trace of the exception. Controls Demo -> Dialogs Tab is working fine for me. A snippet to reproduce the exception will be useful as well. (In reply to comment #1) > Please provide the stack trace of the exception. This is going on forever... java.lang.UnsupportedOperationException: Display#sleep() not supported in current operation mode. at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle.sleep(SimpleLifeCycle.java:75) at org.eclipse.swt.widgets.Display.sleep(Display.java:1174) at org.eclipse.jface.window.Window.runEventLoop(Window.java:842) at org.eclipse.jface.window.Window.open(Window.java:817) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:334) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:364) at org.eclipse.jface.dialogs.MessageDialog.openInformation(MessageDialog.java:446) at org.eclipse.rap.kabe.KontaktTab$2.widgetSelected(KontaktTab.java:290) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:88) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:692) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:594) at org.eclipse.swt.widgets.Display.executeNextEvent(Display.java:1146) at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1127) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1117) at org.eclipse.rap.rwt.internal.lifecycle.ProcessAction.execute(ProcessAction.java:27) at org.eclipse.rap.rwt.internal.lifecycle.PhaseExecutor.execute(PhaseExecutor.java:35) at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle.execute(SimpleLifeCycle.java:51) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.runLifeCycle(LifeCycleServiceHandler.java:104) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.handlePostRequest(LifeCycleServiceHandler.java:97) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.synchronizedService(LifeCycleServiceHandler.java:65) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.service(LifeCycleServiceHandler.java:58) at org.eclipse.rap.rwt.engine.RWTServlet.handleValidRequest(RWTServlet.java:105) at org.eclipse.rap.rwt.engine.RWTServlet.handleRequest(RWTServlet.java:92) at org.eclipse.rap.rwt.engine.RWTServlet.doPost(RWTServlet.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) java.lang.UnsupportedOperationException: Display#sleep() not supported in current operation mode. at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle.sleep(SimpleLifeCycle.java:75) at org.eclipse.swt.widgets.Display.sleep(Display.java:1174) at org.eclipse.jface.window.Window.runEventLoop(Window.java:842) at org.eclipse.jface.window.Window.open(Window.java:817) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:334) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:364) at org.eclipse.jface.dialogs.MessageDialog.openInformation(MessageDialog.java:446) at org.eclipse.rap.kabe.KontaktTab$2.widgetSelected(KontaktTab.java:290) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:88) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:692) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:594) at org.eclipse.swt.widgets.Display.executeNextEvent(Display.java:1146) at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1127) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1117) at org.eclipse.rap.rwt.internal.lifecycle.ProcessAction.execute(ProcessAction.java:27) at org.eclipse.rap.rwt.internal.lifecycle.PhaseExecutor.execute(PhaseExecutor.java:35) at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle.execute(SimpleLifeCycle.java:51) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.runLifeCycle(LifeCycleServiceHandler.java:104) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.handlePostRequest(LifeCycleServiceHandler.java:97) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.synchronizedService(LifeCycleServiceHandler.java:65) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.service(LifeCycleServiceHandler.java:58) at org.eclipse.rap.rwt.engine.RWTServlet.handleValidRequest(RWTServlet.java:105) at org.eclipse.rap.rwt.engine.RWTServlet.handleRequest(RWTServlet.java:92) at org.eclipse.rap.rwt.engine.RWTServlet.doPost(RWTServlet.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) java.lang.UnsupportedOperationException: Display#sleep() not supported in current operation mode. at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle.sleep(SimpleLifeCycle.java:75) at org.eclipse.swt.widgets.Display.sleep(Display.java:1174) at org.eclipse.jface.window.Window.runEventLoop(Window.java:842) at org.eclipse.jface.window.Window.open(Window.java:817) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:334) at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:364) at org.eclipse.jface.dialogs.MessageDialog.openInformation(MessageDialog.java:446) at org.eclipse.rap.kabe.KontaktTab$2.widgetSelected(KontaktTab.java:290) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:88) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:692) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:594) at org.eclipse.swt.widgets.Display.executeNextEvent(Display.java:1146) at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1127) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1117) at org.eclipse.rap.rwt.internal.lifecycle.ProcessAction.execute(ProcessAction.java:27) at org.eclipse.rap.rwt.internal.lifecycle.PhaseExecutor.execute(PhaseExecutor.java:35) at org.eclipse.rap.rwt.internal.lifecycle.SimpleLifeCycle.execute(SimpleLifeCycle.java:51) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.runLifeCycle(LifeCycleServiceHandler.java:104) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.handlePostRequest(LifeCycleServiceHandler.java:97) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.synchronizedService(LifeCycleServiceHandler.java:65) at org.eclipse.rap.rwt.internal.service.LifeCycleServiceHandler.service(LifeCycleServiceHandler.java:58) at org.eclipse.rap.rwt.engine.RWTServlet.handleValidRequest(RWTServlet.java:105) at org.eclipse.rap.rwt.engine.RWTServlet.handleRequest(RWTServlet.java:92) at org.eclipse.rap.rwt.engine.RWTServlet.doPost(RWTServlet.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) You are using JEE_COMPATIBILITY. If you read the JavaDoc of OperationMode#JEE_COMPATIBILITY you will find the following:
* As its only limitation, it does not support the SWT main loop (more
* specifically, the method {@link Display#sleep()} is not implemented). As
* a consequence, blocking dialogs aren't possible with this operation mode.
* Instead of blocking dialogs, the class {@link DialogUtil} allows to
* attach a callback to react on the closing of a dialog.
See this newsgroup post for more details:
http://www.eclipse.org/forums/index.php/mv/msg/262054/759310/#msg_759310
(In reply to comment #4) > You are using JEE_COMPATIBILITY. If you read the JavaDoc of > OperationMode#JEE_COMPATIBILITY you will find the following: > * As its only limitation, it does not support the SWT main loop (more > * specifically, the method {@link Display#sleep()} is not implemented). As > * a consequence, blocking dialogs aren't possible with this operation mode. > * Instead of blocking dialogs, the class {@link DialogUtil} allows to > * attach a callback to react on the closing of a dialog. > See this newsgroup post for more details: > http://www.eclipse.org/forums/index.php/mv/msg/262054/759310/#msg_759310 ok, i set SWT_COMPATIBILITY and now it works. Thanks. Andrej |