Russian Qt Forum
Июнь 16, 2024, 04:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Ошибка SegFault при входе в main()  (Прочитано 15189 раз)
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #15 : Октябрь 21, 2010, 15:13 »

всё вроде нормально.
Попробуй всё-таки сделать "si" уже в gdb.
и ещё это:
info line QApplication::QApplication
« Последнее редактирование: Октябрь 21, 2010, 15:15 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
p166
Гость
« Ответ #16 : Октябрь 21, 2010, 15:17 »

Код:
Program received signal SIGSEGV, Segmentation fault.
main (argc=1, argv=0xbffff914) at main.cpp:7
7     QApplication a(argc, argv);

Да что ж за напасть то!!  В замешательстве
Записан
p166
Гость
« Ответ #17 : Октябрь 21, 2010, 15:19 »

Код:
(gdb) info line QApplication::QApplication
Line 882 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp"
   starts at address 0x29aa80 <QApplication::QApplication(Display*, int&, char**, QCursor::HANDLE, QCursor::HANDLE)>
   and ends at 0x29aa9a <QApplication::QApplication(Display*, int&, char**, QCursor::HANDLE, QCursor::HANDLE)+26>.
Line 848 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp"
   starts at address 0x29ae00 <QApplication::QApplication(Display*, QCursor::HANDLE, QCursor::HANDLE)>
   and ends at 0x29ae1a <QApplication::QApplication(Display*, QCursor::HANDLE, QCursor::HANDLE)+26>.
Line 740 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp" starts at address 0x29b480 <QApplication::QApplication(int&, char**, bool)>
   and ends at 0x29b49a <QApplication::QApplication(int&, char**, bool)+26>.
Line 706 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp" starts at address 0x29b7a0 <QApplication::QApplication(int&, char**)>
   and ends at 0x29b7ba <QApplication::QApplication(int&, char**)+26>.
Line 892 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp"
   starts at address 0x29a8c0 <QApplication::QApplication(Display*, int&, char**, QCursor::HANDLE, QCursor::HANDLE, int)>
   and ends at 0x29a8da <QApplication::QApplication(Display*, int&, char**, QCursor::HANDLE, QCursor::HANDLE, int)+26>.
Line 857 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp"
   starts at address 0x29ac20 <QApplication::QApplication(Display*, QCursor::HANDLE, QCursor::HANDLE, int)>
   and ends at 0x29ac3a <QApplication::QApplication(Display*, QCursor::HANDLE, QCursor::HANDLE, int)+26>.
Line 744 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp" starts at address 0x29b2e0 <QApplication::QApplication(int&, char**, bool, int)>
   and ends at 0x29b2fa <QApplication::QApplication(int&, char**, bool, int)+26>.
Line 710 of "/var/tmp/qt-src/src/gui/kernel/qapplication.cpp" starts at address 0x29b600 <QApplication::QApplication(int&, char**, int)>
   and ends at 0x29b61a <QApplication::QApplication(int&, char**, int)+26>.
Записан
BRE
Гость
« Ответ #18 : Октябрь 21, 2010, 15:23 »

Пробовал все очищать и пересобирать с нуля? (make distclean; qmake; make)
Записан
p166
Гость
« Ответ #19 : Октябрь 21, 2010, 15:25 »

Пробовал все очищать и пересобирать с нуля? (make distclean; qmake; make)

пробовал удалять все файлы кроме cpp, h, ui и ресурсов и заново собирать проект на разных (!) машинах и под разными ОС - результат был все тотже сегфолт.
Записан
BRE
Гость
« Ответ #20 : Октябрь 21, 2010, 15:29 »

пробовал удалять все файлы кроме cpp, h, ui и ресурсов и заново собирать проект на разных (!) машинах и под разными ОС - результат был все тотже сегфолт.
А новый пустой проект с QApplication в main как себя будет вести?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #21 : Октябрь 21, 2010, 15:29 »

Покажи как идёт линковка.
Записан

Qt 5.11/4.8.7 (X11/Win)
p166
Гость
« Ответ #22 : Октябрь 21, 2010, 15:31 »

пробовал удалять все файлы кроме cpp, h, ui и ресурсов и заново собирать проект на разных (!) машинах и под разными ОС - результат был все тотже сегфолт.
А новый пустой проект с QApplication в main как себя будет вести?


Другие проекты компилятся и запускаются нормально, никаких проблем замечено не было.
Записан
p166
Гость
« Ответ #23 : Октябрь 21, 2010, 15:34 »

Покажи как идёт линковка.

Пробовал делать релизную сборку - тольку ноль.

Линковка дебага :

Код:
Выполняется сборка проекта qview...
Настройки не изменились, этап qmake пропускается.
Запускается "/usr/bin/make" -w
make: Вход в каталог `/home/username/qt/3_tcp_old/3_tcp_threads_worms/QView2'
/opt/qtsdk-2010.05/qt/bin/uic qviewbase.ui -o tmp/ui_qviewbase.h
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/main.o main.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/qviewbase.o qviewbase.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/vm_valgrid.o vm_valgrid.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/memoryreader.o memoryreader.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/vm_valgrid2.o vm_valgrid2.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/plotter.o plotter.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/acl.o acl.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/mysortfilterproxymodel.o mysortfilterproxymodel.cpp
/opt/qtsdk-2010.05/qt/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp qviewbase.h -o tmp/moc_qviewbase.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/moc_qviewbase.o tmp/moc_qviewbase.cpp
/opt/qtsdk-2010.05/qt/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp vm_valgrid.h -o tmp/moc_vm_valgrid.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/moc_vm_valgrid.o tmp/moc_vm_valgrid.cpp
/opt/qtsdk-2010.05/qt/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp memoryreader.h -o tmp/moc_memoryreader.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/moc_memoryreader.o tmp/moc_memoryreader.cpp
/opt/qtsdk-2010.05/qt/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp vm_valgrid2.h -o tmp/moc_vm_valgrid2.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/moc_vm_valgrid2.o tmp/moc_vm_valgrid2.cpp
/opt/qtsdk-2010.05/qt/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp plotter.h -o tmp/moc_plotter.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/moc_plotter.o tmp/moc_plotter.cpp
/opt/qtsdk-2010.05/qt/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp acl.h -o tmp/moc_acl.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/moc_acl.o tmp/moc_acl.cpp
/opt/qtsdk-2010.05/qt/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp mysortfilterproxymodel.h -o tmp/moc_mysortfilterproxymodel.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/moc_mysortfilterproxymodel.o tmp/moc_mysortfilterproxymodel.cpp
/opt/qtsdk-2010.05/qt/bin/rcc -name res res.qrc -o qrc_res.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtNetwork -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -Itmp -Itmp -o tmp/qrc_res.o qrc_res.cpp
g++ -Wl,-rpath,/opt/qtsdk-2010.05/qt/lib -o ../bin/qview tmp/main.o tmp/qviewbase.o tmp/vm_valgrid.o tmp/memoryreader.o tmp/vm_valgrid2.o tmp/plotter.o tmp/acl.o tmp/mysortfilterproxymodel.o tmp/moc_qviewbase.o tmp/moc_vm_valgrid.o tmp/moc_memoryreader.o tmp/moc_vm_valgrid2.o tmp/moc_plotter.o tmp/moc_acl.o tmp/moc_mysortfilterproxymodel.o tmp/qrc_res.o    -L/opt/qtsdk-2010.05/qt/lib -lQtGui -L/opt/qtsdk-2010.05/qt/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread
make: Выход из каталога `/home/username/qt/3_tcp_old/3_tcp_threads_worms/QView2'
Процесс "/usr/bin/make" завершился нормально.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #24 : Октябрь 21, 2010, 15:40 »

Хм, я пас... Грустный
Записан

Qt 5.11/4.8.7 (X11/Win)
p166
Гость
« Ответ #25 : Октябрь 21, 2010, 15:47 »

Нашел небольшую разницу в strace файле:

Код:
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=73961, ...}) = 0
mmap2(NULL, 73961, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77c7000
close(3)  

ld.so.cache - это как я понимаю кеш отладочных библиотек, может в этом все дело? В strace рабочего файла этих строк нет.
« Последнее редактирование: Октябрь 21, 2010, 15:49 от p166 » Записан
merke
Гость
« Ответ #26 : Октябрь 21, 2010, 15:51 »

убей этот файл
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #27 : Октябрь 21, 2010, 15:51 »

ld.so.cache - это кеш зарегистрированных в системе динамических библиотек.

Цитировать
В strace рабочего файла этих строк нет.
Очень странно. Получается, что он собран статически. Но ты говорил, что ldd у рабочего и падучего одинаковый.
« Последнее редактирование: Октябрь 21, 2010, 15:54 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
p166
Гость
« Ответ #28 : Октябрь 21, 2010, 15:58 »

Очень странно. Получается, что он собран статически. Но ты говорил, что ldd у рабочего и падучего одинаковый.

Сравнил через kompare, и обнаружилась небольшая разница. В линуксе я только дебаг сборки делаю, не может что фай был собран статически.
« Последнее редактирование: Октябрь 21, 2010, 16:09 от p166 » Записан
saltfinger
Гость
« Ответ #29 : Октябрь 21, 2010, 16:21 »

Не периживай к вечеру все норм будет Подмигивающий
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.