Help debugging fatal error - page 2

 
metaRaider: I have some broken code
2       2022.06.29 14:19:08.435 MQL5 debugger   failed to read string length (0000001F36CFA2A1)

A string length of 134 billion seems suspect. You probably do not have a paging file large enough (268 GB!). Debug the creation of your result.

 
As a sidenote, I suspect the error could have been some "char" that is not displayed within the source file you tried to compile.

To clean such files, you can try notepad++ and change the coding accordingly. I don't know any other tool to do such.

I suspect that, because I had a similar issue. The reason was a faulty MS Sculpt Keyboard, sometimes submitting strange characters.

Two cents on memory addresses:

Memory addresses are virtual. Every process gets a full address space, reaching from 2^0 to (theoretically) 2^64.

The memory address will not be deterministic. As the underlying physical memory allocated to the usage by the process is virtually mapped by the OSs memory manager.

Therefore it is impossible to determine a faulty memory by memory addresses.



 
R4tna C #:

Ouch!
1. Such problems can happen with any system - I have had serious issues with major vendors such as SAP, Oracle, IBM, Sun, etc. Usually you never find out why and have to restore or re-build. 

2. Enable MQL cloud storage/version control and take separate backups too in parallel

Yeah, I thought I'd left all this behind. I was having flashbacks to my days as a developer.

I'll look into MQL cloud storage, as that will be more convenient than using Git/BitBucket with my hosted domain.

 
Dominik Christian Egert #:
As a sidenote, I suspect the error could have been some "char" that is not displayed within the source file you tried to compile.

To clean such files, you can try notepad++ and change the coding accordingly. I don't know any other tool to do such.

I suspect that, because I had a similar issue. The reason was a faulty MS Sculpt Keyboard, sometimes submitting strange characters.

Two cents on memory addresses:

Memory addresses are virtual. Every process gets a full address space, reaching from 2^0 to (theoretically) 2^64.

The memory address will not be deterministic. As the underlying physical memory allocated to the usage by the process is virtually mapped by the OSs memory manager.

Therefore it is impossible to determine a faulty memory by memory addresses.



Years ago when coding in C, I would have used tools such as Boundschecker, Purify, etc.