OutOfMemoryError: unable to create new native thread

Получил ошибку из заголовка. Как я понимаю, по смыслу ошибки - это не столько нехватка памяти, сколько попытка создать слишком много потоков. Из приложения потоrи не создаются. Число заданий по расписанию было таким же как и в другие дни. Пользовательских сессий во время падения не было. Стектрейс:
Exception in thread “Atmosphere-Scheduler-36986” java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:717)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:957)
at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:1025)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Как я понимаю, AtmosphereScheduler используется где-то под капотом Cuba. В чём может быть проблема?
Cuba 7.2.14, Windows Sercer 2016

То что в стейтрейсе вы видите AtmosphereScheduler, вовсе не значит, что в нем причина. Нв самом деле ему просто не повезло и на нем закончились ресурсы, а потрачены они скорее всего совсем в другом месте.
В интернете много информации по этой теме, посмотрите например вот эту статью: https://www.baeldung.com/java-outofmemoryerror-unable-to-create-new-native-thread

Спасибо, я читал. Причина, может, и не в нём, но я не понимаю в принципе откуда могло породиться такое количество потоков, что превысило ограничения. Если я правильно понимаю, настройка cuba.schedulingThreadPoolSize(установлено 20) ограничивает число потоков от задач по расписанию, но в случае превышения данной настройки никакого ООМ быть не должно - задача просто станет в очередь. Как я понимаю, ограничение Windows по числу потоков - около 1024. То есть, я не понимаю, откуда может взяться такое количество потоков, если они не порождаются где-то под капотом CUBA. Поэтому я прошу совета - отчего могло породиться такое количество потоков?

Посмотрел список активных потоков на тот момент из дампа. Вопросы:

  1. ScheduledRunnerThread-5 - это потоки задач по расписанию?
  2. cuba_web_scheduler-4 и cuba_core_scheduler-4 - это что-то внутреннее кубовское?
  3. “http-nio-80-exec-39” - это поток UI?
  4. BackgroundTask-3-M.Ivanov - это поток от AsyncTask?
    Заранее спасибо
    Upd. Прилагаю файл со списком потоков из дампа
    threads_for_forum.txt (7.2 КБ)

Да, в таких потоках выполняются CUBA Scheduled Tasks

Это все асинхронные активности фреймворка, в том числе опрос шедулеров для выполнения. См. spring.xml, web-spring.xml

Да, это потоки обработки запросов UI, создаваемые Томкатом.

Да, это рабочий поток Background Tasks.

Кстати, просьба вопросы по CUBA в будущем задавать на CUBA.Platform