Testsuite: org.apache.tomcat.websocket.TestWsRemoteEndpoint Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 38.595 sec ------------- Standard Error ----------------- 24-Sep-2024 09:51:13.475 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterZeroLengthAnnotation] 24-Sep-2024 09:51:15.356 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-1"] 24-Sep-2024 09:51:15.517 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:15.519 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:15.753 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42775"] 24-Sep-2024 09:51:15.953 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42775"] 24-Sep-2024 09:51:15.958 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:16.010 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42775"] 24-Sep-2024 09:51:16.015 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42775"] 24-Sep-2024 09:51:16.052 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterAnnotation] 24-Sep-2024 09:51:16.068 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-2"] 24-Sep-2024 09:51:16.201 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:16.201 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:16.223 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-2-43173"] 24-Sep-2024 09:51:16.298 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-2-43173"] 24-Sep-2024 09:51:16.299 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:16.304 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [http-nio2-127.0.0.1-auto-2-exec-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.base@17.0.7/sun.nio.ch.FileDispatcherImpl.close0(Native Method) java.base@17.0.7/sun.nio.ch.SocketDispatcher.close(SocketDispatcher.java:70) java.base@17.0.7/sun.nio.ch.UnixAsynchronousSocketChannelImpl.implClose(UnixAsynchronousSocketChannelImpl.java:226) java.base@17.0.7/sun.nio.ch.AsynchronousSocketChannelImpl.close(AsynchronousSocketChannelImpl.java:144) app//org.apache.tomcat.util.net.Nio2Channel.close(Nio2Channel.java:81) app//org.apache.tomcat.util.net.Nio2Channel.close(Nio2Channel.java:94) app//org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.doClose(Nio2Endpoint.java:970) app//org.apache.tomcat.util.net.SocketWrapperBase.close(SocketWrapperBase.java:425) app//org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doClose(WsRemoteEndpointImplServer.java:304) app//org.apache.tomcat.websocket.WsRemoteEndpointImplBase.close(WsRemoteEndpointImplBase.java:750) app//org.apache.tomcat.websocket.WsSession.closeConnection(WsSession.java:669) app//org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:659) app//org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:347) app//org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:279) app//org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) app//org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) app//org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) app//org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) app//org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) app//org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) app//org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) app//org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) app//org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1685) app//org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) app//org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1266) app//org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:634) app//org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:610) java.base@17.0.7/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) java.base@17.0.7/sun.nio.ch.Invoker$2.run(Invoker.java:221) java.base@17.0.7/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) app//org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) app//org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) app//org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) java.base@17.0.7/java.lang.Thread.run(Thread.java:833) 24-Sep-2024 09:51:16.306 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-2-43173"] 24-Sep-2024 09:51:16.310 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-2-43173"] 24-Sep-2024 09:51:16.318 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterProgrammatic] 24-Sep-2024 09:51:16.327 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-3"] 24-Sep-2024 09:51:16.352 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:16.352 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:16.373 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-3-32779"] 24-Sep-2024 09:51:16.406 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-3-32779"] 24-Sep-2024 09:51:16.407 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:16.412 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-3-32779"] 24-Sep-2024 09:51:16.413 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-3-32779"] 24-Sep-2024 09:51:16.417 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testStreamProgrammatic] 24-Sep-2024 09:51:16.419 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-4"] 24-Sep-2024 09:51:16.428 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:16.428 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:16.435 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-4-37447"] 24-Sep-2024 09:51:16.453 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-4-37447"] 24-Sep-2024 09:51:16.454 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:16.457 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-4-37447"] 24-Sep-2024 09:51:16.458 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-4-37447"] 24-Sep-2024 09:51:16.461 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterErrorProgrammatic] 24-Sep-2024 09:51:16.462 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-5"] 24-Sep-2024 09:51:16.480 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:16.480 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:16.492 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-5-42243"] 24-Sep-2024 09:51:16.517 SEVERE [http-nio2-127.0.0.1-auto-5-exec-3] org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError No error handling configured for [org.apache.tomcat.websocket.TesterEchoServer$WriterError] and the following error occurred java.lang.RuntimeException at org.apache.tomcat.websocket.TesterEchoServer$WriterError.echoTextMessage(TesterEchoServer.java:200) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:102) at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:390) at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:130) at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:484) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:284) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1685) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1266) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:634) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:610) at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:833) 24-Sep-2024 09:51:16.519 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-5-42243"] 24-Sep-2024 09:51:16.520 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:16.524 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-5-42243"] 24-Sep-2024 09:51:16.524 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-5-42243"] 24-Sep-2024 09:51:16.528 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterZeroLengthProgrammatic] 24-Sep-2024 09:51:16.530 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-6"] 24-Sep-2024 09:51:16.561 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:16.561 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:16.566 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-6-44729"] 24-Sep-2024 09:51:16.575 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-6-44729"] 24-Sep-2024 09:51:16.578 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:16.581 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-6-44729"] 24-Sep-2024 09:51:51.638 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-6-44729"] 24-Sep-2024 09:51:51.641 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testStreamAnnotation] 24-Sep-2024 09:51:51.642 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-7"] 24-Sep-2024 09:51:51.644 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:51.645 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:51.649 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-7-41035"] 24-Sep-2024 09:51:51.660 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-7-41035"] 24-Sep-2024 09:51:51.660 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:51.663 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-7-41035"] 24-Sep-2024 09:51:51.663 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-7-41035"] 24-Sep-2024 09:51:51.665 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterErrorAnnotation] 24-Sep-2024 09:51:51.666 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-8"] 24-Sep-2024 09:51:51.669 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 24-Sep-2024 09:51:51.669 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.31-dev] 24-Sep-2024 09:51:51.673 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-8-41745"] 24-Sep-2024 09:51:51.679 SEVERE [http-nio2-127.0.0.1-auto-8-exec-3] org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError No error handling configured for [org.apache.tomcat.websocket.TesterEchoServer$WriterError] and the following error occurred java.lang.RuntimeException at org.apache.tomcat.websocket.TesterEchoServer$WriterError.echoTextMessage(TesterEchoServer.java:200) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:102) at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:390) at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:130) at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:484) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:284) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1685) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1266) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:634) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:610) at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:833) 24-Sep-2024 09:51:51.681 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-8-41745"] 24-Sep-2024 09:51:51.681 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 24-Sep-2024 09:51:51.683 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-8-41745"] 24-Sep-2024 09:51:51.683 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-8-41745"] ------------- ---------------- --------------- Testcase: testWriterZeroLengthAnnotation took 2.804 sec Testcase: testWriterAnnotation took 0.265 sec Testcase: testWriterProgrammatic took 0.099 sec Testcase: testStreamProgrammatic took 0.043 sec Testcase: testWriterErrorProgrammatic took 0.068 sec Testcase: testWriterZeroLengthProgrammatic took 35.112 sec Testcase: testStreamAnnotation took 0.025 sec Testcase: testWriterErrorAnnotation took 0.02 sec