RSATom / QmlVlc

[ABANDONED] libvlc wrapper for Qt Quick 2/Qml
Other
139 stars 56 forks source link

when play finished,my program crashed. gdb traced. #16

Closed kingctan closed 10 years ago

kingctan commented 10 years ago

when play finished,my program crashed.

#0  0xb6a3f28d in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#1  0xb7d81512 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#2  0xb7d9530c in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#3  0xb6a3862f in QObjectPrivate::deleteChildren() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#4  0xb6a3f4d8 in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#5  0xb7d7c5db in QQuickItem::~QQuickItem() () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#6  0xb7d9d677 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#7  0xb6a3862f in QObjectPrivate::deleteChildren() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#8  0xb6a3f4d8 in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#9  0xb7d7c5db in QQuickItem::~QQuickItem() () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#10 0xb7e2208a in QQuickBasePositioner::~QQuickBasePositioner() () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#11 0xb7d9d447 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#12 0xb6a3862f in QObjectPrivate::deleteChildren() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#13 0xb6a3f4d8 in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#14 0xb7d7c5db in QQuickItem::~QQuickItem() () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#15 0xb7d9d677 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#16 0xb6a371c3 in qDeleteInEventHandler(QObject*) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#17 0xb6a38bb8 in QObject::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#18 0xb7d78d24 in QQuickItem::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#19 0xb7322e24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#20 0xb7328801 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#21 0xb6a0daea in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#22 0xb6a0ff7b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#23 0xb6a106fc in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#24 0xb6a60c8e in ?? () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#25 0xb62021e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0xb6202468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0xb6202528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb6a6086d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#29 0xb415c4a6 in ?? () from /usr/lib/i386-linux-gnu/qt5/plugins/platforms/libqxcb.so
#30 0xb6a0c206 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#31 0xb6a0c61c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#32 0xb6a13616 in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#33 0xb6d00db4 in QGuiApplication::exec() () from /usr/lib/i386-linux-gnu/libQt5Gui.so.5
#34 0xb7321614 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#35 0x08075c7e in main (argc=1, argv=0xbffff6e4) at ../linuxktv/main.cpp:336
RSATom commented 10 years ago

Which Qt version? OS?

RSATom commented 10 years ago

and btw, I don't see any crash in backtrace...

kingctan commented 10 years ago

QT5.2.0 Ubuntu 14.04 i386.

kingctan commented 10 years ago

other crash I found when play.

Program received signal SIGSEGV, Segmentation fault.
0xb6a3759b in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
(gdb) bt 
#0  0xb6a3759b in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#1  0xb6a380eb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#2  0xb6a38195 in QObject::destroyed(QObject*) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#3  0xb6a3f6fc in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#4  0xb7d81512 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#5  0xb7d9530c in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#6  0xb6a3862f in QObjectPrivate::deleteChildren() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#7  0xb6a3f4d8 in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#8  0xb7d7c5db in QQuickItem::~QQuickItem() () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#9  0xb7d9d677 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#10 0xb6a3862f in QObjectPrivate::deleteChildren() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#11 0xb6a3f4d8 in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#12 0xb7d7c5db in QQuickItem::~QQuickItem() () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#13 0xb7e2208a in QQuickBasePositioner::~QQuickBasePositioner() ()
   from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#14 0xb7d9d447 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#15 0xb6a3862f in QObjectPrivate::deleteChildren() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#16 0xb6a3f4d8 in QObject::~QObject() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#17 0xb7d7c5db in QQuickItem::~QQuickItem() () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#18 0xb7d9d677 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#19 0xb6a371c3 in qDeleteInEventHandler(QObject*) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#20 0xb6a38bb8 in QObject::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#21 0xb7d78d24 in QQuickItem::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
#22 0xb7322e24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#23 0xb7328801 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#24 0xb6a0daea in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#25 0xb6a0ff7b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#26 0xb6a106fc in QCoreApplication::sendPostedEvents(QObject*, int) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#27 0xb6a60c8e in ?? () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#28 0xb62021e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#29 0xb6202468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#30 0xb6202528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#31 0xb6a6086d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#32 0xb415c4a6 in ?? () from /usr/lib/i386-linux-gnu/qt5/plugins/platforms/libqxcb.so
#33 0xb6a0c206 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#34 0xb6a0c61c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#35 0xb6a13616 in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQt5Core.so.5
#36 0xb6d00db4 in QGuiApplication::exec() () from /usr/lib/i386-linux-gnu/libQt5Gui.so.5
#37 0xb7321614 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#38 0x08075e52 in main (argc=1, argv=0xbffff6e4) at ../linuxktv/main.cpp:342
RSATom commented 10 years ago

Do you use VlcMmPlayer?

kingctan commented 10 years ago

no, only VlcPlayer.

RSATom commented 10 years ago

Could you try please with VlcMmPlayer? If problem will gone, then it's a bug in QmlVlc definitely. If not - I'm afraid it's a bug in Qt or your code.

I just don't see any QmlVlc related stuff in your backtraces.

kingctan commented 10 years ago

I added multimedia to QT, and change VlcPlayer to VlcMmPlayer. but show me VlcMmPlayer is not a type when run. how to add VlcMmPlayer to QML? Thanks.

RSATom commented 10 years ago

try

QT += multimedia

before

include(lib/QmlVlc/QmlVlc.pri)

as in https://github.com/RSATom/QmlVlcDemo/blob/master/QmlVlcDemo.pro

kingctan commented 10 years ago

yeah, I promise, I do that as you said.but .....

RSATom commented 10 years ago

sorry, didn't understand what you mean

RSATom commented 10 years ago

sorry, can't reproduce...