Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-18854

WFLYPRT0057 message handling improvement

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Not a Bug
    • Major
    • None
    • None
    • CLI, Management, Remoting
    • None

    Description

      WFLYPRT0057 message may or may not be output.

      This message is output if an AsyncTaskRunner runable thread is not null(ManagementRequestContextImpl.java:139).

      org/jboss.as/protocol/mgmt/ManagementRequestContextImpl.java
      126    private abstract static class AsyncTaskRunner implements Runnable, Cancellable {
      --- snip ---
      135        @Override
      136        public Cancellable cancel() {
      137            if (cancellable && cancelled.compareAndSet(false, true)) {
      138                final Thread thread = this.thread;
      139                if(thread != null) {
      140                    thread.interrupt();
      141                    ProtocolLogger.ROOT_LOGGER.cancelledAsyncTask(getClass().getSimpleName(), thread);
      142                }
      143            }
      144            return this;
      145        }
      --- snip ---
      152        @Override
      153        public void run() {
      154            if (cancellable && cancelled.get()) {
      155                Thread.currentThread().interrupt();
      156                ProtocolLogger.ROOT_LOGGER.cancelledAsyncTaskBeforeRun(getClass().getSimpleName());
      157            }
      158            this.thread = Thread.currentThread();
      159            try {
      160                doExecute();
      161            } finally {
      162                this.thread = null;
      163            }
      164        }
      

      The process is working on multi thread, so the WFLYPRT0057 message is output by race condition of null thread handling(ManagementRequestContextImpl.java:162).
      This is just a timing, we cannot determine the need for this message.

      - Thread dump
      "management task-2" #139 prio=5 os_prio=0 tid=0x0000562c38351800 nid=0x3626 at breakpoint[0x00007facf3098000]
         java.lang.Thread.State: RUNNABLE
      	at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.cancel(ManagementRequestContextImpl.java:141)
      	at org.jboss.as.protocol.mgmt.ActiveOperationImpl.asyncCancel(ActiveOperationImpl.java:150)
      	at org.jboss.as.protocol.mgmt.AbstractMessageHandler.cancelAllActiveOperations(AbstractMessageHandler.java:441)
      	at org.jboss.as.protocol.mgmt.AbstractMessageHandler.shutdownNow(AbstractMessageHandler.java:150)
      	at org.jboss.as.remoting.AbstractChannelOpenListenerService$2.handleClose(AbstractChannelOpenListenerService.java:181)
      	at org.jboss.as.remoting.AbstractChannelOpenListenerService$2.handleClose(AbstractChannelOpenListenerService.java:178)
      	at org.jboss.remoting3.spi.SpiUtils.safeHandleClose(SpiUtils.java:50)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable$CloseHandlerTask.run(AbstractHandleableCloseable.java:520)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable.runCloseTask(AbstractHandleableCloseable.java:425)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeComplete(AbstractHandleableCloseable.java:286)
      	at org.jboss.remoting3.remote.RemoteConnectionChannel.closeAction(RemoteConnectionChannel.java:508)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable.close(AbstractHandleableCloseable.java:150)
      	at org.jboss.as.protocol.mgmt.ManagementChannelReceiver.handleEnd(ManagementChannelReceiver.java:129)
      	at org.jboss.remoting3.remote.RemoteConnectionChannel.lambda$notifyEnd$0(RemoteConnectionChannel.java:273)
      	at org.jboss.remoting3.remote.RemoteConnectionChannel$$Lambda$737/243506564.run(Unknown Source)
      	at org.jboss.remoting3.EndpointImpl$TrackingExecutor.lambda$execute$0(EndpointImpl.java:991)
      	at org.jboss.remoting3.EndpointImpl$TrackingExecutor$$Lambda$720/801134859.run(Unknown Source)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
      	at java.lang.Thread.run(Thread.java:748)
      
      "management-handler-thread - 3" #145 prio=5 os_prio=0 tid=0x0000562c38d5b000 nid=0x3b80 at breakpoint[0x00007facf416f000]
         java.lang.Thread.State: RUNNABLE
      	at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:162)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
      	at java.lang.Thread.run(Thread.java:748)
      	at org.jboss.threads.JBossThread.run(JBossThread.java:485)
      
      - log
      09:45:24,686 INFO  [org.jboss.as.protocol] (management task-2) WFLYPRT0057:  cancelled task by interrupting thread Thread[management-handler-thread - 3,5,management-handler-thread]
      

      Attachments

        Issue Links

          Activity

            People

              kathermanova Katarína Hermanová
              rhn-support-enagai Eiichi Nagai (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: