64 bit MT5 build 858 locking up...

 

Hi,

My broker released their 64 bit version of the MT5 build 858 yesterday and after upgrading from build 842 (which has been working fine) to this new version, MT5 sporadically locks up (i.e. freezes and becomes unresponsive). The only way of closing MT5 after this has occurred is killing it via Task Manager.

This issue had been apparent on both my MT5 demo machine (windows 7) and my MT5 live VPS machine (Windows Server 2008r2). Both of these machine previously ran MT5 build 842 on them without a hitch.

Nothing has changed re: the configuration of MT5 - the same Experts etc that were used on build 842 are now being run on the both build 858 installations.

Several weeks ago, I also fired up a 32 bit machine to test build 858 (for some reason, my broke released the 32 bit version of build 858 a couple of weeks ago and the 64 bit version only yesterday), which I didn't have any issues with. I've since transferred my live trading to the 32 bit platform and haven't had any issues as yet. The 64bit demo version I've been running has crashed once again this afternoon.

Oh, and there's nothing in the logs to indicate that MT5 has had any problems.

Anyway else having these issues? 

 
I suppose you reported this issue to Service Desk ?
 
angevoyageur:
I suppose you reported this issue to Service Desk ?
Ah, no - was in a rush and it completely slipped my mind! Thanks for the reminder - will do that now...
 

Current status of this issue - locking up problems occur with both build 858 and the new version currently available on the MetaQuotes website - build 868. Locking up issues occur on both 32 and 64 bit platforms.  I currently have a problem report running with both MetaQuotes and my broker.

Is there anyone else out there having locking up issues with builds newer than build 842? I'm running a number of Experts so suspect that MT5 may need to be reasonably "loaded up" for these locking up problems to occur.

I've also re-installed MT5 on various different machines and VPS instances (basically to rule out any machine issues). And because these installs were fresh installs, I can't see that I've corrupted my installation of MT5 in some way. I've also recompiled my Experts with the new build compilers and that's also made no difference.

For the record, I'm running exactly the same Experts on the same machines as I have been for the last year (on various builds of MT5) and NEVER had one instance where MT5 had locked up (I'd actually been really impressed with the stability of MT5 up until now). It was only when I upgraded my issue-free MT5 build 842 installations to build 858 installations, that these problems started to occur.

 
cowil:

Current status of this issue - locking up problems occur with both build 858 and the new version currently available on the MetaQuotes website - build 868. Locking up issues occur on both 32 and 64 bit platforms.  I currently have a problem report running with both MetaQuotes and my broker.

Is there anyone else out there having locking up issues with builds newer than build 842? I'm running a number of Experts so suspect that MT5 may need to be reasonably "loaded up" for these locking up problems to occur.

I've also re-installed MT5 on various different machines and VPS instances (basically to rule out any machine issues). And because these installs were fresh installs, I can't see that I've corrupted my installation of MT5 in some way. I've also recompiled my Experts with the new build compilers and that's also made no difference.

For the record, I'm running exactly the same Experts on the same machines as I have been for the last year (on various builds of MT5) and NEVER had one instance where MT5 had locked up (I'd actually been really impressed with the stability of MT5 up until now). It was only when I upgraded my issue-free MT5 build 842 installations to build 858 installations, that these problems started to occur.

I found a bug in Bars() function with these build 858/868. This bug slow down considerably the execution of code. Maybe you have this problem too.
Documentation on MQL5: Timeseries and Indicators Access / Bars
Documentation on MQL5: Timeseries and Indicators Access / Bars
  • www.mql5.com
Timeseries and Indicators Access / Bars - Documentation on MQL5
 
angevoyageur:
I found a bug in Bars() function with these build 858/868. This bug slow down considerably the execution of code. Maybe you have this problem too.

Hi - thanks for your input.

I don't actually use the Bars() function in my code but do find it a bit concerning that a bug that serious has crept into such a commonly used function - especially since it wasn't there before... Perhaps a related function that I do use, calls the same underlying code that the Bars() function calls?

How did you manage to detect this and then isolate it? Was the time that Bars() was taking to complete it's function, extraordinarily long? If so, what sort of time are you talking about - 100's of milliseconds?

Trying to get either MetaQuotes or my broker to supply me with a build 842 or earlier version at the mo but no success as yet...

 
cowil:

Hi - thanks for your input.

I don't actually use the Bars() function in my code but do find it a bit concerning that a bug that serious has crept into such a commonly used function - especially since it wasn't there before... Perhaps a related function that I do use, calls the same underlying code that the Bars() function calls?

How did you manage to detect this and then isolate it? Was the time that Bars() was taking to complete it's function, extraordinarily long? If so, what sort of time are you talking about - 100's of milliseconds?

Trying to get either MetaQuotes or my broker to supply me with a build 842 or earlier version at the mo but no success as yet...

Firstly I observed that an EA don't update information displayed on the chart on each tick. So I began to debug to code and find that OnTick() event handler isn't called on each tick, so that means that OnTick for a previous tick is still running.

Than I use the profiler to analyse what's occurring in OnTick() and I found it's Bars() function who takes a lot of seconds to execute. After I check Bars() function with very simple code to confirm it's a bug in MT5/mql5. The same code is working without problem with build 842.

Profiler is an awesome tool, so easy to use and powerful.

 
angevoyageur:

Firstly I observed that an EA don't update information displayed on the chart on each tick. So I began to debug to code and find that OnTick() event handler isn't called on each tick, so that means that OnTick for a previous tick is still running.

Than I use the profiler to analyse what's occurring in OnTick() and I found it's Bars() function who takes a lot of seconds to execute. After I check Bars() function with very simple code to confirm it's a bug in MT5/mql5. The same code is working without problem with build 842.

Profiler is an awesome tool, so easy to use and powerful.

Firstly, thanks heaps for the info - very much appreciated! :) 

Geez, SECONDS you say...? That definitely is a serious issue. I think I might do the same and see what my Expert is up to. I run the same Expert on 8 different charts so hate to think what might be happening if those sorts of delays are occurring within each Expert.

And no joy from MetaQuotes re: trying to get build 842 or earlier. Quote "No, we don't  have a link to the build 842. We do not store old versions anywhere.". Unbelievable... :( When you say you have a build 842 there, I presume it's an already installed version and not an installable version?

 

 
cowil:

Firstly, thanks heaps for the info - very much appreciated! :) 

Geez, SECONDS you say...? That definitely is a serious issue. I think I might do the same and see what my Expert is up to. I run the same Expert on 8 different charts so hate to think what might be happening if those sorts of delays are occurring within each Expert.

And no joy from MetaQuotes re: trying to get build 842 or earlier. Quote "No, we don't  have a link to the build 842. We do not store old versions anywhere.". Unbelievable... :( When you say you have a build 842 there, I presume it's an already installed version and not an installable version?

Yes already installed from a broker (see your PM).
 

Well, my own broker couldn't supply me with an older version either. So as incredible as it may seem, neither my (large) broker, nor the large software company that actually develops the software (i.e. MetaQuotes) could provide me with a single previous build of MT5. Unbelievable!!

 

SO FOR ANYONE ELSE READING THIS POST, UPGRADING IS BASICALLY A ONE WAY STREET! INCREDIBLE AS IT MAY SEEM, THERE ARE NO PREVIOUS BUILDS AVAILABLE TO GO BACK TO IN CASE OF A PROBLEMATIC MT5 RELEASE!!!! SO MAKE DAMN SURE THAT YOU TEST EVERYTHING THOROUGHLY BEFORE COMMITTING TO A NEW RELEASE, ESPECIALLY IN A LIVE (i.e. using real money) ENVIRONMENT!!!

 

If you'd gotten sloppy like myself this time around (i.e. NOT testing everything thoroughly before committing to a new release), are having the same or similar issues as myself and have exhausted all other options, here's the hack I've used that has worked for me. This doesn't mean it'll work for you and I'd advise anyone to only do this when you're (a) completely screwed (like I was) and (b) know a fair bit about computers:

1. Find someone who's still got a running installation of build 842.

2. Ask them to make a copy of the entire MT5 installation directory structure and place it into a temp directory on their computer. 

3. Ask them to then go through the ../bases/xxx/history/<SymbolPair> directories (of the copied MT5 installation in their temp directory) and delete the full contents of each directory (This step basically removes that particular broker's history data)

4. Once the history data has been removed, ask them to zip up the entire installation directory structure in their temp directory and send it to you (I used dropbox for this).

5. On you own computer, install build 858/868 (this ensures that the appropriate registry settings are set). 

6. Unzip the entire MT5 install you received, into a temp directory on your computer and rename the installation directory of the received MT5 install (in your temp directory), to the name of the installation directory you used in the above 858/868 installation.

7. Delete the MT5 build 858/868 install directory structure and replace it with the one you currently have sitting in your temp directory.

8. Chances are the files in the replaced MT5 directory will all be flagged Read-Only. Flag them to Read/Write. 

8. Fire up MT5. You should now have a working version of 842. You will of course, now need to configure your broker's server name (if your received 842 installation was configured to use another broker than your own), login and password in the "Tools" -> "Options" -> "Server" tab.

 

Again, I want to stress that this is a last resort hack which is not endorsed by myself and most certainly won't be endorsed by either MQ or your broker. However, desperate times sometimes call for desperate measures. If you're needing a build 842 installation drop-boxed to you, please let me know.

 
angevoyageur:
Yes already installed from a broker (see your PM).

Hi,

Tried various brokers for a 842 build but the ones I came across had already upgraded. In the end, the hack above got me up and running again - since then (fingers crossed) my MT5 installation hasn't crashed any more.

One thing I noticed immediately was that build 842 seemed to run a lot more efficiently than the two newer builds (i.e. less processor usage) so I suspect that a variation of the issue you were experiencing with the Bars() function may be occurring with another function that I DO happen to use within my Experts. Time to get the Profiler out and start running my own tests me thinks. And if I do find out what the issue is, MetaQuotes can damn well pay me the 300 Euros I lost (due to this problematic build) for that knowledge! :)

Anyway, thanks again for all your help - much appreciated! 

Reason: