2010-12-05 10 views
0

Qt 라이브러리 (4.7 및 4.7.1에이 문제가 있음)를 사용하여 앱을 작성했으며이 앱은 주로 웹킷 (웹 페이지 표시) 및 Qt-webkit 브리징 (C++ 클래스를 Javascript 객체에 매핑)을 처리합니다. 그러나 다음 세그 폴트가 있습니다.Qt 라이브러리 또는 내 응용 프로그램의 버그입니까?

Program received signal SIGSEGV, Segmentation fault. 
0x00007ffff5585db7 in QHttpNetworkConnectionChannel::allDone (this=0x86bb20) 
    at /var/tmp/qt-src/src/network/access/qhttpnetworkconnectionchannel.cpp:620 
warning: Source file is more recent than executable. 
620  if (reply->d_func()->expectContent() && reply->d_func()->autoDecompress && !reply->d_func()->streamEnd) 
(gdb) bt 
#0 0x00007ffff5585db7 in QHttpNetworkConnectionChannel::allDone (
    this=0x86bb20) 
    at /var/tmp/qt-src/src/network/access/qhttpnetworkconnectionchannel.cpp:620 
#1 0x00007ffff5586992 in QHttpNetworkConnectionChannel::_q_receiveReply (
    this=0x86bb20) 
    at /var/tmp/qt-src/src/network/access/qhttpnetworkconnectionchannel.cpp:397 
#2 0x00007ffff558829a in QHttpNetworkConnectionChannel::qt_metacall (
    this=0x86bb20, _c=QMetaObject::InvokeMetaMethod, 
    _id=<value optimized out>, _a=0x7fffffffd8c0) 
    at .moc/release-shared/moc_qhttpnetworkconnectionchannel_p.cpp:92 
#3 0x00007ffff51ec0f8 in QMetaObject::activate (sender=0x8655f0, 
    m=<value optimized out>, local_signal_index=<value optimized out>, 
    argv=0x8a9e20) at /var/tmp/qt-src/src/corelib/kernel/qobject.cpp:3272 
#4 0x00007ffff55ed678 in QAbstractSocketPrivate::canReadNotification (
    this=0x865610) 
    at /var/tmp/qt-src/src/network/socket/qabstractsocket.cpp:639 
#5 0x00007ffff55dc791 in QReadNotifier::event (this=<value optimized out>, 
    e=0x1) at /var/tmp/qt-src/src/network/socket/qnativesocketengine.cpp:1103 
#6 0x00007ffff5a67d5f in QApplicationPrivate::notify_helper (this=0x61b840, 
    receiver=0x965270, e=0x7fffffffdee0) 
    at /var/tmp/qt-src/src/gui/kernel/qapplication.cpp:4396 
#7 0x00007ffff5a6e94b in QApplication::notify (this=0x7fffffffe1f0, 
    receiver=0x965270, e=0x7fffffffdee0) 
---Type <return> to continue, or q <return> to quit--- 
    at /var/tmp/qt-src/src/gui/kernel/qapplication.cpp:4277 
#8 0x00007ffff51d60a4 in QCoreApplication::notifyInternal (
    this=0x7fffffffe1f0, receiver=0x965270, event=0x7fffffffdee0) 
    at /var/tmp/qt-src/src/corelib/kernel/qcoreapplication.cpp:732 
#9 0x00007ffff5203a3a in QCoreApplication::sendEvent (source=0x624b20) 
    at /var/tmp/qt-src/src/corelib/kernel/qcoreapplication.h:215 
#10 socketNotifierSourceDispatch (source=0x624b20) 
    at /var/tmp/qt-src/src/corelib/kernel/qeventdispatcher_glib.cpp:110 
#11 0x00007ffff26f08c2 in g_main_context_dispatch() from /lib/libglib-2.0.so.0 
#12 0x00007ffff26f4748 in ??() from /lib/libglib-2.0.so.0 
#13 0x00007ffff26f48fc in g_main_context_iteration() 
    from /lib/libglib-2.0.so.0 
#14 0x00007ffff5203bcc in QEventDispatcherGlib::processEvents (this=0x6210d0, 
    flags=<value optimized out>) 
    at /var/tmp/qt-src/src/corelib/kernel/qeventdispatcher_glib.cpp:415 
#15 0x00007ffff5b18bcf in QGuiEventDispatcherGlib::processEvents (
    this=0x86bb20, flags=<value optimized out>) 
    at /var/tmp/qt-src/src/gui/kernel/qguieventdispatcher_glib.cpp:204 
#16 0x00007ffff51d53f5 in QEventLoop::processEvents (
    this=<value optimized out>, flags=...) 
    at /var/tmp/qt-src/src/corelib/kernel/qeventloop.cpp:149 
#17 0x00007ffff51d5646 in QEventLoop::exec (this=0x7fffffffe150, flags=...) 
    at /var/tmp/qt-src/src/corelib/kernel/qeventloop.cpp:201 
---Type <return> to continue, or q <return> to quit--- 
#18 0x00007ffff51d7484 in QCoreApplication::exec() 
    at /var/tmp/qt-src/src/corelib/kernel/qcoreapplication.cpp:1009 
#19 0x00000000004064b4 in main (argc=1, argv=0x7fffffffe2f8) 
    at ../myPlatform/main.cpp:10 
+3

소스의 예가 있으면 도움이됩니다. 그렇지 않으면 문제를 해결하기가 어려울 수 있습니다. –

+2

자신 만의 소스 코드로 최소한의 예제를 제공하지 않는다면 지금 말할 수 있습니다. – BastiBen

+1

자신의 앱. (그냥 추측 해.) – aib

답변

0

경고 : "소스 파일이 실행 파일보다 최신입니다." 이상하다. Qt 소스를 컴파일 했습니까? 또는 최신 버전의 소스 및 헤더와 이전 버전의 라이브러리를 사용합니까?

관련 문제