Название: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 13:42
Нужна помощь гуру!!! Совершенно неожиданно, сегодня утром перестал запускаться рабочий проект. Программа нормально собирается, никаких ошибок не выдает, но при запуске вылетает с классическим сообщением: Программа неожиданно завершилась. В режиме отладки увидел что вываливается она на: int main(int argc, char *argv[]) { QApplication a(argc, argv); <================ вот здесь QViewBase w; w.show (); ... return a.exec(); } а в консоль сыпятся такие строки: can't find linker symbol for virtual table for `QObjectData' value can't find linker symbol for virtual table for `QObjectData' value can't find linker symbol for virtual table for `QObjectPrivate' value Исполняемый файл, собранный вчера, запускается на ура, но если пересобрать получаем "Segmentation fault". Вообщем теряюсь в догадках что могло произойти, исключил из проекта все сторонние библиотеки, проблема осталась. Google решить проблему не смог. Все остальные проекты собираются и запускаются без приключений! Проверено на: Qt 4.7, 4.6.3 ОС Ubuntu 10.04, 10.10, OpenSuse 11.2
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 13:46
Похоже что что-то с Qt libs. Натрави на свой экзешник ldd.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 13:49
Похоже что что-то с Qt libs. Натрави на свой экзешник ldd.
Натравил, получилось вот что: linux-gate.so.1 => (0x005fb000) libQtGui.so.4 => /opt/qtsdk-2010.05/qt/lib/libQtGui.so.4 (0x008aa000) libQtNetwork.so.4 => /opt/qtsdk-2010.05/qt/lib/libQtNetwork.so.4 (0x00177000) libQtCore.so.4 => /opt/qtsdk-2010.05/qt/lib/libQtCore.so.4 (0x002b4000) libpthread.so.0 => /lib/libpthread.so.0 (0x00110000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x005fc000) libm.so.6 => /lib/libm.so.6 (0x0012a000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x007e3000) libc.so.6 => /lib/libc.so.6 (0x15b39000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00150000) librt.so.1 => /lib/librt.so.1 (0x00155000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x006e7000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x007ff000) libSM.so.6 => /usr/lib/libSM.so.6 (0x0015e000) libICE.so.6 => /usr/lib/libICE.so.6 (0x00592000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00167000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x005ab000) libz.so.1 => /lib/libz.so.1 (0x005db000) libXext.so.6 => /usr/lib/libXext.so.6 (0x007b6000) libX11.so.6 => /usr/lib/libX11.so.6 (0x14587000) libdl.so.2 => /lib/libdl.so.2 (0x00171000) /lib/ld-linux.so.2 (0x0088c000) libpcre.so.3 => /lib/libpcre.so.3 (0x0fc6d000) libuuid.so.1 => /lib/libuuid.so.1 (0x005f0000) libexpat.so.1 => /lib/libexpat.so.1 (0x191ff000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x007c6000) libXau.so.6 => /usr/lib/libXau.so.6 (0x005f5000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00876000)
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 13:56
А в том же shell-е сам экзешник запускал? Можно ещё strace натравить. Причём посмотреть вывод ldd и strace рабочего экзешник-а и сравнить с вывод с падучим.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 14:09
А в том же shell-е сам экзешник запускал? Можно ещё strace натравить. Причём посмотреть вывод ldd и strace рабочего экзешник-а и сравнить с вывод с падучим.
ldd рабочего и вновь собранного совпадают, вот strace в месте падения: futex(0xbf9b77a0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0xbf9b77a0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, bf9b77b0) = -1 EAGAIN (Resource temporarily unavailable) rt_sigaction(SIGRTMIN, {0x1146e0, [], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x114bc0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 uname({sys="Linux", node="username", ...}) = 0 brk(0) = 0x8bb9000 brk(0x8bda000) = 0x8bda000 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ Ошибка сегментирования
у рабочего файла в strace далее идет futex(0x63b46c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 14:14
strace рабочего до места падения последнего отличаются?
А вообще не мешало бы собрать проект и Qt с отладкой и посмотреть на чём падает.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 14:24
strace рабочего до места падения последнего отличаются?
А вообще не мешало бы собрать проект и Qt с отладкой и посмотреть на чём падает.
На чем падает это понятно - строка в main.cpp QApplication a(argc, argv); Вопрос почему?
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 14:29
падает не в main.cpp, а где-то в недрах QApplication. А т.к. Qt собран без отладки, то отладчик показал последнее место в стэке, которое он смог разрезолвить.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 14:37
Собрано в режиме отладки - Debug....... Сравнил strace для обоих файлов, различие только в адресном пространстве.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 14:41
Чудес на свете не бывает... Qt тоже с отладкой? ставь тогда breakpoint на этой строке и делай step in в QApplication.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 14:43
Пробовал уже, не давая зайти в реализацию QApplication(), заваливает приложение по segfault и ругается в консоль can't find linker symbol for virtual table for `QObjectData' value can't find linker symbol for virtual table for `QObjectPrivate' value
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 14:49
Поставь break на main() запусти и после останова введи 'info shared'
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 14:58
Поставь break на main() запусти и после останова введи 'info shared'
хм а где вводить "info shared"? Запускаю в QT Creator через F5, остановился на QApplication a(argc, argv); а куда вводить н понимаю ........
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 15:06
в gdb конечно же. Надо было раньше про это сказать. Сделайте: gdb <app_file> break main run info shared
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 15:09
Результат info shared:
(gdb) info shared From To Syms Read Shared Object Library 0x00110830 0x001277af Yes /lib/ld-linux.so.2 0x0027e440 0x00a11954 Yes /opt/qtsdk-2010.05/qt/lib/libQtGui.so.4 0x00c9bbd0 0x00d693c4 Yes /opt/qtsdk-2010.05/qt/lib/libQtNetwork.so.4 0x00e05020 0x00faea84 Yes /opt/qtsdk-2010.05/qt/lib/libQtCore.so.4 0x01094610 0x010a0ad8 Yes /lib/libpthread.so.0 0x010ee2e0 0x0115fcd8 Yes (*) /usr/lib/libstdc++.so.6 0x011984b0 0x011b27f8 Yes /lib/libm.so.6 0x011bcf50 0x011d3438 Yes (*) /lib/libgcc_s.so.1 0x011edac0 0x012f7a74 Yes /lib/libc.so.6 0x01335f60 0x01337608 Yes (*) /usr/lib/libgthread-2.0.so.0 0x0133b8c0 0x0133f6f8 Yes /lib/librt.so.1 0x013552e0 0x013cae38 Yes (*) /lib/libglib-2.0.so.0 0x01418560 0x01471b48 Yes (*) /usr/lib/libfreetype.so.6 0x0148a630 0x0148f088 Yes (*) /usr/lib/libSM.so.6 0x01495680 0x014a5578 Yes (*) /usr/lib/libICE.so.6 0x014ac4d0 0x014b22b8 Yes (*) /usr/lib/libXrender.so.1 0x014b9830 0x014d5398 Yes (*) /usr/lib/libfontconfig.so.1 0x014e6760 0x014f3988 Yes (*) /lib/libz.so.1 0x014fcad0 0x01506f98 Yes (*) /usr/lib/libXext.so.6 0x0151d6e0 0x015ade88 Yes (*) /usr/lib/libX11.so.6 0x01627a40 0x01628988 Yes /lib/libdl.so.2 0x0162c0c0 0x0164c378 Yes (*) /lib/libpcre.so.3 0x01661060 0x01662b18 Yes (*) /lib/libuuid.so.1 0x016671e0 0x0167fb28 Yes (*) /lib/libexpat.so.1 0x01693b60 0x016a2678 Yes (*) /usr/lib/libxcb.so.1 0x016a69c0 0x016a7768 Yes (*) /usr/lib/libXau.so.6 0x016aaeb0 0x016acb18 Yes (*) /usr/lib/libXdmcp.so.6
дальше набираю step и получаю Program received signal SIGSEGV, Segmentation fault. main (argc=1, argv=0xbffff914) at main.cpp:7 7 QApplication a(argc, argv);
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 15:13
всё вроде нормально. Попробуй всё-таки сделать "si" уже в gdb. и ещё это: info line QApplication::QApplication
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 15:17
Program received signal SIGSEGV, Segmentation fault. main (argc=1, argv=0xbffff914) at main.cpp:7 7 QApplication a(argc, argv); Да что ж за напасть то!! :-\
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 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>.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: BRE от Октябрь 21, 2010, 15:23
Пробовал все очищать и пересобирать с нуля? (make distclean; qmake; make)
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 15:25
Пробовал все очищать и пересобирать с нуля? (make distclean; qmake; make)
пробовал удалять все файлы кроме cpp, h, ui и ресурсов и заново собирать проект на разных (!) машинах и под разными ОС - результат был все тотже сегфолт.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: BRE от Октябрь 21, 2010, 15:29
пробовал удалять все файлы кроме cpp, h, ui и ресурсов и заново собирать проект на разных (!) машинах и под разными ОС - результат был все тотже сегфолт.
А новый пустой проект с QApplication в main как себя будет вести?
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 15:29
Покажи как идёт линковка.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 15:31
пробовал удалять все файлы кроме cpp, h, ui и ресурсов и заново собирать проект на разных (!) машинах и под разными ОС - результат был все тотже сегфолт.
А новый пустой проект с QApplication в main как себя будет вести? Другие проекты компилятся и запускаются нормально, никаких проблем замечено не было.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 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" завершился нормально.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 15:40
Хм, я пас... :(
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 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 рабочего файла этих строк нет.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: merke от Октябрь 21, 2010, 15:51
убей этот файл
Название: Re: Ошибка SegFault при входе в main()
Отправлено: GreatSnake от Октябрь 21, 2010, 15:51
ld.so.cache - это кеш зарегистрированных в системе динамических библиотек. В strace рабочего файла этих строк нет. Очень странно. Получается, что он собран статически. Но ты говорил, что ldd у рабочего и падучего одинаковый.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 21, 2010, 15:58
Очень странно. Получается, что он собран статически. Но ты говорил, что ldd у рабочего и падучего одинаковый.
Сравнил через kompare, и обнаружилась небольшая разница. В линуксе я только дебаг сборки делаю, не может что фай был собран статически.
Название: Re: Ошибка SegFault при входе в main()
Отправлено: saltfinger от Октябрь 21, 2010, 16:21
Не периживай к вечеру все норм будет ;)
Название: Re: Ошибка SegFault при входе в main()
Отправлено: developer от Октябрь 22, 2010, 13:05
попробуй полностью очистить проект от object файлов. Сделай qmake clean. потом qmake. потом make all|release|debug. И должно быть тебе счастье )).
Название: Re: Ошибка SegFault при входе в main()
Отправлено: p166 от Октябрь 25, 2010, 11:01
В общем проблема решена, не знаю что конкретно помогло но оно заработало :) Всем большое спасибо за проявленное терпение и помощь!
|