[Bug 785318] Re: programs segfault trying to dlopen libQtOpenGL
Harald Sitter
apachelogger at ubuntu.com
Thu May 19 19:22:30 UTC 2011
And so it is.
The global static pod gets destroyed before the unregister is called, hence the nil pointer. Why this happens is unknown to me, but supposedly it could be easily solved by checking the ptr before trying to access it.
Should be report to Qt I guess.
closing /usr/lib/libQtOpenGL.so.4...
Hardware watchpoint 2: this_registeredInterpolators
Old value = {pointer = {_q_value = 0x60e100}, destroyed = false}
New value = {pointer = {_q_value = 0x0}, destroyed = false}
QGlobalStaticDeleter<QVector<QVariant (*)(void const*, void const*, double)> >::~QGlobalStaticDeleter (
this=0x7ffff6699b28, __in_chrg=<value optimized out>)
at ../../include/QtCore/../../src/corelib/global/qglobal.h:1824
warning: Source file is more recent than executable.
1824 globalStatic.destroyed = true;
(gdb) bt
#0 QGlobalStaticDeleter<QVector<QVariant (*)(void const*, void const*, double)> >::~QGlobalStaticDeleter (
this=0x7ffff6699b28, __in_chrg=<value optimized out>)
at ../../include/QtCore/../../src/corelib/global/qglobal.h:1824
#1 0x00007ffff765fd3d in __cxa_finalize (d=0x7ffff6699700) at cxa_finalize.c:56
#2 0x00007ffff62639d6 in __do_global_dtors_aux () from /usr/lib/libQtCore.so.4
#3 0x0000000000000000 in ?? ()
(gdb) c
Continuing.
Hardware watchpoint 2: this_registeredInterpolators
Old value = {pointer = {_q_value = 0x0}, destroyed = false}
New value = {pointer = {_q_value = 0x0}, destroyed = true}
QGlobalStaticDeleter<QVector<QVariant (*)(void const*, void const*, double)> >::~QGlobalStaticDeleter (
this=0x7ffff6699b28, __in_chrg=<value optimized out>)
at ../../include/QtCore/../../src/corelib/global/qglobal.h:1825
1825 }
(gdb) c
Continuing.
Breakpoint 1, registeredInterpolators () at animation/qvariantanimation.cpp:401
401 Q_GLOBAL_STATIC(QInterpolatorVector, registeredInterpolators)
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
QVariantAnimation::registerInterpolator (func=0, interpolationType=67)
at animation/qvariantanimation.cpp:437
437 if (int(interpolationType) >= interpolators->count())
(gdb) bt
#0 QVariantAnimation::registerInterpolator (func=0, interpolationType=67)
at animation/qvariantanimation.cpp:437
#1 0x00007ffff684cb4b in qUnregisterGuiGetInterpolator (this=<value optimized out>,
__in_chrg=<value optimized out>) at animation/qguivariantanimation.cpp:82
#2 qUnregisterGuiGetInterpolator__dest_class__::~qUnregisterGuiGetInterpolator__dest_class__ (
this=<value optimized out>, __in_chrg=<value optimized out>) at animation/qguivariantanimation.cpp:94
#3 0x00007ffff765fd3d in __cxa_finalize (d=0x7ffff7330e60) at cxa_finalize.c:56
#4 0x00007ffff6842246 in __do_global_dtors_aux () from /usr/lib/libQtGui.so.4
#5 0x0000000000000000 in ?? ()
--
You received this bug notification because you are a member of Kubuntu
Bugs, which is subscribed to qt4-x11 in Ubuntu.
https://bugs.launchpad.net/bugs/785318
Title:
programs segfault trying to dlopen libQtOpenGL
More information about the kubuntu-bugs
mailing list