Xmlrpc: 500 internal server error


I wrote this little server, and a simple client remote using Tk, using
the fabulous XMLRPC:

require “xmlrpc/server”
require ‘xmms’

s = XMLRPC::Server.new(8080, ‘’)
s.add_handler(XMLRPC::iPIMethods(“xmms”), Xmms::Remote.new)

This works fabulously, however for many calls (but not all), the client
gets an exception raised: RuntimeError: HTTP-Error: 500 Internal Server

The exception is raised, but the command (e.g. prev, next, pause, play,
etc.) works perfectly. I think it might have to do with return type,
because functions that return a value, like title, do not raise the
exception. Should I wrap Xmms::Remote in some kind of proxy that
coerces the return type of methods into something XMLRPC likes?