Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Fault tolerant heap shim error?!



  • Hi ,
    What is the meaning of below error message. Program is running but why is this error message comes?

    FTH: (5600): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***

    Win 10, VS2017 and Qt 5.10.1

    I clean, run qmake and build again but nothing changed?!...

    Regards,
    Mucip:)


  • Moderators

    It means you have corrupted your heap somewhere in your code and it is trying to recover from that.

    I recommend running your application in a debugger and seeing if it will catch the corruption for you. If not a program like valgrind may help you figure out where you are messing up.

    A lot of times with stuff like that you are left digging through your code trying to find where you messed up your memory though. And that is not fun.

    Here is a quick site that explains heap corruption, how it happens, and how to find/fix it:
    http://csweb.cs.wfu.edu/~torgerse/Kokua/More_SGI/007-2579-009/sgi_html/ch09.html

    Edit: I may have steered you wrong here. I stumbled across this https://leereid.wordpress.com/2012/03/21/fault-tolerant-heap/
    which explains FTH is a microsoft thing that tries to protect an application that crashes frequently. So during development you probably had a lot of crashes and your app got tagged as needing FTH. It won't hurt anything but it can't really help either. You can google how to get your app off it's list or disable FTH entirely. Once it's off if your app is crashing again then see the beginning of my post since you probably have corrupted your heap somewhere. :)


Log in to reply