public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Random crash with GCC 4.7.1
@ 2012-07-09 15:06 wbrana
  2012-07-09 17:50 ` Jonathan Wakely
  0 siblings, 1 reply; 6+ messages in thread
From: wbrana @ 2012-07-09 15:06 UTC (permalink / raw)
  To: gcc-help

Hello,
My C++ application which uses Qt and libsigc++ libraries is stable if
all 3 components are compiled with GCC 4.4.7
If my app is compiled with GCC 4.7.1 it crashes in random time
(approx. 1 hour from start) and
place as detected by GDB.
I tried to run app with Valgrind, but didn't have crash yet.

Output from Valgrind (following errors are not present if my app is
compiled with GCC 4.4.7):
==8242== 110634 errors in context 51 of 52:
==8242== Invalid read of size 8
==8242==    at 0x126B63:
sigc::internal::temp_slot_list::~temp_slot_list() (stl_list.h:358)
==8242==    by 0x13F62C: sigc::internal::signal_emit2<void, QString
const*, QString const&, sigc::nil>::emit(sigc::internal::signal_impl*,
QString const* const&, QString const&) (signal.h:1248)
==8242==    by 0x13F9B2: ff::fu::ga(QIODevice&) const (signal.h:2887)
==8242==    by 0x13FBC5: ff::hk::je() (main.cpp:1290)
==8242==    by 0x6555E89: QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) (in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x654FF7B: QObject::event(QEvent*) (in
/usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x5003C1D: QApplicationPrivate::notify_helper(QObject*,
QEvent*) (in /usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x500D3C6: QApplication::notify(QObject*, QEvent*) (in
/usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x653111A: QCoreApplication::notifyInternal(QObject*,
QEvent*) (in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x657BAF9: QTimerInfoList::activateTimers() (in
/usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x657C13F:
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x50F7637:
QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(in /usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==  Address 0x105aa288 is 0 bytes after a block of size 24 alloc'd
==8242==    at 0x4C2A0F1: operator new(unsigned long) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==8242==    by 0x68BE899: sigc::signal_base::impl() const (in
/usr/lib64/libsigc-2.0.so.0.0.0)
==8242==    by 0x68BEC5C: sigc::signal_base::connect(sigc::slot_base
const&) (in /usr/lib64/libsigc-2.0.so.0.0.0)
==8242==    by 0x1408FB: ff::hk::hk(ff::gs*,
QExplicitlySharedDataPointer<de> const&) (signal.h:2873)
==8242==    by 0x140BA4: ff::jh::jj(QExplicitlySharedDataPointer<de>
const&) (main.cpp:1331)
==8242==    by 0x123332: _ZN2sx3aduEv.part.232 (main.cpp:4858)
==8242==    by 0x14E8B7: sx::aew(int, int) (main.cpp:5066)
==8242==    by 0x123AA0:
_ZN2sx18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv.part.236
(main.cpp.moc:716)
==8242==    by 0x6555E89: QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) (in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x56D62F4: QAbstractItemView::clicked(QModelIndex
const&) (in /usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x56DE864:
QAbstractItemView::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x507AA44: QWidget::event(QEvent*) (in
/usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==
==8242==
==8242== 110634 errors in context 52 of 52:
==8242== Invalid read of size 8
==8242==    at 0x126ADA:
sigc::internal::temp_slot_list::temp_slot_list(std::list<sigc::slot_base,
std::allocator<sigc::slot_base> >&) (stl_list.h:348)
==8242==    by 0x13F5E0: sigc::internal::signal_emit2<void, QString
const*, QString const&, sigc::nil>::emit(sigc::internal::signal_impl*,
QString const* const&, QString const&) (signal.h:1242)
==8242==    by 0x13F9B2: ff::fu::ga(QIODevice&) const (signal.h:2887)
==8242==    by 0x13FBC5: ff::hk::je() (main.cpp:1290)
==8242==    by 0x6555E89: QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) (in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x654FF7B: QObject::event(QEvent*) (in
/usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x5003C1D: QApplicationPrivate::notify_helper(QObject*,
QEvent*) (in /usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x500D3C6: QApplication::notify(QObject*, QEvent*) (in
/usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x653111A: QCoreApplication::notifyInternal(QObject*,
QEvent*) (in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x657BAF9: QTimerInfoList::activateTimers() (in
/usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x657C13F:
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x50F7637:
QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(in /usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==  Address 0x105aa288 is 0 bytes after a block of size 24 alloc'd
==8242==    at 0x4C2A0F1: operator new(unsigned long) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==8242==    by 0x68BE899: sigc::signal_base::impl() const (in
/usr/lib64/libsigc-2.0.so.0.0.0)
==8242==    by 0x68BEC5C: sigc::signal_base::connect(sigc::slot_base
const&) (in /usr/lib64/libsigc-2.0.so.0.0.0)
==8242==    by 0x1408FB: ff::hk::hk(ff::gs*,
QExplicitlySharedDataPointer<de> const&) (signal.h:2873)
==8242==    by 0x140BA4: ff::jh::jj(QExplicitlySharedDataPointer<de>
const&) (main.cpp:1331)
==8242==    by 0x123332: _ZN2sx3aduEv.part.232 (main.cpp:4858)
==8242==    by 0x14E8B7: sx::aew(int, int) (main.cpp:5066)
==8242==    by 0x123AA0:
_ZN2sx18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv.part.236
(main.cpp.moc:716)
==8242==    by 0x6555E89: QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) (in /usr/lib64/qt4/libQtCore.so.4.8.2)
==8242==    by 0x56D62F4: QAbstractItemView::clicked(QModelIndex
const&) (in /usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x56DE864:
QAbstractItemView::mouseReleaseEvent(QMouseEvent*) (in
/usr/lib64/qt4/libQtGui.so.4.8.2)
==8242==    by 0x507AA44: QWidget::event(QEvent*) (in
/usr/lib64/qt4/libQtGui.so.4.8.2)


Output from GDB:

*** glibc detected *** /usr/local/bin/qemplayer: munmap_chunk():
invalid pointer: 0x00000068df01f8a0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x73655)[0x39767b1d655]
/usr/lib64/qt4/libQtGui.so.4(+0x1e67fd)[0x3976933c7fd]
/usr/lib64/qt4/libQtGui.so.4(_ZN10QBoxLayout10invalidateEv+0x31)[0x39769338181]
/usr/lib64/qt4/libQtGui.so.4(+0x71fd12)[0x39769875d12]
/usr/lib64/qt4/libQtGui.so.4(_ZN6QLabel7setTextERK7QString+0x14e)[0x3976987760e]
/usr/local/bin/qemplayer(+0x36c6d)[0x68daffac6d]
/usr/local/bin/qemplayer(+0x38e5c)[0x68daffce5c]
/usr/local/bin/qemplayer(+0x37618)[0x68daffb618]
/usr/local/bin/qemplayer(+0x379b3)[0x68daffb9b3]
/usr/local/bin/qemplayer(+0x37bc6)[0x68daffbbc6]
/usr/lib64/qt4/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x31a)[0x39768804e8a]
/usr/lib64/qt4/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0xcc)[0x397687fef7c]
/usr/lib64/qt4/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xde)[0x39769322c1e]
/usr/lib64/qt4/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x257)[0x3976932c3c7]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0xab)[0x397687e011b]
/usr/lib64/qt4/libQtCore.so.4(+0x250afa)[0x3976882aafa]
/usr/lib64/qt4/libQtCore.so.4(_ZN20QEventDispatcherUNIX13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x120)[0x3976882b140]
/usr/lib64/qt4/libQtGui.so.4(+0x2c0638)[0x39769416638]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x42)[0x397687de2f2]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x17c)[0x397687de86c]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication4execEv+0xd9)[0x397687e6809]
/usr/local/bin/qemplayer(+0x1996d)[0x68dafdd96d]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x39767ac904d]
/usr/local/bin/qemplayer(+0x19ba9)[0x68dafddba9]

Program received signal SIGABRT, Aborted.
0x0000039767adc405 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x0000039767adc405 in raise () from /lib64/libc.so.6
#1  0x0000039767add69f in abort () from /lib64/libc.so.6
#2  0x0000039767b17fff in __libc_message () from /lib64/libc.so.6
#3  0x0000039767b1d655 in malloc_printerr () from /lib64/libc.so.6
#4  0x000003976933c7fd in QVector<QLayoutStruct>::clear() () from
/usr/lib64/qt4/libQtGui.so.4
#5  0x0000039769338181 in QBoxLayout::invalidate() () from
/usr/lib64/qt4/libQtGui.so.4
#6  0x0000039769875d12 in QLabelPrivate::updateLabel() () from
/usr/lib64/qt4/libQtGui.so.4
#7  0x000003976987760e in QLabel::setText(QString const&) () from
/usr/lib64/qt4/libQtGui.so.4
#8  0x00000068daffac6d in sigc::internal::signal_emit1<void, QString
const&, sigc::nil>::emit (impl=0x68df01f880, _A_a1=...) at
/usr/include/sigc++-2.0/sigc++/signal.h:1006
#9  0x00000068daffce5c in emit (_A_a1=..., this=<optimized out>) at
/usr/include/sigc++-2.0/sigc++/signal.h:2777
#10 operator() (_A_a1=..., this=0x68df0166a0) at
/usr/include/sigc++-2.0/sigc++/signal.h:2785
#11 ff::hk::it (this=0x68df016670, iu=0x68db21f170, iv=...) at main.cpp:1203
#12 0x00000068daffb618 in sigc::internal::signal_emit2<void, QString
const*, QString const&, sigc::nil>::emit (impl=0x68dee89f60,
_A_a1=@0x3c48508c8f8: 0x68db21f170, _A_a2=...) at
/usr/include/sigc++-2.0/sigc++/signal.h:1248
#13 0x00000068daffb9b3 in emit (_A_a2=..., _A_a1=@0x3c48508c8f8:
0x68db21f170, this=<optimized out>) at
/usr/include/sigc++-2.0/sigc++/signal.h:2887
#14 operator() (_A_a2=..., _A_a1=@0x3c48508c8f8: 0x68db21f170,
this=0x68df0166c0) at /usr/include/sigc++-2.0/sigc++/signal.h:2895
#15 ff::fu::ga (this=this@entry=0x68df016688, gb=...) at main.cpp:982
#16 0x00000068daffbbc6 in ff::hk::je (this=0x68df016670) at main.cpp:1290
#17 0x0000039768804e8a in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x00000397687fef7c in QObject::event(QEvent*) () from
/usr/lib64/qt4/libQtCore.so.4
#19 0x0000039769322c1e in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x000003976932c3c7 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib64/qt4/libQtGui.so.4
#21 0x00000397687e011b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#22 0x000003976882aafa in QTimerInfoList::activateTimers() () from
/usr/lib64/qt4/libQtCore.so.4
#23 0x000003976882b140 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtCore.so.4
#24 0x0000039769416638 in
QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtGui.so.4
#25 0x00000397687de2f2 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/qt4/libQtCore.so.4
#26 0x00000397687de86c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/qt4/libQtCore.so.4
#27 0x00000397687e6809 in QCoreApplication::exec() () from
/usr/lib64/qt4/libQtCore.so.4
#28 0x00000068dafdd96d in main (aik=1, Pcarg=0x3c48508ec88) at main.cpp:5689

*** glibc detected *** /usr/local/bin/qemplayer: munmap_chunk():
invalid pointer: 0x00000019e0e8fcf0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x73655)[0x3940a67d655]
/usr/lib64/qt4/libQtCore.so.4(_ZN7QString4freeEPNS_4DataE+0xb8)[0x3940b22f188]
/usr/lib64/qt4/libQtGui.so.4(+0x78357a)[0x3940c43957a]
/usr/lib64/qt4/libQtGui.so.4(_ZN12QProgressBar8setValueEi+0xe7)[0x3940c4397f7]
/usr/local/bin/qemplayer(+0x2c16f)[0x19dd53516f]
/usr/local/bin/qemplayer(+0x38c1d)[0x19dd541c1d]
/usr/local/bin/qemplayer(+0x38d56)[0x19dd541d56]
/usr/local/bin/qemplayer(+0x37618)[0x19dd540618]
/usr/local/bin/qemplayer(+0x379b3)[0x19dd5409b3]
/usr/local/bin/qemplayer(+0x37bc6)[0x19dd540bc6]
/usr/lib64/qt4/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x31a)[0x3940b364e8a]
/usr/lib64/qt4/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0xcc)[0x3940b35ef7c]
/usr/lib64/qt4/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xde)[0x3940be82c1e]
/usr/lib64/qt4/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x257)[0x3940be8c3c7]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0xab)[0x3940b34011b]
/usr/lib64/qt4/libQtCore.so.4(+0x250afa)[0x3940b38aafa]
/usr/lib64/qt4/libQtCore.so.4(_ZN20QEventDispatcherUNIX13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x120)[0x3940b38b140]
/usr/lib64/qt4/libQtGui.so.4(+0x2c0638)[0x3940bf76638]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x42)[0x3940b33e2f2]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x17c)[0x3940b33e86c]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication4execEv+0xd9)[0x3940b346809]
/usr/local/bin/qemplayer(+0x1996d)[0x19dd52296d]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x3940a62904d]
/usr/local/bin/qemplayer(+0x19ba9)[0x19dd522ba9]

Program received signal SIGABRT, Aborted.
0x000003940a63c405 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x000003940a63c405 in raise () from /lib64/libc.so.6
#1  0x000003940a63d69f in abort () from /lib64/libc.so.6
#2  0x000003940a677fff in __libc_message () from /lib64/libc.so.6
#3  0x000003940a67d655 in malloc_printerr () from /lib64/libc.so.6
#4  0x000003940b22f188 in QString::free(QString::Data*) () from
/usr/lib64/qt4/libQtCore.so.4
#5  0x000003940c43957a in QProgressBarPrivate::repaintRequired() const
() from /usr/lib64/qt4/libQtGui.so.4
#6  0x000003940c4397f7 in QProgressBar::setValue(int) () from
/usr/lib64/qt4/libQtGui.so.4
#7  0x00000019dd53516f in sx::acr (this=0x3e760bef6c0, iu=<optimized
out>) at main.cpp:4662
#8  0x00000019dd541c1d in sigc::internal::signal_emit1<void, QString
const*, sigc::nil>::emit (impl=0x19e0ddcd90, _A_a1=@0x3e760bee9d8:
0x19dd764170) at /usr/include/sigc++-2.0/sigc++/signal.h:1006
#9  0x00000019dd541d56 in emit (_A_a1=@0x3e760bee9d8: 0x19dd764170,
this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:2777
#10 operator() (_A_a1=@0x3e760bee9d8: 0x19dd764170,
this=0x3e760bf09c0) at /usr/include/sigc++-2.0/sigc++/signal.h:2785
#11 ff::hk::it (this=<optimized out>, iu=0x19dd764170, iv=...) at main.cpp:1217
#12 0x00000019dd540618 in sigc::internal::signal_emit2<void, QString
const*, QString const&, sigc::nil>::emit (impl=0x19e0e8fcd0,
_A_a1=@0x3e760beeac8: 0x19dd764170, _A_a2=...) at
/usr/include/sigc++-2.0/sigc++/signal.h:1248
#13 0x00000019dd5409b3 in emit (_A_a2=..., _A_a1=@0x3e760beeac8:
0x19dd764170, this=<optimized out>) at
/usr/include/sigc++-2.0/sigc++/signal.h:2887
#14 operator() (_A_a2=..., _A_a1=@0x3e760beeac8: 0x19dd764170,
this=0x19e1036290) at /usr/include/sigc++-2.0/sigc++/signal.h:2895
#15 ff::fu::ga (this=this@entry=0x19e1036258, gb=...) at main.cpp:982
#16 0x00000019dd540bc6 in ff::hk::je (this=0x19e1036240) at main.cpp:1290
#17 0x000003940b364e8a in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x000003940b35ef7c in QObject::event(QEvent*) () from
/usr/lib64/qt4/libQtCore.so.4
#19 0x000003940be82c1e in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x000003940be8c3c7 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib64/qt4/libQtGui.so.4
#21 0x000003940b34011b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#22 0x000003940b38aafa in QTimerInfoList::activateTimers() () from
/usr/lib64/qt4/libQtCore.so.4
#23 0x000003940b38b140 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtCore.so.4
#24 0x000003940bf76638 in
QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtGui.so.4
#25 0x000003940b33e2f2 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/qt4/libQtCore.so.4
#26 0x000003940b33e86c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/qt4/libQtCore.so.4
#27 0x000003940b346809 in QCoreApplication::exec() () from
/usr/lib64/qt4/libQtCore.so.4
#28 0x00000019dd52296d in main (aik=1, Pcarg=0x3e760bf0e58) at main.cpp:5689

*** glibc detected *** /usr/local/bin/qemplayer: munmap_chunk():
invalid pointer: 0x0000006448e8ac90 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x73655)[0x38bebb2e655]
/usr/local/bin/qemplayer(+0x1eb5e)[0x6446e19b5e]
/usr/local/bin/qemplayer(+0x38c32)[0x6446e33c32]
/usr/local/bin/qemplayer(+0x38cbf)[0x6446e33cbf]
/usr/local/bin/qemplayer(+0x37618)[0x6446e32618]
/usr/local/bin/qemplayer(+0x379b3)[0x6446e329b3]
/usr/local/bin/qemplayer(+0x37bc6)[0x6446e32bc6]
/usr/lib64/qt4/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x31a)[0x38bec815e8a]
/usr/lib64/qt4/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0xcc)[0x38bec80ff7c]
/usr/lib64/qt4/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xde)[0x38bed333c1e]
/usr/lib64/qt4/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x257)[0x38bed33d3c7]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0xab)[0x38bec7f111b]
/usr/lib64/qt4/libQtCore.so.4(+0x250afa)[0x38bec83bafa]
/usr/lib64/qt4/libQtCore.so.4(_ZN20QEventDispatcherUNIX13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x120)[0x38bec83c140]
/usr/lib64/qt4/libQtGui.so.4(+0x2c0638)[0x38bed427638]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x42)[0x38bec7ef2f2]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x17c)[0x38bec7ef86c]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication4execEv+0xd9)[0x38bec7f7809]
/usr/local/bin/qemplayer(+0x1996d)[0x6446e1496d]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x38bebada04d]
/usr/local/bin/qemplayer(+0x19ba9)[0x6446e14ba9]

Program received signal SIGABRT, Aborted.
0x0000038bebaed405 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x0000038bebaed405 in raise () from /lib64/libc.so.6
#1  0x0000038bebaee69f in abort () from /lib64/libc.so.6
#2  0x0000038bebb28fff in __libc_message () from /lib64/libc.so.6
#3  0x0000038bebb2e655 in malloc_printerr () from /lib64/libc.so.6
#4  0x0000006446e19b5e in deallocate (__p=0x6448e8ac90,
this=<optimized out>) at
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/ext/new_allocator.h:100
#5  _M_put_node (__p=0x6448e8ac90, this=<optimized out>) at
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/bits/stl_list.h:356
Python Exception <type 'exceptions.ValueError'> Cannot find type
std::list<sigc::slot_base, std::allocator<sigc::slot_base>
>::iterator::_Node:
#6  _M_erase (__position=, this=0x6448c29ce8) at
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/bits/stl_list.h:1600
Python Exception <type 'exceptions.ValueError'> Cannot find type
std::list<sigc::slot_base, std::allocator<sigc::slot_base>
>::iterator::_Node:
#7  erase (__position=, this=0x6448c29ce8) at
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/bits/list.tcc:113
#8  sigc::internal::temp_slot_list::~temp_slot_list (this=<optimized
out>, __in_chrg=<optimized out>) at
/usr/include/sigc++-2.0/sigc++/signal_base.h:188
#9  0x0000006446e33c32 in sigc::internal::signal_emit1<void, QString
const*, sigc::nil>::emit (impl=0x6448c29ce0, _A_a1=@0x3ecf23e19f8:
0x64470561a0) at /usr/include/sigc++-2.0/sigc++/signal.h:1006
#10 0x0000006446e33cbf in emit (_A_a1=@0x3ecf23e19f8: 0x64470561a0,
this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:2777
#11 operator() (_A_a1=@0x3ecf23e19f8: 0x64470561a0,
this=0x3ecf23e39f0) at /usr/include/sigc++-2.0/sigc++/signal.h:2785
#12 ff::hk::it (this=<optimized out>, iu=0x64470561a0, iv=...) at main.cpp:1242
#13 0x0000006446e32618 in sigc::internal::signal_emit2<void, QString
const*, QString const&, sigc::nil>::emit (impl=0x6448e8ac70,
_A_a1=@0x3ecf23e1ae8: 0x64470561a0, _A_a2=...) at
/usr/include/sigc++-2.0/sigc++/signal.h:1248
#14 0x0000006446e329b3 in emit (_A_a2=..., _A_a1=@0x3ecf23e1ae8:
0x64470561a0, this=<optimized out>) at
/usr/include/sigc++-2.0/sigc++/signal.h:2887
#15 operator() (_A_a2=..., _A_a1=@0x3ecf23e1ae8: 0x64470561a0,
this=0x6448e99220) at /usr/include/sigc++-2.0/sigc++/signal.h:2895
#16 ff::fu::ga (this=this@entry=0x6448e991e8, gb=...) at main.cpp:982
#17 0x0000006446e32bc6 in ff::hk::je (this=0x6448e991d0) at main.cpp:1290
#18 0x0000038bec815e8a in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#19 0x0000038bec80ff7c in QObject::event(QEvent*) () from
/usr/lib64/qt4/libQtCore.so.4
#20 0x0000038bed333c1e in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#21 0x0000038bed33d3c7 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib64/qt4/libQtGui.so.4
#22 0x0000038bec7f111b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#23 0x0000038bec83bafa in QTimerInfoList::activateTimers() () from
/usr/lib64/qt4/libQtCore.so.4
#24 0x0000038bec83c140 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtCore.so.4
#25 0x0000038bed427638 in
QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtGui.so.4
#26 0x0000038bec7ef2f2 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/qt4/libQtCore.so.4
#27 0x0000038bec7ef86c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/qt4/libQtCore.so.4
#28 0x0000038bec7f7809 in QCoreApplication::exec() () from
/usr/lib64/qt4/libQtCore.so.4
#29 0x0000006446e1496d in main (aik=1, Pcarg=0x3ecf23e3e78) at main.cpp:5689

*** glibc detected *** /usr/local/bin/qemplayer: munmap_chunk():
invalid pointer: 0x000000312884f850 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x73655)[0x3a1b5455655]
/usr/lib64/qt4/libQtCore.so.4(_ZN7QString4freeEPNS_4DataE+0xb8)[0x3a1b6007188]
/usr/lib64/qt4/libQtCore.so.4(_ZN7QStringaSERKS_+0x42)[0x3a1b6007c02]
/usr/lib64/qt4/libQtGui.so.4(+0x72106a)[0x3a1b71af06a]
/usr/lib64/qt4/libQtGui.so.4(_ZN6QLabel7setTextERK7QString+0x9a)[0x3a1b71af55a]
/usr/local/bin/qemplayer(+0x36c6d)[0x3126706c6d]
/usr/local/bin/qemplayer(+0x38e5c)[0x3126708e5c]
/usr/local/bin/qemplayer(+0x37618)[0x3126707618]
/usr/local/bin/qemplayer(+0x379b3)[0x31267079b3]
/usr/local/bin/qemplayer(+0x37bc6)[0x3126707bc6]
/usr/lib64/qt4/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x31a)[0x3a1b613ce8a]
/usr/lib64/qt4/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0xcc)[0x3a1b6136f7c]
/usr/lib64/qt4/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xde)[0x3a1b6c5ac1e]
/usr/lib64/qt4/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x257)[0x3a1b6c643c7]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0xab)[0x3a1b611811b]
/usr/lib64/qt4/libQtCore.so.4(+0x250afa)[0x3a1b6162afa]
/usr/lib64/qt4/libQtCore.so.4(_ZN20QEventDispatcherUNIX13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x120)[0x3a1b6163140]
/usr/lib64/qt4/libQtGui.so.4(+0x2c0638)[0x3a1b6d4e638]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x42)[0x3a1b61162f2]
/usr/lib64/qt4/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x17c)[0x3a1b611686c]
/usr/lib64/qt4/libQtCore.so.4(_ZN16QCoreApplication4execEv+0xd9)[0x3a1b611e809]
/usr/local/bin/qemplayer(+0x1996d)[0x31266e996d]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x3a1b540104d]
/usr/local/bin/qemplayer(+0x19ba9)[0x31266e9ba9]

Program received signal SIGABRT, Aborted.
0x000003a1b5414405 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x000003a1b5414405 in raise () from /lib64/libc.so.6
#1  0x000003a1b541569f in abort () from /lib64/libc.so.6
#2  0x000003a1b544ffff in __libc_message () from /lib64/libc.so.6
#3  0x000003a1b5455655 in malloc_printerr () from /lib64/libc.so.6
#4  0x000003a1b6007188 in QString::free(QString::Data*) () from
/usr/lib64/qt4/libQtCore.so.4
#5  0x000003a1b6007c02 in QString::operator=(QString const&) () from
/usr/lib64/qt4/libQtCore.so.4
#6  0x000003a1b71af06a in QLabelPrivate::clearContents() () from
/usr/lib64/qt4/libQtGui.so.4
#7  0x000003a1b71af55a in QLabel::setText(QString const&) () from
/usr/lib64/qt4/libQtGui.so.4
#8  0x0000003126706c6d in sigc::internal::signal_emit1<void, QString
const&, sigc::nil>::emit (impl=0x312884f830, _A_a1=...) at
/usr/include/sigc++-2.0/sigc++/signal.h:1006
#9  0x0000003126708e5c in emit (_A_a1=..., this=<optimized out>) at
/usr/include/sigc++-2.0/sigc++/signal.h:2777
#10 operator() (_A_a1=..., this=0x312879cb10) at
/usr/include/sigc++-2.0/sigc++/signal.h:2785
#11 ff::hk::it (this=0x312879cae0, iu=0x312692b170, iv=...) at main.cpp:1203
#12 0x0000003126707618 in sigc::internal::signal_emit2<void, QString
const*, QString const&, sigc::nil>::emit (impl=0x31285c01b0,
_A_a1=@0x3eea93b5a48: 0x312692b170, _A_a2=...) at
/usr/include/sigc++-2.0/sigc++/signal.h:1248
#13 0x00000031267079b3 in emit (_A_a2=..., _A_a1=@0x3eea93b5a48:
0x312692b170, this=<optimized out>) at
/usr/include/sigc++-2.0/sigc++/signal.h:2887
#14 operator() (_A_a2=..., _A_a1=@0x3eea93b5a48: 0x312692b170,
this=0x312879cb30) at /usr/include/sigc++-2.0/sigc++/signal.h:2895
#15 ff::fu::ga (this=this@entry=0x312879caf8, gb=...) at main.cpp:982
#16 0x0000003126707bc6 in ff::hk::je (this=0x312879cae0) at main.cpp:1290
#17 0x000003a1b613ce8a in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x000003a1b6136f7c in QObject::event(QEvent*) () from
/usr/lib64/qt4/libQtCore.so.4
#19 0x000003a1b6c5ac1e in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x000003a1b6c643c7 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib64/qt4/libQtGui.so.4
#21 0x000003a1b611811b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#22 0x000003a1b6162afa in QTimerInfoList::activateTimers() () from
/usr/lib64/qt4/libQtCore.so.4
#23 0x000003a1b6163140 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtCore.so.4
#24 0x000003a1b6d4e638 in
QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib64/qt4/libQtGui.so.4
#25 0x000003a1b61162f2 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/qt4/libQtCore.so.4
#26 0x000003a1b611686c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/qt4/libQtCore.so.4
#27 0x000003a1b611e809 in QCoreApplication::exec() () from
/usr/lib64/qt4/libQtCore.so.4
#28 0x00000031266e996d in main (aik=1, Pcarg=0x3eea93b7dd8) at main.cpp:5689

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Random crash with GCC 4.7.1
  2012-07-09 15:06 Random crash with GCC 4.7.1 wbrana
@ 2012-07-09 17:50 ` Jonathan Wakely
  2012-07-09 18:03   ` wbrana
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2012-07-09 17:50 UTC (permalink / raw)
  To: wbrana; +Cc: gcc-help

On 9 July 2012 16:06, wbrana <wbrana@gmail.com> wrote:
> Hello,
> My C++ application which uses Qt and libsigc++ libraries is stable if
> all 3 components are compiled with GCC 4.4.7
> If my app is compiled with GCC 4.7.1 it crashes in random time
> (approx. 1 hour from start) and
> place as detected by GDB.
> I tried to run app with Valgrind, but didn't have crash yet.
>
> Output from Valgrind (following errors are not present if my app is
> compiled with GCC 4.4.7):
> ==8242== 110634 errors in context 51 of 52:
> ==8242== Invalid read of size 8
> ==8242==    at 0x126B63:
> sigc::internal::temp_slot_list::~temp_slot_list() (stl_list.h:358)

Are you compiling some of your application with -std=c++11 or
-std=c++0x and linking to other code compiled without those flags?

For GCC 4.7.0 and 4.7.1 there is an incompatibility between c++11 and
c++98 code due to the size of std::list being different in C++11 mode.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Random crash with GCC 4.7.1
  2012-07-09 17:50 ` Jonathan Wakely
@ 2012-07-09 18:03   ` wbrana
  2012-07-09 18:44     ` Jonathan Wakely
  0 siblings, 1 reply; 6+ messages in thread
From: wbrana @ 2012-07-09 18:03 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: gcc-help

On 7/9/12, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On 9 July 2012 16:06, wbrana <wbrana@gmail.com> wrote:
>> sigc::internal::temp_slot_list::~temp_slot_list() (stl_list.h:358)
>
> Are you compiling some of your application with -std=c++11 or
> -std=c++0x and linking to other code compiled without those flags?
I'm compiling with -std=c++0x

>
> For GCC 4.7.0 and 4.7.1 there is an incompatibility between c++11 and
> c++98 code due to the size of std::list being different in C++11 mode.
>
Will this bug be fixed? Is there bug report?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Random crash with GCC 4.7.1
  2012-07-09 18:03   ` wbrana
@ 2012-07-09 18:44     ` Jonathan Wakely
  2012-07-10 19:31       ` Paul Smith
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2012-07-09 18:44 UTC (permalink / raw)
  To: wbrana; +Cc: gcc-help

On 9 July 2012 19:03, wbrana wrote:
>> Are you compiling some of your application with -std=c++11 or
>> -std=c++0x and linking to other code compiled without those flags?
> I'm compiling with -std=c++0x

Thought so. That's the problem.

>> For GCC 4.7.0 and 4.7.1 there is an incompatibility between c++11 and
>> c++98 code due to the size of std::list being different in C++11 mode.
>>
> Will this bug be fixed? Is there bug report?

It wasn't a bug, it was done intentionally, but the change has been
reverted so the incompatibility will be gone in GCC 4.7.2

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Random crash with GCC 4.7.1
  2012-07-09 18:44     ` Jonathan Wakely
@ 2012-07-10 19:31       ` Paul Smith
  2012-07-10 19:46         ` Jonathan Wakely
  0 siblings, 1 reply; 6+ messages in thread
From: Paul Smith @ 2012-07-10 19:31 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: wbrana, gcc-help

On Mon, 2012-07-09 at 19:44 +0100, Jonathan Wakely wrote:
> >> For GCC 4.7.0 and 4.7.1 there is an incompatibility between c++11 and
> >> c++98 code due to the size of std::list being different in C++11 mode.
> >>
> > Will this bug be fixed? Is there bug report?
> 
> It wasn't a bug, it was done intentionally, but the change has been
> reverted so the incompatibility will be gone in GCC 4.7.2

Hm, so if I compile code with C++11 enabled and GCC 4.7.0/4.7.1, and I
link with a shared lib compiled with C++98 OR with some other version of
GCC, can I expect to see issues with std::list incompatibility?

Or can I expect to see issues combining GCC 4.7.0/4.7.1 code with 4.7.2
and later?

If so is there a patch I can apply to my GCC 4.7.1 to proactively fix
this up, since 4.7.2 is still a few months away from release?

Cheers!


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Random crash with GCC 4.7.1
  2012-07-10 19:31       ` Paul Smith
@ 2012-07-10 19:46         ` Jonathan Wakely
  0 siblings, 0 replies; 6+ messages in thread
From: Jonathan Wakely @ 2012-07-10 19:46 UTC (permalink / raw)
  To: paul; +Cc: wbrana, gcc-help

On 10 July 2012 20:31, Paul Smith wrote:
> On Mon, 2012-07-09 at 19:44 +0100, Jonathan Wakely wrote:
>> >> For GCC 4.7.0 and 4.7.1 there is an incompatibility between c++11 and
>> >> c++98 code due to the size of std::list being different in C++11 mode.
>> >>
>> > Will this bug be fixed? Is there bug report?
>>
>> It wasn't a bug, it was done intentionally, but the change has been
>> reverted so the incompatibility will be gone in GCC 4.7.2
>
> Hm, so if I compile code with C++11 enabled and GCC 4.7.0/4.7.1, and I
> link with a shared lib compiled with C++98 OR with some other version of
> GCC, can I expect to see issues with std::list incompatibility?

Yes, among other issues, see
http://gcc.gnu.org/wiki/Cxx11AbiCompatibility and
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53657

> Or can I expect to see issues combining GCC 4.7.0/4.7.1 code with 4.7.2
> and later?

Yes, if the 4.7.[01] compiled code uses std::list in C++11 mode.

> If so is there a patch I can apply to my GCC 4.7.1 to proactively fix
> this up, since 4.7.2 is still a few months away from release?

I'm sure you can find it for yourself in subversion.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-07-10 19:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-09 15:06 Random crash with GCC 4.7.1 wbrana
2012-07-09 17:50 ` Jonathan Wakely
2012-07-09 18:03   ` wbrana
2012-07-09 18:44     ` Jonathan Wakely
2012-07-10 19:31       ` Paul Smith
2012-07-10 19:46         ` Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).