Open DitriXNew opened 1 year ago
@DitriXNew На клиент-сервере пока не тестировал, но на файловой базе, на учебной версии 8.3.22.1709 под Ubuntu отрабатывает без ошибок и на клиенте и в серверном контексте и на клиенте в асинхронном режиме.
@alexkmbk ну вот у меня в клиент сервере на debian 10, на 8.3.22.1709 и на поздних - вот такое странное поведение. Что можно скинуть чтобы понять причину? Тех журнал поможет?
@alexkmbk ну вот у меня в клиент сервере на debian 10, на 8.3.22.1709 и на поздних - вот такое странное поведение. Что можно скинуть чтобы понять причину? Тех журнал поможет?
На счет тех журнала не уверен, но если удасться поймать какое-либо исключение было бы здорово. У меня ещё пока просто нет машины под рукой на которой можно было бы развернуть этот тестовый сценарий.
Оказывается оно успешно падает и на винде, на файловой 8.3.22.1750 Т.е. объект создается, но вот код: Regex.Global = True; Вызывает ошибку. А на 21 платформе - проблем нет. В журнале регистраций - пусто. Что логично.
@DitriXNew У меня не воспроизводится на 8.3.22.1750 x64 на файловой базе под Windows 11, как в клиентском так и в серверном контексте.
@alexkmbk да, это уже смешно, перенес базу на новый сервер, где тоже 1750 и там все работает корректно. На скуле. Сейчас на контуре запустил тесты на 8.3.22.1750, 8.3.22.1851 и 8.3.21.1709. На всех 22 - упало, а на 21 прошло. Открыл историю теста, а он оказывает иногда проходит, т.е. падения не 100%. Но там контур, он постоянно базы пересоздает.
Ладно, что тут гадать, закрываю тогда тикет, если будет что-то более конкретное, тогда приду снова
@DitriXNew Если будет желание можете попробовать потестировать эту версию (под Windows). Она просто пересобрана на новом тулсете Visual Studio и на другой машине с памятью on-die ECC. RegEx1CAddin_15.zip
@alexkmbk на проде под виндой - все хорошо, а вот в контуре, тоже на винде в файловых - проблема плавающая, 90% случаев падает, и изредка проходит. Это я про сборку что в архиве.
@alexkmbk на проде под виндой - все хорошо, а вот в контуре, тоже на винде в файловых - проблема плавающая, 90% случаев падает, и изредка проходит. Это я про сборку что в архиве.
Большое спасибо что нашли время потестировать и за фидбек! Кстати, уже в 23 платформе дожны появиться встроенные регулярки, и вроде бы даже с поддержкой групп (хотя из анонса это было не очевидно). Как думаете, есть ли смысл пытаться все равно решить проблему?
На самом деле конкретно нам - это не особо критично пока, так как в проде компонента работает, хотя и тоже падает, но этак раз в неделю, так что это мелочь. На счет 23 платформы - пока рано говорить, она просто мега баганутая, особенно с этими их списками в виде меток. Так что думаю что еще пол годика надо будет сидеть на том что есть.
Но в любом случае - ваша компонента нам очень сильно помогла, помогла не писать кучу костылей, так что теплая память о ней сохранится даже при переходе на 8.3.23 :)
Но в любом случае - ваша компонента нам очень сильно помогла, помогла не писать кучу костылей, так что теплая память о ней сохранится даже при переходе на 8.3.23 :)
Спасибо :)
@DitriXNew Если будет желание можете попробовать потестировать эту версию (под Windows). Она просто пересобрана на новом тулсете Visual Studio и на другой машине с памятью on-die ECC. RegEx1CAddin_15.zip
Добрый день! У нас так же возникает проблема на Windows. Новая версия к сожалению не помогла. По поводу 22 платформы 1С - там нет всех нужных функций, поэтому кажется что есть смысл победить баг)
Помимо описанной проблемы у нас также возникает ошибка аллоцирования памяти, если в одном rphost запускать несколько сеансов с вызовом компоненты. Если каждый сеанс в отдельном rphost, то всё работает корректно.
Ошибка возникает не каждый раз. но несколько раз в день стабильно
@ADoroshkevich Спасибо за обратную связь! Похоже на проблемы с thread safety.
@ADoroshkevich @DitriXNew В качестве способа обхода проблемы, можно попробовать задать значение четвертого параметра метода ПодключитьВнешнююКомпоненту как ТипПодключенияВнешнейКомпоненты.НеИзолированно (именно НеИзолированно) Мне удалось воспроизвести стабильное падение платформы при параллельном нагрузочном тестировании в разных сеансах на сервере и установка этого параметра позволила избежать падения. Для тестов использовалась новая! сборка компоненты (изменения только под Windows): RegEx1CAddin_15.zip
@ADoroshkevich @DitriXNew В качестве способа обхода проблемы, можно попробовать задать значение четвертого параметра метода ПодключитьВнешнююКомпоненту как ТипПодключенияВнешнейКомпоненты.НеИзолированно (именно НеИзолированно) Мне удалось воспроизвести стабильное падение платформы при параллельном нагрузочном тестировании в разных сеансах на сервере и установка этого параметра позволила избежать падения. Для тестов использовалась новая! сборка компоненты (изменения только под Windows): RegEx1CAddin_15.zip
Добрый день! К сожалению не помогло
@ADoroshkevich @DitriXNew В качестве способа обхода проблемы, можно попробовать задать значение четвертого параметра метода ПодключитьВнешнююКомпоненту как ТипПодключенияВнешнейКомпоненты.НеИзолированно (именно НеИзолированно) Мне удалось воспроизвести стабильное падение платформы при параллельном нагрузочном тестировании в разных сеансах на сервере и установка этого параметра позволила избежать падения. Для тестов использовалась новая! сборка компоненты (изменения только под Windows): RegEx1CAddin_15.zip
Добрый день! К сожалению не помогло
А вы пробовали новую сборку которую я выложил в предыдущем сообщении?
@ADoroshkevich @DitriXNew В качестве способа обхода проблемы, можно попробовать задать значение четвертого параметра метода ПодключитьВнешнююКомпоненту как ТипПодключенияВнешнейКомпоненты.НеИзолированно (именно НеИзолированно) Мне удалось воспроизвести стабильное падение платформы при параллельном нагрузочном тестировании в разных сеансах на сервере и установка этого параметра позволила избежать падения. Для тестов использовалась новая! сборка компоненты (изменения только под Windows): RegEx1CAddin_15.zip
Добрый день! К сожалению не помогло
А вы пробовали новую сборку которую я выложил в предыдущем сообщении?
Да, именно её - 15-ую
@ADoroshkevich @DitriXNew В качестве способа обхода проблемы, можно попробовать задать значение четвертого параметра метода ПодключитьВнешнююКомпоненту как ТипПодключенияВнешнейКомпоненты.НеИзолированно (именно НеИзолированно) Мне удалось воспроизвести стабильное падение платформы при параллельном нагрузочном тестировании в разных сеансах на сервере и установка этого параметра позволила избежать падения. Для тестов использовалась новая! сборка компоненты (изменения только под Windows): RegEx1CAddin_15.zip
Добрый день! К сожалению не помогло
А вы пробовали новую сборку которую я выложил в предыдущем сообщении?
Да, именно её - 15-ую
Просто предыдущая сборка тоже была 15-я, но эта уже новая ))
@ADoroshkevich @DitriXNew В качестве способа обхода проблемы, можно попробовать задать значение четвертого параметра метода ПодключитьВнешнююКомпоненту как ТипПодключенияВнешнейКомпоненты.НеИзолированно (именно НеИзолированно) Мне удалось воспроизвести стабильное падение платформы при параллельном нагрузочном тестировании в разных сеансах на сервере и установка этого параметра позволила избежать падения. Для тестов использовалась новая! сборка компоненты (изменения только под Windows): RegEx1CAddin_15.zip
Добрый день! К сожалению не помогло
А вы пробовали новую сборку которую я выложил в предыдущем сообщении?
Да, именно её - 15-ую
Просто предыдущая сборка тоже была 15-я, но эта уже новая ))
Сутки - полёт нормальный, ни одного падения Спасибо огромное!
К сожалению падения возобновились(
К сожалению падения возобновились(
Провел большое количество тестов, и прихожу к выводу что вероятно проблема не на стороне компоненты, поскольку падение платформы с режимом подключения компоненты "Изолированно" (при нагрузочном параллельном тестировании) происходит даже при простой инициализации объекта с отключенным функционалом, где код инициализации такой же как в примере от 1С. Ну то есть удается воспроизвести падение даже по сути на компоненте-заглушке, без вызова её методов. Но надо сказать что у меня падение просиходит исключительно при нагрузочном тестировании когда в цикле вызывается большое количество созданий экземпляров объекта компоненты одновременно в двух сеансах в серверном контексте и только в режиме подключения "Изолированно". Может быть в будущих версиях платформы это исправят, но на текущий момент у меня пока нет идей что можно с этим сделать. Поэтому, могу дать рекомендацию или пока не обновляться на новые версии платформы, а далее или переходить уже на штатный механизм регулярок либо может быть в будущих версиях платформы это пофиксят.
Но если у кого-то есть решение этой проблемы, присылайте пожалуйста пулл реквесты, буду рад их замержить.
Алексей, обновились на 8.3.23.1739 - ваша компонента работает отлично! Ошибок не наблюдаем уже неделю. Спасибо огромное за ваш труд!
Есть возможность собрать дампы падения? Чем более полный, тем лучше. Интересно посмотреть что с процессом в этот момент происходит.
Падение очень интересное - сервер перезагружаем, компонента подключается успешно, все хорошо. Делаем первый вызов - все работает отлично. Делаем второй - устанавливаются аттрибуты Global и т.д., а вот на вызове уже метода сравнения - падает. Делаем третий раз - или выдается ошибка "Error calling constructor (AddIn.Component.RegEx)"
или зависает 1С. И все. Причем - установка компоненты отрабатывает.