[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: how to debug "segment fault" problem in kdevelop?



In <[🔎] 6a8fced30904251059g77a533c2yf94d6b66d6a630dd@mail.gmail.com>, 明覺 wrote:
>I download the k3dsurf project(a kdevelop project) and compiled it in
>kdevelop successfully, but when i run it, it says "segment fault", how
>could I debug it? thanks. here is the gdb info:

This list isn't quite correct for this question.  You may want to use a 
mailing list, newsgroup, or other forum specifically for k3dsurf, or 
possibly kde-devel.  Tracking down a SIGSEGV is often the role of a 
developer[1], and this list is not developer-oriented.

That said, SIGSEGV is generally sent to the process by the kernel when it 
attempts to access a page of memory that it doesn't have a mapping for -- 
usually caused by dereferrencing a NULL or invalid pointer, but also common 
if the program is not linked correctly.

>-------------------------------------------------------------------------
>This GDB was configured as "x86_64-linux-gnu".
>For bug reporting instructions, please see:
><http://www.gnu.org/software/gdb/bugs/>...
>(gdb) run
>Starting program: /root/workspace/C++/k3dsurf/bin/k3dsurf
>[Thread debugging using libthread_db enabled]
>
>Program received signal SIGSEGV, Segmentation fault.
>0x00007ffff5d74a60 in ?? () from /lib/libc.so.6
>(gdb) bt
>#0  0x00007ffff5d74a60 in ?? () from /lib/libc.so.6
>#1  0x00007ffff6ec4651 in glXWaitX () from /usr/lib/libGL.so.1
>#2  0x00007ffff790c2a1 in QGLWidget::resizeEvent(QResizeEvent*) ()
>  from /usr/lib/libqt-mt.so.3
>#3  0x00007ffff772f07b in QWidget::event(QEvent*) ()
>  from /usr/lib/libqt-mt.so.3
>#4  0x00007ffff76a8953 in QApplication::internalNotify(QObject*, QEvent*)
> () from /usr/lib/libqt-mt.so.3
>#5  0x00007ffff76a962e in QApplication::notify(QObject*, QEvent*) ()
>  from /usr/lib/libqt-mt.so.3
>#6  0x00007ffff76aa03a in QApplication::sendPostedEvents(QObject*, int) ()
>  from /usr/lib/libqt-mt.so.3
>#7  0x00007ffff773018d in QWidget::show() () from /usr/lib/libqt-mt.so.3
>#8  0x00007ffff772e5d1 in QWidget::showChildren(bool) ()
>  from /usr/lib/libqt-mt.so.3
>#9  0x00007ffff7730260 in QWidget::show() () from /usr/lib/libqt-mt.so.3
>#10 0x00007ffff772e5d1 in QWidget::showChildren(bool) ()
>  from /usr/lib/libqt-mt.so.3
>#11 0x00007ffff7730260 in QWidget::show() () from /usr/lib/libqt-mt.so.3
>#12 0x00007ffff78193c9 in QWidgetStack::show() () from
> /usr/lib/libqt-mt.so.3 #13 0x00007ffff772e5d1 in
> QWidget::showChildren(bool) ()
>  from /usr/lib/libqt-mt.so.3
>#14 0x00007ffff7730260 in QWidget::show() () from /usr/lib/libqt-mt.so.3
>------------------

If this backtrace is correct and complete it looks like a bug in Qt, but it 
could also be caused by misuse of Qt by the application.  If you have no 
other ideas, you should try reducing the application to a minimal test case.  
As part of that process you'll probably find a misuse of the library, but 
you may complete that process and be able to file a high-quality bug report 
against Qt.
-- 
Boyd Stephen Smith Jr.           	 ,= ,-_-. =.
bss@iguanasuicide.net            	((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy 	 `-'(. .)`-'
http://iguanasuicide.net/        	     \_/

[1] You'll need to understand the programming language the program was 
written in at least, and maybe the implementation language of associated 
libraries as well.

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: