Skip to content

Completely disable thread pool initialization for metrics feature #731

@dsultanr

Description

@dsultanr

I have a strange issue in a Lotus Domino with the Slack api

[014201:000008-00007F0319398700] 04/19/2021 22:15:53   Agent Manager: Agent printing: sending slack message
[014201:000008-00007F0319398700] 04/19/2021 22:15:54   Agent Manager: Agent printing: sendSlackChannelMessage>pChannel ->membership<-
[014201:000008-00007F0319398700] 04/19/2021 22:15:56   Agent Manager: Agent printing: WebhookResponse(code=200, message=OK, body=ok)
[014201:000009-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error: Exception in thread "slack-api-client-metrics-memory:e56980fe-worker-47" 
[014201:000010-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error: Exception in thread "slack-api-client-metrics-memory:cfa21c1a-worker-45" 
[014201:000011-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error: java.lang.IllegalMonitorStateException
[014201:000012-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error: java.lang.IllegalMonitorStateException
[014201:000015-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error: Exception in thread "slack-api-client-metrics-memory:fe1c9a21-worker-46" 
[014201:000016-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.signal(AbstractQueuedSynchronizer.java:1950)
[014201:000018-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.signal(AbstractQueuedSynchronizer.java:1950)
[014201:000019-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error: java.lang.IllegalMonitorStateException
[014201:000022-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.signal(AbstractQueuedSynchronizer.java:1950)
[014201:000023-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1114)
[014201:000026-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1114)
[014201:000027-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:820)
[014201:000029-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1114)
[014201:000031-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:820)
[014201:000032-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:820)
[014201:000036-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1085)
[014201:000037-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1085)
[014201:000039-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1085)
[014201:000041-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[014201:000042-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[014201:000045-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[014201:000048-00007F03192D5700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:812)
[014201:000049-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[014201:000052-00007F0319357700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:812)
[014201:000053-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[014201:000056-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[014201:000058-00007F0319316700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:812)
[014201:000007-00007F03198B4700] 04/19/2021 22:15:56   Agent Manager: Agent  error: Error cleaning up agent threads
[014201:000060-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error: Exception in thread "slack-api-client-metrics-memory:cfa21c1a-worker-53" 
[014201:000061-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error: Exception in thread "slack-api-client-metrics-memory:fe1c9a21-worker-52" 
[014201:000062-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error: Exception in thread "slack-api-client-metrics-memory:e56980fe-worker-54" 
[014201:000063-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error: java.lang.IllegalMonitorStateException
[014201:000064-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error: java.lang.IllegalMonitorStateException
[014201:000067-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error: java.lang.IllegalMonitorStateException
[014201:000068-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.signal(AbstractQueuedSynchronizer.java:1950)
[014201:000069-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.signal(AbstractQueuedSynchronizer.java:1950)
[014201:000072-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.signal(AbstractQueuedSynchronizer.java:1950)
[014201:000074-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1114)
[014201:000077-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:820)
[014201:000078-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1114)
[014201:000081-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1085)
[014201:000082-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:820)
[014201:000085-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[014201:000086-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1085)
[014201:000089-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[014201:000090-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[014201:000092-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1114)
[014201:000094-00007F0319294700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:812)
[014201:000097-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:820)
[014201:000098-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[014201:000101-00007F0319253700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:812)
[014201:000103-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1085)
[014201:000105-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[014201:000107-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[014201:000109-00007F0319212700] 04/19/2021 22:15:56   Agent Manager: Agent  error:  at java.lang.Thread.run(Thread.java:812)

The Slack SDK version

	<dependency>
		<groupId>com.slack.api</groupId>
		<artifactId>slack-api-client</artifactId>
		<version>1.6.2</version>
	</dependency>

Java Runtime version

[010392:000002-00007FF303406740] 04/21/2021 10:00:57 Java runtime version: 8.0.5.21 - pxa6480sr5fp21-20180830_01(SR5 FP21)
[010392:000002-00007FF303406740] 04/21/2021 10:00:57 JVM version: JRE 1.8.0 Linux amd64-64-Bit 20180829_395745 (JIT enabled, AOT enabled) OpenJ9 - e82188c OMR - eeaa30e IBM - 98805ca

OS info

Linux 46f0066d17e5 3.10.0-957.10.1.el7.x86_64 #1 SMP Mon Mar 18 15:06:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Steps to reproduce:

public class SlackActions {

	public String sendSlackChannelMessage(String pChannel,String textBody) {
			String returnMsg = "OK, sent";
			String slackChannelURL = "...";
			
			Payload payload = Payload.builder().text(textBody).build();
			
			Slack slack = Slack.getInstance();		

			try {
				WebhookResponse response = slack.send(slackChannelURL, payload);
				System.out.println(response); // WebhookResponse(code=200, message=OK, body=ok)
			} catch (IOException e) {
				System.out.println( "Work/sendSlackChannelMessage>Something bad just happened." ); 
				System.out.println( "Work/sendSlackChannelMessage>" + e ); 
				e.printStackTrace();
				returnMsg = e.toString();
			}

			return returnMsg;
	}



public class JavaAgent extends AgentBase {
	
	public void NotesMain() {
		try {

			SlackActions slackActions = new SlackActions();
		    slackResponse = slackActions.sendSlackChannelMessage("membership",SMSTextBody);

		} catch (Exception e) {
			System.out.println("exception " + e);
	    }	
	}

Expected result:

clean exit

Actual result:

threads cleanup error, logs are in top of this message

error thrown even if I comment out block with slack.send call and just leave Slack.getInstance()

Did threads debug (debugger code here) before agent exit and here is the output:

[031267:000113-00007F5A59B2C700] 04/21/2021 00:10:31   Agent Manager: Agent printing: Dump the current threadgroup:
[031267:000113-00007F5A59B2C700] 04/21/2021 00:10:31   Agent Manager: Agent printing: ThreadGroup UTG: JavaAgent, objid = 1743864694
[031267:000113-00007F5A59B2C700] 04/21/2021 00:10:31   Agent Manager: Agent printing:   subgroups  = 3
[031267:000113-00007F5A59B2C700] 04/21/2021 00:10:31   Agent Manager: Agent printing:   total threads = 4
[031267:000113-00007F5A59B2C700] 04/21/2021 00:10:31   Agent Manager: Agent printing:  THREADNAME, THREADID, THREADGROUP
[031267:000113-00007F5A59B2C700] 04/21/2021 00:10:31   Agent Manager: Agent printing: AgentThread: JavaAgent, 563351903, UTG: JavaAgent

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions