• Vladislav Vaintroub's avatar
    Bug#473914: mysql_client_test fail with in debug compilaton on windows x64 · 7a80fa96
    Vladislav Vaintroub authored
     
    Reason: inconsistent compilation, federatedx is compiled without SAFEMALLOC
    flag, while anything else is compiled with SAFEMALLOC.
    
    As a consequence, my_hash_init used inside federatedx initialization does not
    provide correct caller info parameters (file, line) , so they are initialized with 
    whatever is on stack. When info about allocated memory is output in
    COM_DEBUG command, the server crashes trying to output string starting at
    0xcccccccccccccccc.
    
    The fix is to remove SAFEMALLOC  preprocessor flags 
    from every CMakeLists.txt, except the top-level one.
    
    Also, SAFEMALLOC is not defined by default now, instead
    there is WITH_DEBUG_FULL CMake option which adds 
    -DSAFEMALLOC to C and C++ flags in debug compilation. 
    This option is off by  default, because 
    1) Debug C runtime already has heap debugging builtin with 
     overwrite and leak detection
    2)safemalloc considerably slows down the tests.
    
    
    Note also  that 
    - SAFEMALLOC is gone ...
    7a80fa96
CMakeLists.txt 982 Bytes