Вылетает MT5 Terminal после обновления до build 597

 

Добрый день!

Есть скрипты и эксперты, которые используют библиотеку dll (написана мною). После обновления MT5 Terminal до build 597 MT5 Terminal стал часто валиться (за сегодняшний день он свалился раз 5), в логах ничего нет. Думаю, что это из-за скриптов и экспертов, НО почему до этого все работало прекрасно (больше 3 месяцев не было ни одного такого сбоя).

В описании билда нашел вот такую строку:

MQL5: Fixed calling of functions from DLL.

Возможно пофиксили недостаточно?

Подскажите, пожалуйста, как с этим бороться?

 
yuri_zavyalov:

Подскажите, пожалуйста, как с этим бороться?

взять код. взять dll (по возможности тоже код). взять скрины, постараться понять при каких условиях это происходит, может кто конкретно виноват из скриптов.    всё отдать сюда

 
sergeev:

взять код. взять dll (по возможности тоже код). взять скрины, постараться понять при каких условиях это происходит, может кто конкретно виноват из скриптов.    всё отдать сюда

Если сам терминал валится, то какие скрины здесь нужны? Я так понимаю, что MQL должен безопасно вызывать dll для самого терминала, или ошибаюсь?

У меня было подобное, когда терминал после обновления и запуска моих скриптов валился сразу, мне пришлось тупо удалить старые скрипты и создать новые с тем же самым исходным кодом, все проработало ровно до следующего обновления терминала. В чем дело? Теперь ситуация немного другая, он валится не сразу, а через некоторое время, не могу отследить когда. Неужели когда я отправлю это в сервисдеск, то специалисты будут проверять/ждать когда терминал свалится???

Может быть кто-то сталкивался с подобным? 

 

yuri_zavyalov:

Неужели когда я отправлю это в сервисдеск, то специалисты будут проверять/ждать когда терминал свалится???

а вы разработчик терминала?  откуда вы знаете что и как они способны проверить?

ваше дело дать рабочий материал c которым можно работать, а не голословно заявлять о проблеме, если конечно хотите чтоб вашу проблему навали решать. Саппорт выяснит с вашими скриптами и dll и вам же отпишется.

 
sergeev:

а вы разработчик терминала?  откуда вы знаете что и как они способны проверить?

ваше дело дать рабочий материал c которым можно работать, а не голословно заявлять о проблеме, если конечно хотите чтоб вашу проблему навали решать. Саппорт выяснит с вашими скриптами и dll и вам же отпишется.

dll работает с базой данных на MSSQL, я не могу все это отправить разработчику. Меня интересует, есть у ли кого-то еще такая же проблема?

 sergeev, Вы не знаете, если MT валится, он должен оставлять какие-то логи? если да, то где такие можно найти?

 
yuri_zavyalov:

dll работает с базой данных на MSSQL, я не могу все это отправить разработчику. Меня интересует, есть у ли кого-то еще такая же проблема?

 sergeev, Вы не знаете, если MT валится, он должен оставлять какие-то логи? если да, то где такие можно найти?

И вдогонку, Вы не знаете, что же все таки было исправлено в вызове функции DLL в build 597 ?
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
yuri_zavyalov:

Если сам терминал валится, то какие скрины здесь нужны? Я так понимаю, что MQL должен безопасно вызывать dll для самого терминала, или ошибаюсь?

У меня было подобное, когда терминал после обновления и запуска моих скриптов валился сразу, мне пришлось тупо удалить старые скрипты и создать новые с тем же самым исходным кодом, все проработало ровно до следующего обновления терминала. В чем дело? Теперь ситуация немного другая, он валится не сразу, а через некоторое время, не могу отследить когда. Неужели когда я отправлю это в сервисдеск, то специалисты будут проверять/ждать когда терминал свалится???

Может быть кто-то сталкивался с подобным? 

Назовите хотя бы точное имя использованной DLL, мы поищем в креш репортах.

 
Renat:

Назовите хотя бы точное имя использованной DLL, мы поищем в креш репортах.

its_tick_exchange.dll

Но я не совсем понимаю, зачем это? Разве мой креш-репорт был отправлен вам? Если нет, то вряд ли вы что-то найдете, ведь это моя библиотека :(

Где вообще можно посмотреть этот креш-репорт? 

 
Renat:

Назовите хотя бы точное имя использованной DLL, мы поищем в креш репортах.

В документации нашел, что crash report должен находиться в папке logs моего профиля, папку logs нашел через File->Open Data Folder, но папки Crash там нет.
 

Господа, интересную вещь заметил.

В своем посте я указал на то, что у меня подобная проблема была и раньше: после выхода 586 билда у меня была подобная проблема, правда терминал вылетал без всяких креш-логов сразу после загрузки скриптов и экспертов.

Оказывается у меня сохранился тот самый терминал (586 билд) и те самые не переработанные скрипты: я запустил их на 586 в очередной раз, чтобы убедиться, что они действительно слетают - подтвердилось; далее я обновился до 597 билда и !о чудо! теперь скрипты работают и терминал не валится сразу. То есть это значит, что в прошлом билде был косяк с вызовом dll (что и подтверждается релизнотой). В связи с этим вопрос: а все ли доработали разработчики, если терминал все равно валится, но теперь уже в течение некоторого времени? + почему не формируется креш-лог??

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Программы MQL5 / Выполнение программ - Документация по MQL5
 
yuri_zavyalov:

терминал все равно валится, но теперь уже в течение некоторого времени? + почему не формируется креш-лог??
Креш действительно может не сформироваться при падении в коде EX5 программы.

Что за "некоторое время" Вы упоминаете в своём сообщении?

Попробуйте обложить логами места вызова DLL функций ("начинаем вызов SomeDLLFunc"/"вызов SomeDLLFunc завершён", можно и счётчик вызова добавить).
Причина обращения: