Добрый день!
Windows 10 x64, BAS 22.1.2
Пробую поработать с BAS_API непосредственно из Node.js. Добрался до функционала File Search, есть необходимость найти все дочерние каталоги в указанной подпапке.
Исходные данные:
Для теста использую одну пустую подпапку и один пустой файл:

Тест 1.
Сперва накидал всё на кубиках - никаких проблем ни в режиме Записи, ни в Запуске в 10 потоков.
Тест 2.
Перенес код скрипта в Node.js - никаких проблем ни в режиме Записи, ни в Запуске в 10 потоков.
var TESTDIR = "d:/temp/filesearch/";
async function fileSearch(folder, mask = '*', mustContain = '', includeFolders = true, includeFiles = true, recursive = true) {
await BAS_API("native_async(\"filesystem\", \"search\", JSON.stringify({folder: \"" + folder + "\",mask: \"" + mask + "\",contains:\"" + mustContain + "\",include_folders:" + includeFolders + ",include_files:" + includeFiles + ",recursive:" + recursive + "}))!\nVAR_RESULT = JSON.parse(_result())[\"d\"]");
return [[RESULT]];
}
console.log("Результат через Node.JS: " + await fileSearch(TESTDIR, "*", '', true, false, false));
Тест 3.
Перенес код для поиска файлов в модуль Node.js и использую его в основном файле.


После запуска в 10 потоков, всего для одного потока результат был ожидаемым:
198888837] [16:01:04] Thread #1 : Результат через Node.JS: before BAS API
[198888837] [16:01:04] Thread #2 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #1 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #1 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #3 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #2 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #2 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #4 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #3 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #3 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #5 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #4 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #4 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #6 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #5 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #5 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #7 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #6 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #6 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #8 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #7 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #7 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #9 : Результат через Node.JS: before BAS API
[878394547] [16:01:04] Thread #8 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #8 : Thread succeeded with message "Ok"
[198888837] [16:01:04] Thread #10 : Результат через Node.JS: d:/temp/filesearch/emptyfolder
[878394547] [16:01:04] Thread #9 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #9 : Thread succeeded with message "Ok"
[878394547] [16:01:04] Thread #10 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:01:04] Thread #10 : Thread succeeded with message "Ok"
[16:01:04] Script finished correctly
Тест 4
Ну, думаю, рассинхрон какой-то, возможно с переменными BAS. Ну может в модулях многопоточно некорректно отрабатывают или еще что. Добавляю паузу на каждый поток, чтобы такой ситуации не повторялось.

И теперь вообще непонятно что происходит, поток который в Тесте 3 возвращал правильный результат отработал, а остальные висят и завершают свою работу по таймауту:
[198888837] [16:05:26] Thread #9 : Результат через Node.JS: d:/temp/filesearch/emptyfolder
[878394547] [16:05:26] Thread #9 : Результат через кубики: d:/temp/filesearch/emptyfolder
[16:05:26] Thread #9 : Thread succeeded with message "Ok"
[198888837] [16:06:26] Thread #1 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:26] Thread #2 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:26] Thread #3 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:26] Thread #4 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:26] Thread #5 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:27] Thread #6 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:27] Thread #7 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:27] Thread #8 : Thread ended with message "Embedded language execution timeout"
[198888837] [16:06:27] Thread #10 : Thread ended with message "Embedded language execution timeout"
[16:06:27] Script finished correctly
Тест 5
Ну и последний тест - проверил что пауза в Node.js без другого функционала нормально работает - так и есть.
Собственно, тут возможно не один баг, но в чем его суть мне сложно понять.
Файл с проектом прикладываю.
0_1569330709993_filesearch.xml