bug: BAS тихо падает если использовать модуль mariadb.
-
BAS тихо падает при использовании модуля mariadb . Скрипт обрабатывает данные и вместо корректно завершениям работы, BAS падает, в режиме записи все работает.
То есть сам скрипт работает, данные выводит, что-то там делает, но в конце работы падает.В логах Windows:
Faulting application name: BrowserAutomationStudio.exe, version: 0.0.0.0, time stamp: 0x6414506d Faulting module name: MSVCR120.dll, version: 12.0.21005.1, time stamp: 0x524f83ff Exception code: 0xc00000fd Fault offset: 0x0000000000066962 Faulting process id: 0x2704 Faulting application start time: 0x01d98afb78e0abdb Faulting application path: C:\Users\Administrator\AppData\Roaming\BrowserAutomationStudio\apps\25.5.0\BrowserAutomationStudio.exe Faulting module path: C:\Users\Administrator\AppData\Roaming\BrowserAutomationStudio\apps\25.5.0\MSVCR120.dll Report Id: acf7bb58-192b-4d5a-8ec2-28f374c702a0 Faulting package full name: Faulting package-relative application ID:
const mariadb = require('mariadb'); console.log("DB_HOST: " + [[DB_HOST]] + " DB_USERNAME: " + [[DB_USERNAME]] + " DB_PASSWORD: " + [[DB_PASSWORD]] + " DB_DATABASE: " + [[DB_DATABASE]]) const pool = mariadb.createPool({ host: [[DB_HOST]], user: [[DB_USERNAME]], password: [[DB_PASSWORD]], database: [[DB_DATABASE]], connectTimeout: [[DB_CONNECT_TIMEOUT]], connectionLimit: 50, }); await(new Promise(async (resolve, reject) => { let conn try { conn = await pool.getConnection(); } catch (err) { console.error(`not connected due to error: ${err}`); reject(err) } console.log(`[db]: connected: ${conn.threadId}`); try { const result = await conn.query('SELECT VERSION();'); console.log(result); } catch (err) { console.error(err); reject(err) } finally { conn.release(); } resolve() }));
node_log.txt:
[03:11:50.302] Language version set to 18.10.0 [03:11:50.302] Added module mariadb, 3.1.2 [03:11:50.303] Added function pd4s1d8kryb [03:11:50.303] ------------------------------------------------------------------ [03:11:50.303] Starting Node.js 18.10.0 [03:11:50.304] Found installed distr C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/c3f8.y59q [03:11:50.305] Calculating checksums for C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr [03:11:50.306] Checksum verified successfully [03:11:50.307] Hash c3f8 [03:11:50.307] Deleting functions and files [03:11:50.307] Removing directory C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr/app/lib/custom [03:11:50.309] Installing functions and files [03:11:50.310] Installing function C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr/app/lib/custom/pd4s1d8kryb.js [03:11:50.311] Starting pipes server \\.\pipe\basembeddedpipes18.10.06684 [03:11:50.311] Starting process C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q/distr/node.exe [03:11:50.412] Autoclean [03:11:50.412] Not modified C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/89e6.x4Hh for 185 seconds [03:11:50.413] Not modified C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/c3f8.y59q for 0 seconds [03:11:50.413] Autoclean current cache C:/Users/Administrator/AppData/Roaming/BrowserAutomationStudio/apps/25.5.0/e/cache.y59q [03:11:50.414] Started success
mariadb Ver 15.1 Distrib 10.6.12-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
Минимальный проект, при старте нужно указать данные подключения к серверу MariaDB.
mariadb_example.xml
-
@sergerdn said in bug: BAS тихо падает если использовать модуль mariadb.:
BAS тихо падает при использовании модуля mariadb . Скрипт обрабатывает данные и вместо корректно завершениям работы, BAS падает, в режиме записи все работает.
То есть сам скрипт работает, данные выводит, что-то там делает, но в конце работы падает.Минимальный проект, при старте нужно указать данные подключения к серверу MariaDB.
mariadb_example.xmlВ вашем проекте используется тип запуска "Повторять" при этом в функции "OnApplicationStart" нет пауз. Для теста попробуйте изменить тип запуска с "Повторять" на "Один раз", или установите в функции "OnApplicationStart" действие "Спать" первым действием на 1 секунду
-
@Fox said in bug: BAS тихо падает если использовать модуль mariadb.:
@sergerdn said in bug: BAS тихо падает если использовать модуль mariadb.:
BAS тихо падает при использовании модуля mariadb . Скрипт обрабатывает данные и вместо корректно завершениям работы, BAS падает, в режиме записи все работает.
То есть сам скрипт работает, данные выводит, что-то там делает, но в конце работы падает.Минимальный проект, при старте нужно указать данные подключения к серверу MariaDB.
mariadb_example.xmlВ вашем проекте используется тип запуска "Повторять" при этом в функции "OnApplicationStart" нет пауз. Для теста попробуйте изменить тип запуска с "Повторять" на "Один раз", или установите в функции "OnApplicationStart" действие "Спать" первым действием на 1 секунду
Интересный вариант, что надо делать паузу в OnApplicationStart, если скрипт работает по кругу, спасибо за подсказку!
-
@sergerdn said in bug: BAS тихо падает если использовать модуль mariadb.:
В вашем проекте используется тип запуска "Повторять" при этом в функции "OnApplicationStart" нет пауз. Для теста попробуйте изменить тип запуска с "Повторять" на "Один раз", или установите в функции "OnApplicationStart" действие "Спать" первым действием на 1 секунду
Интересный вариант, что надо делать паузу в OnApplicationStart, если скрипт работает по кругу, спасибо за подсказку!
Проблема в том, что интерфейс BAS может зависнуть при очень больших или бесконечных циклах без задержки, а в зависимости от настроек операционной системы зависшее приложение может быть закрыто автоматически. Тип запуска "повторять" по сути является бесконечным циклом, я предложил добавить задержку в функцию "OnApplicationStart", что бы вы могли увидеть ошибку, которая и приводит к постоянному завршению потока с последующим мгновенным запуском.
-
@Fox said in bug: BAS тихо падает если использовать модуль mariadb.:
"OnApplicationStart", что бы вы могли увидеть ошибку, которая и приводит к постоянному завршению потока с последующим мгновенным запуском.
Может в функцию "main" ?..
-
@UserTrue said in bug: BAS тихо падает если использовать модуль mariadb.:
@Fox said in bug: BAS тихо падает если использовать модуль mariadb.:
"OnApplicationStart", что бы вы могли увидеть ошибку, которая и приводит к постоянному завршению потока с последующим мгновенным запуском.
Может в функцию "main" ?..
В его тестовом скрипте функция "main" пуста, весь код находится в функции "OnApplicationStart"