[Kde-games-devel] Re: Kolf in 4.6, call for testing

Frederik Schwarzer schwarzerf at gmail.com
Fri Nov 12 00:51:14 CET 2010


[Stefan Majewsky - Freitag 12 November 2010 00:12:05] 
> Hi,
> 
> yet another short summary of my Kolf work: Just one hour before the feature 
> freeze, I committed the most urgent fixes for what I had broken during the 
> refactoring.
> 
> So this is a call for testing. Look around and find regressions and crashes. 
> Those parts of Kolf which have been (partly) rewritten and/or refactored are 
> the physics engine, the rendering stuff and the on-canvas editing interface.
> 
> The following problems are known:
> 
> * Painting is awfully slow when the window is big. (Help is very much 
> appreciated if you know your way around optimization, Callgrind and stuff.)
> * The position of the floater guard and its adjacent walls is sometimes not 
> set correctly (such as in hole 3 of the Medium course, just after you opened 
> it).
> * Loading and saving has not yet been tested systematically. Though I think 
> that loading works (the default courses seem to work), saving generally does 
> not.
> * When a moving ball collides with a resting ball, the resting ball starts to 
> move, but comes to a sudden halt after one frame. This is a side effect of two 
> physics engines running side-a-side: I need to figure out how to convince 
> Kolf's physics engine that Box2D has given the ball some velocity.
> * Balls can collide with walls even if they are hidden below some bridge. 
> (Denying contact requests in Box2D actually seems to be simple, but I did not 
> do it yet.)
> 
> That's all that's on my list. Now I need some sleep.

Sleep well. :)

If I try to start Kolf, it crashes with the following backtrace.
(my system seems screwed for a few days now so this could as well
just be another of the hick-ups)


Application: Kolf (kolf), signal: Aborted
[KCrash Handler]
#7  0xffffe424 in __kernel_vsyscall ()
#8  0xb5fad751 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0xb5fb0b82 in abort () at abort.c:92
#10 0xb5fa68b8 in __assert_fail (assertion=0xb7764320 "area > b2_floatValues<sizeof(qreal)>::epsilon()", file=0xb77642c0 "/home/fs/compile/kdegames/kolf/external/Box2D/Collision/Shapes/b2PolygonShape.cpp", line=115, function=0xb7764560 "b2Vec2 ComputeCentroid(const b2Vec2*, int32)") at assert.c:81
#11 0xb77505f2 in ComputeCentroid(b2Vec2 const*, int) () from /home/fs/usr/lib/libkolfprivate.so.4
#12 0xb7750809 in b2PolygonShape::Set(b2Vec2 const*, int) () from /home/fs/usr/lib/libkolfprivate.so.4
#13 0xb77296ca in Kolf::EllipseShape::createShape() () from /home/fs/usr/lib/libkolfprivate.so.4
#14 0xb772926c in Kolf::Shape::update() () from /home/fs/usr/lib/libkolfprivate.so.4
#15 0xb7729429 in Kolf::EllipseShape::setRect(QRectF const&) () from /home/fs/usr/lib/libkolfprivate.so.4
#16 0xb77109fc in EllipticalCanvasItem::setSize(QSizeF const&) () from /home/fs/usr/lib/libkolfprivate.so.4
#17 0xb771c542 in Kolf::BlackHole::BlackHole(QGraphicsItem*, b2World*) () from /home/fs/usr/lib/libkolfprivate.so.4
#18 0xb770a4bd in QGraphicsItem* Kolf::ItemFactory::create<Kolf::BlackHole>(QGraphicsItem*, b2World*) () from /home/fs/usr/lib/libkolfprivate.so.4
#19 0xb77165a1 in Kolf::ItemFactory::createInstance(QString const&, QGraphicsItem*, b2World*) const () from /home/fs/usr/lib/libkolfprivate.so.4
#20 0xb76f7a73 in KolfGame::openFile() () from /home/fs/usr/lib/libkolfprivate.so.4
#21 0xb76f6711 in KolfGame::startNextHole() () from /home/fs/usr/lib/libkolfprivate.so.4
#22 0xb76f1eca in KolfGame::startFirstHole(int) () from /home/fs/usr/lib/libkolfprivate.so.4
#23 0xb77073a1 in KolfWindow::createSpacer() () from /home/fs/usr/lib/libkolfprivate.so.4
#24 0xb77091fb in KolfWindow::qt_metacall(QMetaObject::Call, int, void**) () from /home/fs/usr/lib/libkolfprivate.so.4
#25 0xb63715da in QMetaObject::metacall (object=0x851bda8, cl=4079, idx=75, argv=0xbfc13e8c) at kernel/qmetaobject.cpp:237
#26 0xb6384235 in QMetaObject::activate (sender=0x85a9d98, m=0xb649ba88, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3280
#27 0xb6389667 in QSingleShotTimer::timeout (this=0x85a9d98) at .moc/release-shared/qtimer.moc:82
#28 0xb638977c in QSingleShotTimer::timerEvent (this=0x85a9d98) at kernel/qtimer.cpp:308
#29 0xb637d924 in QObject::event (this=0x85a9d98, e=0x6) at kernel/qobject.cpp:1183
#30 0xb690b1fc in QApplicationPrivate::notify_helper (this=0x83fdf28, receiver=0x85a9d98, e=0xbfc143c0) at kernel/qapplication.cpp:4396
#31 0xb69122be in QApplication::notify (this=0xbfc14728, receiver=0x85a9d98, e=0xbfc143c0) at kernel/qapplication.cpp:3798
#32 0xb74e0c8a in KApplication::notify (this=0xbfc14728, receiver=0x85a9d98, event=0xbfc143c0) at ../../kdeui/kernel/kapplication.cpp:310
#33 0xb636b93b in QCoreApplication::notifyInternal (this=0xbfc14728, receiver=0x85a9d98, event=0xbfc143c0) at kernel/qcoreapplication.cpp:732
#34 0xb639d126 in sendEvent (this=0x8401934) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#35 QTimerInfoList::activateTimers (this=0x8401934) at kernel/qeventdispatcher_unix.cpp:602
#36 0xb639a284 in timerSourceDispatch (source=0x8401900) at kernel/qeventdispatcher_glib.cpp:184
#37 0xb53fd1d5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#38 0xb54013b8 in ?? () from /lib/libglib-2.0.so.0
#39 0xb5401598 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#40 0xb6399f75 in QEventDispatcherGlib::processEvents (this=0x83f7b40, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#41 0xb69cc755 in QGuiEventDispatcherGlib::processEvents (this=0x83f7b40, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#42 0xb636a3e9 in QEventLoop::processEvents (this=0xbfc14684, flags=) at kernel/qeventloop.cpp:149
#43 0xb636a86a in QEventLoop::exec (this=0xbfc14684, flags=...) at kernel/qeventloop.cpp:201
#44 0xb636ed5f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#45 0xb690b297 in QApplication::exec () at kernel/qapplication.cpp:3672
#46 0x0804a41a in main ()


More information about the kde-games-devel mailing list