http://bugs.meego.com/show_bug.cgi?id=6369
Summary: Error reporting in HTTP server is sucky (Or: HTTP
server ignores LogOutput dbus signals)
Classification: MeeGo Projects
Product: SyncEvolution
Version: unspecified
Platform: All
Architecture: ---
Status: NEW
Severity: normal
Priority: Undecided
Component: SyncEvolution
AssignedTo: syncevolution-bugs(a)meego.bugs
ReportedBy: matthijs(a)stdin.nl
QAContact: jingke.zhang(a)intel.com
CC: syncevolution-bugs(a)meego.bugs,
syncevolution-default-bugs(a)meego.bugs
Estimated Hours: 0.0
I've been trying to get the HTTP server running, but I got the following output
after connecting with a client.
matthijs@login:~$ syncevo-http-server
http://localhost:9000/sync
POST from 178.226.74.128 config type application/vnd.syncml+wbxml session None
args {} length 1795
requesting new session
SessionChanged: /org/syncevolution/Session/7414306401283853336 1
connection /org/syncevolution/Connection/7414306401283853336 went down
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/var/lib/python-support/python2.5/dbus/connection.py", line 214, in
maybe_handle_message
self._handler(*args, **kwargs)
File "/usr/bin/syncevo-http-server", line 68, in abort
self.destruct(http.INTERNAL_SERVER_ERROR, "lost connection to
SyncEvolution")
File "/usr/bin/syncevo-http-server", line 60, in destruct
self.connection.Close(False, message)
File "/var/lib/python-support/python2.5/dbus/proxies.py", line 140, in
__call__
**keywords)
File "/var/lib/python-support/python2.5/dbus/connection.py", line 607, in
call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "Close" with
signature "bs" on interface "org.syncevolution.Connection" doesn't
exist
This seems like there is something wrong with the dbus interface specs or
something. However, it turns out there is a really simple configuration
problem. Running dbus-monitor shows the real error (the first two signals are
relevant).
signal sender=:1.46 -> dest=(null destination) path=/org/syncevolution/Server;
interface=org.syncevolution.Server; member=LogOutput
object path "/org/syncevolution/Session/7414306401283853336"
string "SHOW"
string "First ERROR encountered: no sources active, check configuration"
signal sender=:1.46 -> dest=(null destination) path=/org/syncevolution/Server;
interface=org.syncevolution.Server; member=LogOutput
object path "/org/syncevolution/Session/7414306401283853336"
string "SHOW"
string "
"
signal sender=:1.46 -> dest=(null destination) path=/org/syncevolution/Server;
interface=org.syncevolution.Server; member=LogOutput
object path "/org/syncevolution/Session/7414306401283853336"
string "DEBUG"
string "done with connection to 'syncevo-server-http.py (HTTP)'
unexpectedly"
signal sender=:1.46 -> dest=(null destination)
path=/org/syncevolution/Connection/7414306401283853336;
interface=org.syncevolution.Connection; member=Abort
signal sender=:1.46 -> dest=(null destination)
path=/org/syncevolution/Session/7414306401283853336;
interface=org.syncevolution.Session; member=StatusChanged
string "done"
uint32 10500
array [
dict entry(
string "addressbook"
struct {
string "none"
string "idle"
uint32 0
}
)
dict entry(
string "calendar"
struct {
string "none"
string "idle"
uint32 0
}
)
dict entry(
string "memo"
struct {
string "none"
string "idle"
uint32 0
}
)
dict entry(
string "todo"
struct {
string "none"
string "idle"
uint32 0
}
)
]
signal sender=:1.46 -> dest=(null destination) path=/org/syncevolution/Server;
interface=org.syncevolution.Server; member=SessionChanged
object path "/org/syncevolution/Session/7414306401283853336"
boolean false
method call sender=:1.51 -> dest=:1.46
path=/org/syncevolution/Connection/7414306401283853336;
interface=org.syncevolution.Connection; member=Close
boolean false
string "lost connection to SyncEvolution"
error sender=:1.46 -> dest=:1.51
error_name=org.freedesktop.DBus.Error.UnknownMethod reply_serial=17
string "Method "Close" with signature "bs" on interface
"org.syncevolution.Connection" doesn't exist
It seems like the dbus server uses signals to return log lines, but the http
server does not seem to show them, making them lost in the void. This makes
setting up the HTTP server a bit of challenge :-)
--
Configure bugmail:
http://bugs.meego.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.