[Kde-bindings] Ruby bindings 4.4 regressions

David Palacio dpalacio at uninorte.edu.co
Wed Jan 27 23:32:14 UTC 2010


On Miércoles 27 Enero 2010 18:18:47 David Palacio escribió:
> Here is a list of regressions/crashes for the 4.4 branch.
> 
> QVariant:
> This one is known for some time. Methods that take them no longer accept
> implicit conversions. Though this feature was not properly implemented in
> the past.
> 
> Ruboids:
> Every ruby plasmoid crashes plasma or the plasmoid viewer. Backtraces may
> differ.
> 
> Constants on modules:
> KIO::NoReload,  KIO::HideProgressInfo for example, are not resolved in 4.4.

More Plasma. Testcase:

require 'korundum4'
require 'plasma_applet'

about = KDE::AboutData.new(
'ruby_kapp', # app internal name
'ruby_kapp', # translation catalog name
KDE.ki18n( 'Ruby KApp' ), # name to be displayed
'1.8.7', #version
KDE.ki18n( 'Kuick IRB Application' ), #description
KDE::AboutData::License_GPL_V3, #license
KDE.ki18n( '(c) 2010 Matz ja nai' ) # copyright statement
                            ) #AboutData
KDE::CmdLineArgs.init(ARGV, about)
KDE::Application.new

puts "list installed applets"
puts Plasma::Applet::listAppletInfo #crash

=======
backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f9d458f36e0 (LWP 6848)]
0x00007f9d40a50eea in QtRuby::Binding::className (this=0x1ed5b00, classId=0) 
at /usr/include/qt4/QtCore/qhash.h:608
608             return node->value;
Current language:  auto; currently c++
(gdb) bt
#0  0x00007f9d40a50eea in QtRuby::Binding::className (this=0x1ed5b00, 
classId=0) at /usr/include/qt4/QtCore/qhash.h:608
#1  0x00007f9d445b2645 in marshall_ValueListItem<KPluginInfo, 
QList<KPluginInfo>, ((const char*)((char*)(&<unnamed>::KPluginInfoListSTR)))> 
(
    m=0x7fff94faadd0) at 
/home/kde/src/KDE/kdebindings/ruby/qtruby/src/marshall_macros.h:233
#2  0x00007f9d40a8b501 in MethodReturnValue (this=0x7fff94faadd0, smoke=<value 
optimized out>, meth=<value optimized out>, stack=<value optimized out>,
    retval=0x7fff94faaf50) at 
/home/kde/src/KDE/kdebindings/ruby/qtruby/src/marshall_types.cpp:406
#3  0x00007f9d40a8d69d in QtRuby::MethodCall::callMethod (this=0x7fff94faaef0) 
at /home/kde/src/KDE/kdebindings/ruby/qtruby/src/marshall_types.h:154
#4  0x00007f9d40a8b46a in QtRuby::MethodCallBase::next (this=0x7fff94faaef0) at 
/home/kde/src/KDE/kdebindings/ruby/qtruby/src/marshall_types.cpp:467
#5  0x00007f9d40a57b93 in class_method_missing (argc=1, argv=0x7fff94fab550, 
klass=<value optimized out>)
    at /home/kde/src/KDE/kdebindings/ruby/qtruby/src/Qt.cpp:963
#6  0x00007f9d454316c2 in rb_call0 (klass=140313453450040, 
recv=140313190334960, id=4057, oid=4057, argc=1, argv=0x7fff94fab550, 
body=0x7f9d458cd1d0,
    flags=<value optimized out>) at eval.c:5904
#7  0x00007f9d4543182a in rb_call (klass=140313453450040, 
recv=140313190334960, mid=4057, argc=1, argv=0x7fff94fab550, scope=1, self=6) 
at eval.c:6151
#8  0x00007f9d454321f3 in rb_funcall2 (recv=<value optimized out>, mid=<value 
optimized out>, argc=<value optimized out>, argv=<value optimized out>)
    at eval.c:6287
#9  0x00007f9d45438aed in method_missing (obj=140313190334960, id=32332544, 
argc=0, argv=<value optimized out>, call_status=<value optimized out>)
    at eval.c:5729
#10 0x00007f9d454318eb in rb_call (klass=140313190334800, 
recv=140313190334960, mid=11001, argc=0, argv=0x0, scope=0, 
self=140313453593240)
    at eval.c:6130
#11 0x00007f9d4542b7e0 in rb_eval (self=140313453593240, n=<value optimized 
out>) at eval.c:3492
#12 0x00007f9d4542e2d3 in rb_eval (self=140313453593240, n=<value optimized 
out>) at eval.c:3502
#13 0x00007f9d4543e67b in ruby_exec_internal () at eval.c:1641
#14 0x00007f9d4543e6c5 in ruby_exec () at eval.c:1661
#15 0x00007f9d4543e6f2 in ruby_run () at eval.c:1671
#16 0x00000000004008b3 in main (argc=2, argv=0x7fff94facf18, envp=<value 
optimized out>) at main.c:48


==========================
By the way, the Plasma bindings can be used outside Plasma applets. Should the 
bindings be renamed to 'plasma' and 'plasma_applet' kept as an alias?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20100127/937a715c/attachment.sig>


More information about the Kde-bindings mailing list