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"


Log in to reply
 

  • 6
  • 4
  • 17
  • 2
  • 3
  • 9
  • 7
  • 2