Bug 266702 - Gluon: Choosing a game lets all players crash
Summary: Gluon: Choosing a game lets all players crash
Status: RESOLVED UNMAINTAINED
Alias: None
Product: gluon
Classification: Applications
Component: gluonplayer (show other bugs)
Version: unspecified
Platform: unspecified Linux
: VLO crash
Target Milestone: ---
Assignee: Arjen Hiemstra
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-20 00:15 UTC by Johannes Obermayr
Modified: 2020-11-10 13:01 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (10.93 KB, text/plain)
2011-02-20 00:20 UTC, Johannes Obermayr
Details
gluon_qtplayer (17.28 KB, text/plain)
2011-02-20 12:48 UTC, Johannes Obermayr
Details
valgrind gluon_qtplayer (20.11 KB, text/plain)
2011-02-20 19:40 UTC, Johannes Obermayr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Obermayr 2011-02-20 00:15:27 UTC
Application: gluon_kdeplayer (0.71.0)
KDE Platform Version: 4.6.41 (4.7 >= 20110106) "release 3"
Qt Version: 4.8.0
Operating System: Linux 2.6.38-rc5-10-pae i686
Distribution: "openSUSE 11.3 (i586)"

-- Information about the crash:
0.71.0.git20110219.2057

As mentioned in summary choosing a game lets all players crash (here: gluon_kdeplayer and pong)

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Player (gluon_kdeplayer), signal: Segmentation fault
[Current thread is 1 (Thread 0xb4bf9710 (LWP 6181))]

Thread 3 (Thread 0xb2946b70 (LWP 6185)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb59b3125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb5d8824c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb5b803c7 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0xb5ca11a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0xb5b8040f in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0xb5ca11a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0xb59aeb25 in start_thread () from /lib/libpthread.so.0
#6  0xb5d7a46e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb1312b70 (LWP 6188)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d43086 in nanosleep () from /lib/libc.so.6
#2  0xb1fb8e0e in alureSleep (duration=0.125) at /usr/src/debug/gluon/audio/alure/src/alure.cpp:935
#3  0xb1fc1bd7 in AsyncPlayFunc () at /usr/src/debug/gluon/audio/alure/src/streamplay.cpp:201
#4  0xb1fc1afe in StarterFunc (ptr=0x848dc08) at /usr/src/debug/gluon/audio/alure/src/streamplay.cpp:89
#5  0xb59aeb25 in start_thread () from /lib/libpthread.so.0
#6  0xb5d7a46e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb4bf9710 (LWP 6181)):
[KCrash Handler]
#7  0x07f6f6f6 in ?? ()
#8  0xb773e1db in GluonEngine::ScenePrivate::loadContents (this=0x81e53a8, file=...) at /usr/src/debug/gluon/engine/sceneprivate.cpp:77
#9  0xb773cf65 in GluonEngine::Scene::sceneContents (this=0x81a6218) at /usr/src/debug/gluon/engine/scene.cpp:88
#10 0xb773f5d1 in GluonEngine::Game::stopAll (this=0x816d750) at /usr/src/debug/gluon/engine/game.cpp:227
#11 0xb773f711 in GluonEngine::Game::setCurrentScene (this=0x816d750, newCurrentScene=0x81a6218) at /usr/src/debug/gluon/engine/game.cpp:267
#12 0x0804d0ca in GluonPlayer::MainWindow::startGame (this=0x815e470) at /usr/src/debug/gluon/player/kde/mainwindow.cpp:152
#13 0x0804bdfb in GluonPlayer::MainWindow::qt_metacall (this=0x815e470, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbfd9f0bc)
    at /usr/src/debug/gluon/build/player/kde/moc_mainwindow.cpp:87
#14 0xb75669ad in QMetaObject::metacall (object=0x815e470, cl=QMetaObject::InvokeMetaMethod, idx=46, argv=0xbfd9f0bc) at kernel/qmetaobject.cpp:237
#15 0xb75778a5 in QMetaObject::activate (sender=0x81f6718, m=0x82057b0, local_signal_index=46, argv=0x0) at kernel/qobject.cpp:3557
#16 0xb757ed45 in QSingleShotTimer::timeout (this=0x81f6718) at .moc/release-shared/qtimer.moc:82
#17 0xb757edfc in QSingleShotTimer::timerEvent (this=0x81f6718) at kernel/qtimer.cpp:308
#18 0xb7575d34 in QObject::event (this=0x81f6718, e=0xbfd9f5e0) at kernel/qobject.cpp:1156
#19 0xb6a6b654 in QApplicationPrivate::notify_helper (this=0x806be58, receiver=0x81f6718, e=0xbfd9f5e0) at kernel/qapplication.cpp:4480
#20 0xb6a744ab in QApplication::notify (this=0xbfd9f940, receiver=0x81f6718, e=0xbfd9f5e0) at kernel/qapplication.cpp:3862
#21 0xb63c73c1 in KApplication::notify (this=0xbfd9f940, receiver=0x81f6718, event=0xbfd9f5e0) at /usr/src/debug/kdelibs-4.6.41_20110213/kdeui/kernel/kapplication.cpp:311
#22 0xb755faee in QCoreApplication::notifyInternal (this=0xbfd9f940, receiver=0x81f6718, event=0xbfd9f5e0) at kernel/qcoreapplication.cpp:822
#23 0xb7593207 in sendEvent (this=0x806ecb4) at kernel/qcoreapplication.h:231
#24 QTimerInfoList::activateTimers (this=0x806ecb4) at kernel/qeventdispatcher_unix.cpp:625
#25 0xb758fe88 in timerSourceDispatch (source=0x806ec80) at kernel/qeventdispatcher_glib.cpp:186
#26 0xb758fec2 in idleTimerSourceDispatch (source=0x806f100) at kernel/qeventdispatcher_glib.cpp:233
#27 0xb58d8b49 in g_main_dispatch (context=0x806e298) at gmain.c:1960
#28 IA__g_main_context_dispatch (context=0x806e298) at gmain.c:2513
#29 0xb58d9350 in g_main_context_iterate (context=0x806e298, block=1, dispatch=1, self=0x806bff8) at gmain.c:2591
#30 0xb58d960e in IA__g_main_context_iteration (context=0x806e298, may_block=1) at gmain.c:2654
#31 0xb759063b in QEventDispatcherGlib::processEvents (this=0x806be18, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#32 0xb6b21eca in QGuiEventDispatcherGlib::processEvents (this=0x806be18, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0xb755edcd in QEventLoop::processEvents (this=0xbfd9f8a4, flags=...) at kernel/qeventloop.cpp:149
#34 0xb755eff9 in QEventLoop::exec (this=0xbfd9f8a4, flags=...) at kernel/qeventloop.cpp:201
#35 0xb7563b60 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1094
#36 0xb6a692f4 in QApplication::exec () at kernel/qapplication.cpp:3741
#37 0x0804c4df in main (argc=) at /usr/src/debug/gluon/player/kde/main.cpp:57

Reported using DrKonqi
Comment 1 Johannes Obermayr 2011-02-20 00:20:15 UTC
Created attachment 57389 [details]
New crash information added by DrKonqi

plasmoidviewer (1.0) on KDE Platform 4.6.41 (4.7 >= 20110106) "release 3" using Qt 4.8.0

As above now with plasmoid and Apocalypse.

(Make drkonqi happy ...)

-- Backtrace (Reduced):
#8  0xb13851db in GluonEngine::ScenePrivate::loadContents (this=0x87dccb0, file=...) at /usr/src/debug/gluon/engine/sceneprivate.cpp:77
#9  0xb1383f65 in GluonEngine::Scene::sceneContents (this=0x87e99a8) at /usr/src/debug/gluon/engine/scene.cpp:88
#10 0xb13865d1 in GluonEngine::Game::stopAll (this=0x81f2858) at /usr/src/debug/gluon/engine/game.cpp:227
#11 0xb1386711 in GluonEngine::Game::setCurrentScene (this=0x81f2858, newCurrentScene=0x87e99a8) at /usr/src/debug/gluon/engine/game.cpp:267
#12 0xb1413432 in GluonPlayer::PlasmaApplet::openProject (this=0x821cb80) at /usr/src/debug/gluon/player/plasmoid/plasmaapplet.cpp:103
Comment 2 Laszlo Papp 2011-02-20 00:30:37 UTC
I cannot reproduce it with master HEAD version. Can you give it a try with that ? (I know that changes a lot)
Comment 3 Johannes Obermayr 2011-02-20 12:48:58 UTC
Created attachment 57393 [details]
gluon_qtplayer

Since also gluon_qtplayer crashes I assume it is Qt 4.8 related ...
Comment 4 Johannes Obermayr 2011-02-20 19:40:08 UTC
Created attachment 57401 [details]
valgrind gluon_qtplayer

As requested on #qt.
Comment 5 Sergio Martins 2011-02-20 19:42:38 UTC
==10023== Invalid read of size 4
==10023==    at 0x407E1C9: GluonEngine::ScenePrivate::loadContents(QUrl const&) (sceneprivate.cpp:77)
==10023==    by 0x407CF64: GluonEngine::Scene::sceneContents() (scene.cpp:88)
==10023==    by 0x407F5D0: GluonEngine::Game::stopAll() (game.cpp:227)
==10023==    by 0x407F710: GluonEngine::Game::setCurrentScene(GluonEngine::Scene*) (game.cpp:267)
==10023==    by 0x804C0D9: GluonPlayer::MainWindow::startGame() (mainwindow.cpp:148)
==10023==    by 0x804C22A: GluonPlayer::MainWindow::qt_metacall(QMetaObject::Call, int, void**) (mainwindow.moc:87)
==10023==    by 0x42789AC: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237)
==10023==    by 0x42898A4: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3557)
==10023==    by 0x4290D44: QSingleShotTimer::timeout() (qtimer.moc:82)
==10023==    by 0x4290DFB: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308)
==10023==    by 0x4287D33: QObject::event(QEvent*) (qobject.cpp:1156)
==10023==    by 0x44F8653: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4480)
==10023==  Address 0xa0a6948 is 0 bytes inside a block of size 16 free'd
==10023==    at 0x40266AD: operator delete(void*) (vg_replace_malloc.c:346)
==10023==    by 0x406A5BB: GluonEngine::GameObject::~GameObject() (gameobject.cpp:49)
==10023==    by 0x407E154: GluonEngine::ScenePrivate::loadContents(QUrl const&) (sceneprivate.cpp:68)
==10023==    by 0x407CF64: GluonEngine::Scene::sceneContents() (scene.cpp:88)
==10023==    by 0x407F5D0: GluonEngine::Game::stopAll() (game.cpp:227)
==10023==    by 0x407F710: GluonEngine::Game::setCurrentScene(GluonEngine::Scene*) (game.cpp:267)
==10023==    by 0x804C0D9: GluonPlayer::MainWindow::startGame() (mainwindow.cpp:148)
==10023==    by 0x804C22A: GluonPlayer::MainWindow::qt_metacall(QMetaObject::Call, int, void**) (mainwindow.moc:87)
==10023==    by 0x42789AC: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237)
==10023==    by 0x42898A4: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3557)
==10023==    by 0x4290D44: QSingleShotTimer::timeout() (qtimer.moc:82)
==10023==    by 0x4290DFB: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308)
Comment 6 Sergio Martins 2011-02-20 19:44:04 UTC
Whatever is in line sceneprivate.cpp:77, was already deleted in GluonEngine::GameObject::~GameObject() (gameobject.cpp:49)