how to solve this segment fault bug?

明覺 shi.minjue at gmail.com
Sat May 9 13:56:20 BST 2009


I'm studying a software named k3dsurf, which is a kdevelop project,
here is the source code
http://kde-apps.org/content/show.php?content=25049.
I have built it by kdevelop 3.5.4 successfully, but when i start it,
it says segment fault, here is the gdb info:
------------------------------------------------------------------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5d6da60 in ?? () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff5d6da60 in ?? () from /lib/libc.so.6
#1  0x00007ffff6ec4671 in glXWaitX () at glxcmds.c:660
#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
------------------------------------------------------------------------------------------------------------------------------


glxcmds.c is a file of mesa, line 660 of this file is like this:
------------------------------------------------------------------------------------------------------------------------------
PUBLIC void glXWaitX(void)
{
   ......
#ifdef GLX_DIRECT_RENDERING
    if (gc->driContext) {
    	int screen;
    	__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy,
gc->currentDrawable, &screen);

    	if ( pdraw != NULL ) {
	    __GLXscreenConfigs * const psc = GetGLXScreenConfigs(dpy, screen);
	    if (psc->driScreen->waitX != NULL)
[line 660]	    	(*psc->driScreen->waitX)(pdraw);
	} else
	    XSync(dpy, False);
	return;
    }
......
------------------------------------------------------------------------------------------------------------------------------

how could i solve this bug? my platform is debian-sid-amd64, thanks.
(another information is that in i386 environment, there is no the
segment fault error, so this is a  issue associated with the amd64
platform environment)




More information about the KDevelop mailing list