Ошибки, баги, вопросы - страница 2456

 
Vladimir Karputov:
Читайте справку. Читайте тему “FAQ по сервису Сигналы». Смотрите видео-справку по сервису Сигналы. 
А на данный момент настоятельно рекомендую ОТКЛЮЧИТЬ копирование сигналов на данном торговом счете в настольных локальных терминалах: для копирования сигналов у Вас работает VPS.
А в телефоне метатрейдер тоже лучше не открывать? Или к нему не относится?
 
FidelM:
А в телефоне метатрейдер тоже лучше не открывать? Или к нему не относится?

Терминал на локальном ПК или на телефоне можно открывать - ведь Вам нужно мониторить сделки? Главное чтобы не было ситуации когда подписка на сигнал ВКЛЮЧЕНА ОДНОВРЕМЕННО НА ДВУХ ТЕРМИНАЛАХ.

 
Во время компиляции проекта в ME(build 2025), произошел краш Win10 (без минидампа).

После перезагрузки ПК, include файл проекта (*.mqh) оказался полностью пустым (все данные были перезаписаны так NUL (0x00)).
Какого черта???
Делайте бекапы, если компиляция кода может уронить пользовательские данные навсегда, это же не дело.
 
Alexey Kozitsyn:


В сторадж невозможно внести файл, в имени которого есть символ #. Это нормальное поведение или баг?

Спасибо за сообщение, проверим.
 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".
 
Sergey Dzyublik:
Во время компиляции проекта в ME(build 2025), произошел краш Win10 (без минидампа).

После перезагрузки ПК, include файл проекта (*.mqh) оказался полностью пустым (все данные были перезаписаны так NUL (0x00)).
Какого черта???
Делайте бекапы, если компиляция кода может уронить пользовательские данные навсегда, это же не дело.

Что за ошибка была указана в BSOD ?
Как часто подобное поведение проявляется ?

Слышал о таком от знакомого, при работе в VS, на компиляции (очень редко, не чаще 1 раза в месяц) возникал BSOD, после которого содержимое исходных файлов оказывалось заполненным нулями.
Подробностей не запомнил, но решилась она путём замены ПК.

Компилятор MQL не использует "хитрых" приёмов и читает содержимое файлов компиляции простым и надёжным способом:

  1. Открываем файл на чтение
  2. Определяем размер и выделяем буфер
  3. Читаем содержимое
  4. Закрываем файл и только после этого приступаем к его разбору
Я перепроверю, как файлы сохраняются перед началом компиляции.


Если ошибка проявляется часто, то попробуйте, например, отключить антивирус
 
Ilyas:

Что за ошибка была указана в BSOD ?

Спасибо большое за развернутый ответ.
BSOD был в виде перезагрузка ПК, поэтому нет ни кода ошибки, ни minidump файла.
В event logs ни чего интересного (стандартный "The system has rebooted without cleanly shutting down first...").

Проблема затирания файла не нова, имело место еще 3 года назад на Windwos 7, исходный код mq4 файл затерся при компиляции/дебаге во время BSOD.
Так же года 2 назад один из пользователь сообщал о данной проблеме на форуме, к сожалению не удалось найти комментарий.


Как часто подобное поведение проявляется ?

BSOD не было где-то 9 месяцев, но за последнюю неделю это 3-й (раз BSOD с MEMORY CORRUPTION в процессе ядра, второй был Windows freeze, сегодня перезагрузка  при компиляции/дебаге в MT).
Кроме скайпа ни чего нового не устанавливалось, его удаление не помогло.

Проблема затирания встречается когда нестандартное завершение работы Windows попадает на компиляцию/дебаг в MT.
Сегодня затерлась реальная работа, а не тестовый кусок кода, как было раньше (несколько лет назад) - поэтому есть и реакция на инцидент. 

 
Ilyas:
Если ошибка проявляется часто, то попробуйте, например, отключить антивирус

Проблема в наличии такой проблемы, а не нахождении workaround-а.


Я перепроверю, как файлы сохраняются перед началом компиляции.

Мне не сложно и самому посмотреть,
к сожалению, полностью отсутствуют знания о поведении OS при краше, так что будем предполагать, основываясь на результате - все данные исходника *.mqh перезатерты в 0х00.


Что происходит при компиляции проекта в MT5(build 2025):
1. Первое что попадает в глаза это проход по всем вкладкам в ME и выполнение записи NTFS streams для каждого из открытых файлов.

*.mqh:CursorPos:$DATA   // положение курсора (строка, столбец) + первая видимая строка при scroll-е.
*.mqh:LineFlags:$DATA   // не понятно для чего

У меня открыто > 50 вкладок, из которых 8 файлов проекта.
В результате для одной компиляции проекта получаем (8 + 50) * 2 = 116 перезаписанных NTFS streams файлов по 440 байт каждый.
На SSD на это уходит 0.2 сек.

2. Если на пути перебора вкладок встретится файл с изменениями и он существует на диске, происходит его перезапись новыми данными из памяти.
Перезапись происходит для всех измененных файлов, не важно они с этого проекта они или нет.

3. Скорее-всего, в результате краша Windows происходит очистка выделенная в ME память под исходник  *.mqh , однако поток выполняющий запись в файл продолжает свою работу.
В результате при сохранении изменений в файл, количество байт для записи получается верное, однако ссылка указывает на уже очищенную память, перезаписывая исходный код в \x00.

 

После смены пароля от аккаунта, невозможно залогиниться в metaeditor с новым паролем, и получить доступ к хранилищу

если вернуть пароль обратно, то залогиниться опять можно

это типа не анекдот и не история из жизни, а оповещение об ошибке. Просто попробуйте изменить пароль через сайт, а затем попасть в хранилище через metaeditor.

Причина обращения: