Странный баг

 

Случился странный баг. Не могу его воспроизвести. Непонятно почему исчезает.

Журнал ошибок тестера выдаёт следующее:

2018.11.27 12:51:24.572 Core 1  final balance 100151.79 USD
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   Access violation at 0x0000000201F09A00 write to 0x0000000201F09A00
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59      crash -->  memory at 0x0000000201F09A00 is not readable
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   00: 0x0000000201F09A00
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   01: 0x0000000001EB39F1
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   02: 0x0000000003F43248
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   03: 0x000000013F9EBED0
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   04: 0x17858806000E0000
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   05: 0x0000000008730350
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   06: 0x000000013F9E9660
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   07: 0x0000000002550940
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   08: 0x000000013FC8C000
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   09: 0x0000000003F43248
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   10: 0x00000000081BEB90
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   11: 0x181A880600A30000
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   09: 0x0000000003F43248
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   10: 0x00000000081BEB90
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   11: 0x181A880600A30000
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   12: 0x00000000025500D1
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   13: 0x0000000001ECDBD0
2018.11.27 12:51:24.572 Core 1  2018.02.28 23:59:59   
2018.11.27 12:51:24.572 Core 1  OnDeinit critical error

Кусок кода на котором он случился:

...

MqlDateTime StartTime, FinishTime;
TimeToStruct(FunctStartTime, StartTime);
TimeToStruct(FunctFinishTime, FinishTime);

Print(__FUNCTION__ + "| FunctStartTime = " + (string)FunctStartTime);
Print(__FUNCTION__ + "| FunctFinishTime = " + (string)FunctFinishTime);

Print(__FUNCTION__ + "| StartTime = " + (string)StructToTime(StartTime));
Print(__FUNCTION__ + "| FinishTime = " + (string)StructToTime(FinishTime));

//PrintFormat("Код ошибки = %d", GetLastError());
...

Самое забавное достаточно закомментировать любой Print или разкомментировать PrintFormat как ошибка бесследно исчезает. Попытки перенести данный кусок кода в отдельный файл и воспроизвести ошибку успехом не увенчались.

 
Francuz:

Случился странный баг. Не могу его воспроизвести. Непонятно почему исчезает.

Журнал ошибок тестера выдаёт следующее:

Кусок кода на котором он случился:

Самое забавное достаточно закомментировать любой Print или разкомментировать PrintFormat как ошибка бесследно исчезает. Попытки перенести данный кусок кода в отдельный файл и воспроизвести ошибку успехом не увенчались.

Интересна запись:

memory at 0x0000000201F09A00 is not readable

память по адресу ... не читаема.

Проблем с модулем памяти нет?

 
Francuz:

Случился странный баг. Не могу его воспроизвести. Непонятно почему исчезает.

Журнал ошибок тестера выдаёт следующее:

Кусок кода на котором он случился:

Самое забавное достаточно закомментировать любой Print или разкомментировать PrintFormat как ошибка бесследно исчезает. Попытки перенести данный кусок кода в отдельный файл и воспроизвести ошибку успехом не увенчались.

Сообщите пожалуйста версию (билд) редактора и терминала

 
Artyom Trishkin:

Интересна запись:

память по адресу ... не читаема.

Проблем с модулем памяти нет?

Только что сделал проверку оперативной памяти. Проблем нет.

 
Ilyas:

Сообщите пожалуйста версию (билд) редактора и терминала

Alpari MT5

Version: 5.00 build 1940

02 Nov 2018


MetaEditor

Version: 5.00 build 1940

02 Nov 2018

 

Наверное следует ещё пояснить что дело происходит в методе:

bool StructTagsMM::CreateTempMassTrade(const int FunctPriority, CalculationPeriod* &TempMass[], const datetime &FunctStartTime, const datetime &FunctFinishTime)
 
Francuz:

Alpari MT5

Version: 5.00 build 1940

02 Nov 2018


MetaEditor

Version: 5.00 build 1940

02 Nov 2018

К сожалению, билд 1940 содержит ошибку в PrintFormat

Ошибка была исправлена.
Обновитесь на билд 1950.
Чтобы получить обновление, подключитесь к серверу MetaQuotes-Demo
 
Ilyas:

К сожалению, билд 1940 содержит ошибку в PrintFormat

Ошибка была исправлена.
Обновитесь на билд 1950.
Чтобы получить обновление, подключитесь к серверу MetaQuotes-Demo

Спасибо.

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