Ответы пользователя по тегу GDB
  • Что означает эта ошибка в С++ ?

    bogolt
    @bogolt
    Ошибка в недрах STL событие маловероятное. Эта библиотека тестируется годами на огромном количестве проектов. То что ошибка проявилась именно в std::vector вовсе не значит что ошибка именно там. Вероятнее всего - код пытается работать с удаленной памятью, вызывает функцию получения размера, а так как объект не существует программа падает.
    Это совершенно нормально для программ с ручным управлением памятью ( ну и для остальных тоже вроде случается ).
    Почему ошибка может происходить время от времени: причин тому множество. Может неправильная работа с многопоточностью ( и тут уже зависит от ОС как она и что распределит ) ведет к тому что изредка один поток обращается к ресурсу удаленному другим потоком. Может ошибка с памятью проявляется не сразу потому что хоть какие-то значения обращаются к несуществующей памяти, но физически эта память находится в адресном пространстве вашей программы, а значит ОС считает что все в порядке. Ну а уже когда указатели выходят за пределы этого пространства - случается большой бум.

    Раз уж у вас есть запрос который гарантированно воспроизводит проблему - вам стоит попытаться отладить ваш сервер и найти эту ошибку.
    Ответ написан
    3 комментария