Название: Вылет на QImage::transformed[Qt 5.10] Отправлено: Crazy Sage от Февраль 09, 2018, 06:37 Разрабатываю приложение, которое получает изображения с фотокамер и обрабатывает их. Изображение приходит в виде QByteArray, дальше я его обрабатываю следующим образом:
Код: if(buf_.isNull())//собственно QByteArray с данными На строке trans_image = image.transformed(rm) программа вылетает, не каждый раз, но регулярно. Иногда для этого требуется обработать 5-6 картинок, иногда 50-60. Стек вызовов выглядит следующим образом: Код: 1 qt_memrotate270_tiled_unpacked<unsigned int> qmemrotate.cpp 212 0x1b2ec6c Начало буфера в дебаге выглядит как нормальное начало jpeg-заголовка, буфер не пустой, от размера буфера не похоже чтобы зависело. Размер изображений - 6000*4000 пикселей На нехватку памяти списать не получается, иногда приложение падает, когда памяти выделено всего 100-200мб, иногда - когда под гигабайт, но свободной памяти ещё дофигища. Обработка крутится в потоке, может быть это важно. Кто-нибудь знает, чем это может быть вызвано и что с этим можно сделать? Хотя бы поймать ошибку, чтобы сказать пользователю, что что-то пошло не так, а не падать с segfault'ом Название: Re: Вылет на QImage::transformed[Qt 5.10] Отправлено: qate от Февраль 09, 2018, 08:47 можно написать простой тест и постоянно его гонять, без камеры, просто картинки
Название: Re: Вылет на QImage::transformed[Qt 5.10] Отправлено: Apktyc от Февраль 09, 2018, 10:52 На нехватку памяти списать не получается, иногда приложение падает, когда памяти выделено всего 100-200мб, иногда - когда под гигабайт, но свободной памяти ещё дофигища. Ф - фрагментация (как вариант) |