It looks like the array you delete has already been deleted before. Hard to say what's wrong without seeing the source code for classes. Could it happen that some array is passed between different instances of the class as a pointer (e.g. on copy construction), and then each instance tries to delete it? You might not encounter this issue earlier for example because only worked with one global object and never copied it.