Так вы осуществляете доступ к переменной m_list одновременно из разных потоков в void SecondObject::M_startSecondObject() и void SecondObject::M_copyList(QList<int> list).
Здесь лучше всего организовать передачу списка через сигнал-слот между obj1 и obj2, а не через прямой вызов метода M_copyList. И переменные static не нужно обозначать).
C++ (Qt)
QObject::connect(obj1,SIGNAL(send(QList<int>)), obj2, SLOT(receive(QList<int>)));
и осуществить вызов
C++ (Qt)
...
// SecondObject::M_copyList(sendList);
emit send( sendList );
...