gcompris / GCompris-qt

GCompris in Qt Quick - Mirror of https://invent.kde.org/education/gcompris
218 stars 167 forks source link

gcompris-qt segfaults #267

Closed tpapp closed 3 years ago

tpapp commented 3 years ago

I compiled from the master branch of the Github repo, and when I try to run it in QT creator, I get

16:42:43: Starting /home/tamas/src/build-GCompris-qt-Desktop-Debug/bin/gcompris-qt ...
QML debugging is enabled. Only use this in a safe environment.
exeCount set to:  1
16:42:43: The program has unexpectedly finished.
16:42:43: The process was ended forcefully.
16:42:43: /home/tamas/src/build-GCompris-qt-Desktop-Debug/bin/gcompris-qt crashed.

I am using Ubuntu 20.10. Happy to provide more debugging info (but please give detailed instructions as I am unfamiliar with QT Creator).

petitlapin commented 3 years ago

hi, thanks for the report. It may be some missing packages, but hard to tell with this trace only.

You can compile it directly on command line. Going into the source folder, do:

cd ~/src/gcompris-qt (where you cloned the code)
mkdir build
cd build
cmake ..
make -j 2
./bin/gcompris

Maybe there will be more traces on the console that will be useful.

If not, you can run it with gdb:

gdb ./bin/gcompris-qt

and type r to run GCompris. then, once it fails, type bt (backtrace), and copy paste the result here. To quit gdb, type q.

Thank you!

tpapp commented 3 years ago

Thanks for the detailed instructions, here is the backtrace:

Reading symbols from ./bin/gcompris-qt...
(No debugging symbols found in ./bin/gcompris-qt)
(gdb) r
Starting program: /home/tamas/src/GCompris-qt/build/bin/gcompris-qt 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff195e640 (LWP 195130)]
[New Thread 0x7fffebcfb640 (LWP 195131)]
[New Thread 0x7fffeb4fa640 (LWP 195132)]
[New Thread 0x7fffea1b5640 (LWP 195133)]
[Thread 0x7fffea1b5640 (LWP 195133) exited]
exeCount set to:  6
[New Thread 0x7fffea1b5640 (LWP 195134)]

Thread 1 "gcompris-qt" received signal SIGSEGV, Segmentation fault.
0x00007fffd965dbc5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
(gdb) bt
#0  0x00007fffd965dbc5 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#1  0x00007fffd964ebf4 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#2  0x00007fffd963561a in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#3  0x00007fffd98435e3 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#4  0x00007fffd9847016 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#5  0x00007fffd984729a in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#6  0x00007fffd9814f92 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#7  0x00007fffd9c4c2b0 in vaPutImage () at /lib/x86_64-linux-gnu/libva.so.2
#8  0x00007fffd9cfca14 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#9  0x00007fffd9cba9c6 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#10 0x00007fffd9cc5850 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#11 0x00007fffda121f56 in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#12 0x00007fffe82fdf92 in gst_element_change_state () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#13 0x00007fffe82fe6dd in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#14 0x00007fffe840c18c in  () at /lib/x86_64-linux-gnu/libQt5MultimediaGstTools.so.5
#15 0x00007fffe840b2fd in QGstreamerVideoWindow::QGstreamerVideoWindow(QObject*, QByteArray const&) () at /lib/x86_64-linux-gnu/libQt5MultimediaGstTools.so.5
#16 0x00007fffe91bbd9f in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice/libgstmediaplayer.so
#17 0x00007fffe91bfa55 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice/libgstmediaplayer.so
#18 0x00007ffff799e98f in  () at /lib/x86_64-linux-gnu/libQt5Multimedia.so.5
#19 0x00007ffff79dd23f in QMediaPlayer::QMediaPlayer(QObject*, QFlags<QMediaPlayer::Flag>) () at /lib/x86_64-linux-gnu/libQt5Multimedia.so.5
#20 0x00007fffe9231b5f in  () at /usr/lib/x86_64-linux-gnu/qt5/qml/QtMultimedia/libdeclarative_multimedia.so
#21 0x00007ffff7794357 in QQmlObjectCreator::createInstance(int, QObject*, bool) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#22 0x00007ffff7792f3b in QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, QV4::CompiledData::Binding const*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#23 0x00007ffff7793653 in QQmlObjectCreator::setupBindings(bool) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#24 0x00007ffff7793f42 in QQmlObjectCreator::populateInstance(int, QObject*, QObject*, QQmlPropertyData const*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#25 0x00007ffff77948fb in QQmlObjectCreator::createInstance(int, QObject*, bool) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#26 0x00007ffff77955e7 in QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#27 0x00007ffff7794df6 in QQmlObjectCreator::createInstance(int, QObject*, bool) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#28 0x00007ffff7792f3b in QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, QV4::CompiledData::Binding const*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#29 0x00007ffff7793653 in QQmlObjectCreator::setupBindings(bool) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#30 0x00007ffff7793f42 in QQmlObjectCreator::populateInstance(int, QObject*, QObject*, QQmlPropertyData const*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#31 0x00007ffff77948fb in QQmlObjectCreator::createInstance(int, QObject*, bool) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#32 0x00007ffff77955e7 in QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#33 0x00007ffff7729cd9 in QQmlComponentPrivate::beginCreate(QQmlContextData*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#34 0x00007ffff7729f0d in QQmlComponent::create(QQmlContext*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#35 0x00007ffff7785eba in QQmlApplicationEnginePrivate::finishLoad(QQmlComponent*) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#36 0x00007ffff77862a5 in QQmlApplicationEngine::load(QUrl const&) () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#37 0x0000555555598bb8 in main ()
petitlapin commented 3 years ago

According to https://bugs.launchpad.net/ubuntu/+source/gthumb/+bug/1903569, it may be a driver issue, can you try to install intel-media-va-driver-non-free (apt install intel-media-va-driver-non-free) and check if it works better?

tpapp commented 3 years ago

Thanks, this fixes the issue. If you think that this does not have to do with gcompris, feel free to close, I am not able to determine.

petitlapin commented 3 years ago

Yes, it's not a GCompris issue. Great to hear it works better! Have fun