Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: p166 от Октябрь 21, 2010, 13:42



Название: Ошибка 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
В общем проблема решена, не знаю что конкретно помогло но оно заработало :) Всем большое спасибо за проявленное терпение и помощь!