I am unable to create Issue for some reason, submitting the form brings me to
the github homepage ... so let's ask here:
running kaya 0.1 fails on my computer with the following error message:
$ kaya
/usr/share/apps/kaya/lib/games/shogi/psn.rb:10: uninitialized constant
Chess::PGN (NameError)
from /usr/share/apps/kaya/lib/plugins/games/shogi.rb:16:in `require'
from /usr/share/apps/kaya/lib/plugins/games/shogi.rb:16
from /usr/share/apps/kaya/lib/plugins/loader.rb:18:in `require'
from /usr/share/apps/kaya/lib/plugins/loader.rb:18:in `initialize'
from /usr/share/apps/kaya/lib/plugins/loader.rb:17:in `each'
from /usr/share/apps/kaya/lib/plugins/loader.rb:17:in `initialize'
from /usr/share/apps/kaya/lib/plugins/loader.rb:15:in `each'
from /usr/share/apps/kaya/lib/plugins/loader.rb:15:in `initialize'
from /usr/share/apps/kaya/lib/plugins/loader.rb:52:in `internal_new'
from /usr/share/apps/kaya/lib/plugins/loader.rb:52:in `new'
from /usr/share/apps/kaya/lib/games/games.rb:14
from /usr/share/apps/kaya/lib/games/all.rb:8:in `require'
from /usr/share/apps/kaya/lib/games/all.rb:8
from /usr/share/apps/kaya/lib/kaya.rb:13:in `require'
from /usr/share/apps/kaya/lib/kaya.rb:13
from /usr/bin/kaya:9:in `require'
from /usr/bin/kaya:9
I wonder if it has anything to do with having gnushogi installed, but for the
record, yes, I have it.
Any hints?
-TIA
K.
Oh, I don't know. I have never created issues so far. But asking here is
ok, of course.
> running kaya 0.1 fails on my computer with the following error message:
>
> I wonder if it has anything to do with having gnushogi installed, but for the
> record, yes, I have it.
>
> Any hints?
Yes, this is caused by the fact that I should not rely on plugins being
loaded always in the same order.
I think I have now solved this problem, and added a test that catches
it. Is it possible for you to try the git version and see if it works
for you now?
Otherwise, as a temporary solution, try adding the line
require 'games/chess/pgn'
at the very beginning of the file 'lib/games/shogi/psn.rb'.
Thanks,
Paolo
well, I'm trying to get it installed properly as a package, working with
"live" versions is not what I am familiar with ...
> Otherwise, as a temporary solution, try adding the line
>
> require 'games/chess/pgn'
>
> at the very beginning of the file 'lib/games/shogi/psn.rb'.
yes, this helps, thanks
however, after I have configured the crafty engine, when trying to start a new
game, the program crashes:
Application: Kaya (kaya), signal: Segmentation fault
[KCrash Handler]
#5 0x0000000000000031 in ?? ()
#6 0x00007f64cb04e729 in xcall_QGraphicsItem (xi=<value optimized out>,
obj=0x2677850, args=0x7fffd3777280) at /var/tmp/portage/kde-
base/smoke-4.2.95/work/smoke-4.2.95_build/smoke/qt/x_7.cpp:6583
#7 0x00007f64ca626697 in smokeruby_free (p=<value optimized out>) at
/var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/handlers.cpp:432
#8 0x00000033ec4517bb in run_final (obj=<value optimized out>) at gc.c:1946
#9 0x00000033ec4517ee in finalize_list (p=<value optimized out>) at gc.c:1097
#10 0x00000033ec451a12 in rb_gc_finalize_deferred () at gc.c:1974
#11 0x00000033ec440ec0 in rb_thread_schedule () at eval.c:11004
#12 0x00000033ec438a65 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:4170
#13 0x00000033ec439ded in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:2972
#14 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#15 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#16 0x00000033ec438dca in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3518
#17 0x00000033ec43b79a in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3498
#18 0x00000033ec43a036 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3693
#19 0x00000033ec43cd33 in rb_yield_0 (val=<value optimized out>, self=<value
optimized out>, klass=<value optimized out>, flags=<value optimized out>,
avalue=<value optimized out>) at eval.c:5090
#20 0x00000033ec48658b in range_each (range=<value optimized out>) at
range.c:446
#21 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#22 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#23 0x00000033ec438c98 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3503
#24 0x00000033ec43c360 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3233
#25 0x00000033ec43cd33 in rb_yield_0 (val=<value optimized out>, self=<value
optimized out>, klass=<value optimized out>, flags=<value optimized out>,
avalue=<value optimized out>) at eval.c:5090
#26 0x00000033ec41b790 in rb_ary_each (ary=<value optimized out>) at
array.c:1261
#27 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#28 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#29 0x00000033ec438c98 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3503
#30 0x00000033ec43c360 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3233
#31 0x00000033ec439ded in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:2972
#32 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#33 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#34 0x00000033ec43f4f3 in rb_funcall2 (recv=<value optimized out>, mid=<value
optimized out>, argc=<value optimized out>, argv=<value optimized out>) at
eval.c:6300
#35 0x00007f64ca5fb90b in class_method_missing (argc=3, argv=0x7fffd3780450,
klass=<value optimized out>) at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/Qt.cpp:929
#36 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#37 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#38 0x00000033ec43f4f3 in rb_funcall2 (recv=<value optimized out>, mid=<value
optimized out>, argc=<value optimized out>, argv=<value optimized out>) at
eval.c:6300
#39 0x00000033ec44561d in method_missing (obj=<value optimized out>, id=<value
optimized out>, argc=<value optimized out>, argv=<value optimized out>,
call_status=<value optimized out>)
at eval.c:5742
#40 0x00000033ec43ecc7 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6133
#41 0x00000033ec438c98 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3503
#42 0x00000033ec439034 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3447
#43 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#44 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#45 0x00000033ec438c98 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3503
#46 0x00000033ec43be7f in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3367
#47 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#48 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#49 0x00000033ec438dca in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3518
#50 0x00000033ec43cd33 in rb_yield_0 (val=<value optimized out>, self=<value
optimized out>, klass=<value optimized out>, flags=<value optimized out>,
avalue=<value optimized out>) at eval.c:5090
#51 0x00000033ec41b790 in rb_ary_each (ary=<value optimized out>) at
array.c:1261
#52 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#53 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#54 0x00000033ec438c98 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3503
#55 0x00000033ec43c360 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3233
#56 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#57 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#58 0x00000033ec43f361 in rb_f_send (argc=<value optimized out>, argv=<value
optimized out>, recv=<value optimized out>) at eval.c:6212
#59 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#60 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#61 0x00000033ec438dca in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3518
#62 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#63 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#64 0x00000033ec438dca in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3518
#65 0x00000033ec43b845 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3157
#66 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#67 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#68 0x00000033ec438e0d in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3524
#69 0x00000033ec43cd33 in rb_yield_0 (val=<value optimized out>, self=<value
optimized out>, klass=<value optimized out>, flags=<value optimized out>,
avalue=<value optimized out>) at eval.c:5090
#70 0x00000033ec43d872 in proc_invoke (proc=<value optimized out>, args=<value
optimized out>, self=<value optimized out>, klass=<value optimized out>) at
eval.c:8870
#71 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#72 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#73 0x00000033ec438c98 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3503
#74 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#75 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#76 0x00000033ec43f4f3 in rb_funcall2 (recv=<value optimized out>, mid=<value
optimized out>, argc=<value optimized out>, argv=<value optimized out>) at
eval.c:6300
#77 0x00007f64ca6309b1 in QtRuby::InvokeSlot::invokeSlot (this=0x7fffd378c2b0)
at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/marshall_types.cpp:801
#78 0x00007f64ca62f2e1 in QtRuby::SigSlotBase::next (this=0x7fffd378c2b0) at
/var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/marshall_types.cpp:650
#79 0x00007f64c5113eae in qt_metacall (argv=<value optimized out>,
self=140070775143520) at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/qtruby.cpp:1481
#80 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#81 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#82 0x00000033ec43f4f3 in rb_funcall2 (recv=<value optimized out>, mid=<value
optimized out>, argc=<value optimized out>, argv=<value optimized out>) at
eval.c:6300
#83 0x00007f64ca6305a3 in QtRuby::VirtualMethodCall::callMethod
(this=0x7fffd378cae0) at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/marshall_types.cpp:523
#84 0x00007f64ca62f31a in QtRuby::MethodCallBase::next (this=0x7fffd378cae0)
at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/marshall_types.cpp:466
#85 0x00007f64ca5f77f7 in QtRuby::Binding::callMethod (this=0x7f64c5321760,
method=<value optimized out>, ptr=0x2a144d0, args=0x7fffd378cb80)
at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/Qt.cpp:275
#86 0x00007f64cb0bc4cc in x_QObject::qt_metacall (this=0x2a144d0,
x1=QMetaObject::InvokeMetaMethod, x2=4, x3=0x7fffd378cc60)
at /var/tmp/portage/kde-
base/smoke-4.2.95/work/smoke-4.2.95_build/smoke/qt/x_11.cpp:3206
#87 0x000000384973fe45 in QMetaObject::activate (sender=<value optimized out>,
from_signal_index=<value optimized out>, to_signal_index=<value optimized
out>, argv=<value optimized out>)
at kernel/qobject.cpp:3101
#88 0x00000038496df0c2 in QProcessPrivate::_q_canReadStandardOutput
(this=<value optimized out>) at io/qprocess.cpp:564
#89 0x00000038496df621 in QProcess::qt_metacall (this=<value optimized out>,
_c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>)
at .moc/release-shared/moc_qprocess.cpp:101
#90 0x0000003ecace3a2d in KProcess::qt_metacall (this=<value optimized out>,
_c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>)
at /var/tmp/portage/kde-
base/kdelibs-4.2.95/work/kdelibs-4.2.95_build/kdecore/kprocess.moc:63
#91 0x00007f64caa8f211 in x_KProcess::qt_metacall (this=0x2605410,
x1=QMetaObject::InvokeMetaMethod, x2=17, x3=0x7fffd378cea0)
at /var/tmp/portage/kde-
base/smoke-4.2.95/work/smoke-4.2.95_build/smoke/kde/x_15.cpp:306
#92 0x000000384973fe45 in QMetaObject::activate (sender=<value optimized out>,
from_signal_index=<value optimized out>, to_signal_index=<value optimized
out>, argv=<value optimized out>)
at kernel/qobject.cpp:3101
#93 0x0000003849771c7e in QSocketNotifier::activated (this=<value optimized
out>, _t1=<value optimized out>) at .moc/release-
shared/moc_qsocketnotifier.cpp:83
#94 0x0000003849745c33 in QSocketNotifier::event (this=<value optimized out>,
e=<value optimized out>) at kernel/qsocketnotifier.cpp:316
#95 0x000000384a59cc5d in QApplicationPrivate::notify_helper (this=<value
optimized out>, receiver=<value optimized out>, e=<value optimized out>) at
kernel/qapplication.cpp:4056
#96 0x000000384a5a459a in QApplication::notify (this=<value optimized out>,
receiver=<value optimized out>, e=<value optimized out>) at
kernel/qapplication.cpp:4021
#97 0x0000003ecb41aa4b in KApplication::notify (this=<value optimized out>,
receiver=<value optimized out>, event=<value optimized out>)
at /var/tmp/portage/kde-
base/kdelibs-4.2.95/work/kdelibs-4.2.95/kdeui/kernel/kapplication.cpp:302
#98 0x00007f64ca9cc3fe in x_KApplication::notify (this=0x24969b0,
x1=0x25f24b0, x2=0x7fffd378d4b0) at /var/tmp/portage/kde-
base/smoke-4.2.95/work/smoke-4.2.95_build/smoke/kde/x_1.cpp:3586
#99 0x000000384972df63 in QCoreApplication::notifyInternal (this=<value
optimized out>, receiver=<value optimized out>, event=<value optimized out>)
at kernel/qcoreapplication.cpp:606
#100 0x0000003849752de9 in socketNotifierSourceDispatch (source=<value
optimized out>) at kernel/qcoreapplication.h:213
#101 0x00000035148397c1 in IA__g_main_context_dispatch (context=<value
optimized out>) at gmain.c:1814
#102 0x000000351483cd98 in g_main_context_iterate (context=<value optimized
out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value
optimized out>) at gmain.c:2445
#103 0x000000351483cf5c in IA__g_main_context_iteration (context=<value
optimized out>, may_block=<value optimized out>) at gmain.c:2508
#104 0x0000003849752b7f in QEventDispatcherGlib::processEvents (this=<value
optimized out>, flags=<value optimized out>) at
kernel/qeventdispatcher_glib.cpp:327
#105 0x000000384a621f3f in QGuiEventDispatcherGlib::processEvents (this=<value
optimized out>, flags=<value optimized out>) at
kernel/qguieventdispatcher_glib.cpp:202
#106 0x000000384972c962 in QEventLoop::processEvents (this=<value optimized
out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#107 0x000000384972cafc in QEventLoop::exec (this=<value optimized out>,
flags=<value optimized out>) at kernel/qeventloop.cpp:197
#108 0x000000384972eaf4 in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:888
#109 0x00007f64caff6f95 in xcall_QApplication (xi=<value optimized out>,
obj=0x7f64cb49a680, args=0x26acc60) at /var/tmp/portage/kde-
base/smoke-4.2.95/work/smoke-4.2.95_build/smoke/qt/x_2.cpp:4091
#110 0x00007f64ca63137e in QtRuby::MethodCall::callMethod
(this=0x7fffd378da30) at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/marshall_types.h:148
#111 0x00007f64ca62f31a in QtRuby::MethodCallBase::next (this=0x7fffd378da30)
at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/marshall_types.cpp:466
#112 0x00007f64ca5fad7b in method_missing (argc=1, argv=0x7fffd378e270,
self=140070774983040) at /var/tmp/portage/kde-
base/qtruby-4.2.95/work/qtruby-4.2.95/ruby/qtruby/src/Qt.cpp:905
#113 0x00000033ec43ea0a in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:5917
#114 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#115 0x00000033ec438dca in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3518
#116 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#117 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#118 0x00000033ec438c98 in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3503
#119 0x00000033ec43e8c0 in rb_call0 (klass=<value optimized out>, recv=<value
optimized out>, id=<value optimized out>, oid=<value optimized out>,
argc=<value optimized out>,
argv=<value optimized out>, body=<value optimized out>, flags=<value
optimized out>) at eval.c:6068
#120 0x00000033ec43eb70 in rb_call (klass=<value optimized out>, recv=<value
optimized out>, mid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>,
scope=<value optimized out>, self=<value optimized out>) at eval.c:6164
#121 0x00000033ec438e0d in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3524
#122 0x00000033ec44af4b in ruby_exec_internal () at eval.c:1652
#123 0x00000033ec44af95 in ruby_exec () at eval.c:1672
#124 0x00000033ec44afc2 in ruby_run () at eval.c:1682
#125 0x00000000004009a3 in main (argc=2, argv=0x7fffd3790f88, envp=<value
optimized out>) at main.c:48
looks like smoke is at fault here, could you confirm, should I report to KDE
bugzilla?
K.
I've devised a trick to get a ruby backtrace out of this mess, but I
would like to iron out this problem, if possible, before releasing an
update. Can you help me?
You should replace the content of the file extensions.cpp with this:
http://gist.github.com/139587, then recompile and reinstall.
This won't solve the crash, but it should give you a nice ruby
backtrace, that you can post here.
Thanks in advance.
Paolo
> I've devised a trick to get a ruby backtrace out of this mess, but I
> would like to iron out this problem, if possible, before releasing an
> update. Can you help me?
>
> You should replace the content of the file extensions.cpp with this:
> http://gist.github.com/139587, then recompile and reinstall.
> This won't solve the crash, but it should give you a nice ruby
> backtrace, that you can post here.
so here goes the new console output (did I say I have not the time to play
with this until late August? ;-))
$ kaya
/usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2556:in `checkarg': Native code
crash! (Exception)
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2679:in
`do_method_missing'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2677:in `each'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2677:in
`do_method_missing'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2673:in `each'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2673:in
`do_method_missing'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:105:in
`method_missing'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:105:in `<<'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:80:in
`send_command'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:117:in
`on_command_feature'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:111:in `each'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:111:in
`on_command_feature'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:104:in `send'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:104:in
`process_command'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:95:in
`process_input'
from /usr/share/apps/kaya/lib/plugins/engines/xboard.rb:36:in
`initialize'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2361:in `call'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2361:in `invoke'
from /usr/lib64/ruby/site_ruby/1.8/KDE/korundum4.rb:36:in
`qt_metacall'
from /usr/lib64/ruby/site_ruby/1.8/KDE/korundum4.rb:36:in
`method_missing'
from /usr/lib64/ruby/site_ruby/1.8/KDE/korundum4.rb:36:in `exec'
from /usr/share/apps/kaya/lib/kaya.rb:48:in `start_kaya'
from /usr/bin/kaya:11
QProcess: Destroyed while process is still running.
K.
Thank you very much for you help. Since the crash is in a finalizer,
this doesn't add much, so I'm basically clueless, now.
Can you tell me the versions of smoke, kdelibs, qt, ruby and qtruby that
you are using?
Thanks,
Paolo
smoke-4.2.95
kdelibs-4.2.95
qt-4.5.2
ruby-1.8.7_p174
qtruby-4.2.95
(qtruby is the version bundled with KDE, not qt4-qtruby from rubyforge)
K.
I might have found a solution! Can you please try adding the line:
item.dispose
immediately after line 137 in lib/board/scene.rb, between
'remove_item(item)' and 'end' ?
If that fixes the problem, I will make a 0.1.1 release, that should
hopefully work out of the box. I have yet to understand why that line is
necessary, but I will check with the qtruby developers, it might be a
bug in the cleanup code of the bindings.
Thank you for your patience,
Paolo
P.S. Do the pieces get rendered correctly? I've seen strange artifacts
in some systems. Compare with my screenshots at
http://pcapriotti.github.com/kaya/screenshots.html
yes, I can start the game now ...
> If that fixes the problem, I will make a 0.1.1 release, that should
> hopefully work out of the box. I have yet to understand why that line is
> necessary, but I will check with the qtruby developers, it might be a
> bug in the cleanup code of the bindings.
hold on a bit, I've found another problem :-(
I've set up crafty engine, but in its default setting it takes for it too long
to think (and it is too strong for me :-)) so I reopened the engines
configuration to see if I can pass some commands to crafty, and after
selecting it and clicking edit ...
$ kaya
/usr/share/apps/kaya/lib/engine_prefs.rb:73:in `method_missing': undefined
method `path=' for #<KDE::UrlRequester:0x7f171de4fd50> (NoMethodError)
from /usr/share/apps/kaya/lib/engine_prefs.rb:73:in `initialize'
from /usr/share/apps/kaya/lib/engine_prefs.rb:176:in `new'
from /usr/share/apps/kaya/lib/engine_prefs.rb:176:in `edit_engine'
from /usr/share/apps/kaya/lib/engine_prefs.rb:139:in `initialize'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2361:in `call'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2361:in `invoke'
from /usr/lib64/ruby/site_ruby/1.8/KDE/korundum4.rb:36:in
`qt_metacall'
from /usr/lib64/ruby/site_ruby/1.8/KDE/korundum4.rb:36:in
`method_missing'
from /usr/lib64/ruby/site_ruby/1.8/KDE/korundum4.rb:36:in `exec'
from /usr/share/apps/kaya/lib/kaya.rb:48:in `start_kaya'
from /usr/bin/kaya:11
QProcess: Destroyed while process is still running.
> P.S. Do the pieces get rendered correctly? I've seen strange artifacts
> in some systems. Compare with my screenshots at
> http://pcapriotti.github.com/kaya/screenshots.html
I haven't observed any problems with graphics
note that I'm trying that on a remote machine using vnc - from experience, the
artifacts are usually opengl related ...
K.
\o/
> hold on a bit, I've found another problem :-(
Ok, this is a "normal" bug. It's fixed now. I have released a new
tarball[1] with all the changes originated in this thread (plus an
additional bugfix).
[1] http://pcapriotti.github.com/kaya/download.html
> I've set up crafty engine, but in its default setting it takes for it too long
> to think (and it is too strong for me :-)) so I reopened the engines
> configuration to see if I can pass some commands to crafty,
Please don't do that :)
Engine arguments are not yet supported. If you try anyway, the engine
executable will not be found, and you will trigger a horrible bug that
will make kaya crash.
I'll fix this bug and add the possibility to specify command line
arguments for engines as soon as possible, but I think you'll have to
wait 0.2 for that.
Thanks for your help and patience.
Paolo