Общением по сети должен заниматься один класс. Передавать данные в другие классы можно с использованием механизма signal/slot.
Т.е. в классе, который занимается общением по сети, вы создаете сигнал, а в другом связываете его со слотом. В нужный момент времени дергаете сигнал с нужными данными.
Реализуете источник данных, напрмер QList в ваше модели. Реализуете метод, который будет добавлять данные в источник в ваше модели. Отображение данных в модели, соответствнно, тоже делаете из данного источника. https://evileg.com/ru/forum/topic/419/
Можно сделать логирование работы в файл, и исходя из этого найти место падения программы. Затем проанализировать код и попробовать его исправить.
Можно попробовать запустить программу (release версию) из отладчика gdb и снять дамп памяти для последующего анализа или сделать так