[JDEV] non-unicode XML crashes jabberd
Ralph Siemsen
ralphs at blueairnetworks.com
Mon Sep 9 09:12:08 CDT 2002
Hi Martin,
Join the club ;) I have been seeing this also. The blame lies in the
JUD somewhere, if you turn it off then it doesn't happen anymore.
I spent quite a while trying to debug it. The problem isn't that
non-unicode characters are being transmitted - but rather, that a buffer
in memory is getting overwritten with a pointer (8 bytes on most archs).
I even had Temas and Nathan Sharp poking along with me, but we didn't
find the culprit.
Sorry not to have a solution for you, but maybe you feel better knowing
that you're not alone? :P
-Ralph
Martin Lesser wrote:
> The last days our jabberd (1.4.2) crashed two times, both times a client
> (Gabber)[1] using non-unicode characters was the reason.
>
> The IMHO relevant last lines from the log-files:
>
> 2002-09-07 13:36:21.696523500 deliver.c:678 delivering to instance 'xdb'
> 2002-09-07 13:36:21.696696500 xdb_file.c:172 handling xdb request <xdb type='set' ...</xdb>
> 2002-09-07 13:36:21.696844500 xdb_file.c:109 loading /home/jabber/spool/jud/global.xdb
> 2002-09-07 13:36:21.697376500 deliver.c:474 DELIVER 1:jud <xdb type='result' ...</xdb>
> 2002-09-07 13:36:21.697487500 deliver.c:678 delivering to instance 'dnsrv'
> 2002-09-07 13:36:21.697651500 xdb.c:52 xdb_results checking xdb packet <xdb type... </xdb>
> !!-> 2002-09-07 13:36:21.697770500 xdb_file.c:272 decaching pz<90>íbber/spool/jud/global.xdb
> ??-> 2002-09-07 13:36:21.949186500 dnsrv.c:155 dnsrv: Read error on coprocess(1): 0 Success
> 2002-09-07 13:36:21.949236500 dnsrv.c:169 DNSRV CHILD: out of loop.. exiting normal
>
> 2002-09-07 14:36:15.793504500 xdb_file.c:109 loading /home/jabber/spool/jud/global.xdb
> 2002-09-07 14:36:15.793766500 xdb_file.c:129 caching /home/jabber/spool/jud/global.xdb
> 2002-09-07 14:36:15.794655500 xdb.c:52 xdb_results checking xdb packet <xdb type...</xdb>
> !!-> 2002-09-07 14:36:15.794821500 xdb_file.c:272 decaching (gȩ#@bber/spool/jud/global.xdb
> ??-> 2002-09-07 14:36:15.816514500 dnsrv.c:155 dnsrv: Read error on coprocess(1): 0 Success
> 2002-09-07 14:36:15.816560500 dnsrv.c:169 DNSRV CHILD: out of loop.. exiting normal
>
> As you can see xdb_file.c tried to handle garbage-characters when
> decaching the global.xdb[2]
>
> At the moment I don't understand from which point xdb_file.c gets this
> garbage, this garbage appears _only_ when global.xdb is decached _and_ a
> client with wrong/none unicode is involved.
>
> Also I don't understand why dnsrv.c claims PID 1 (init) as its parent
> process. We run jabberd under control of supervise[3] so jabberd is
> restarted automaticly if it dies with the disadvantage of loosing all
> established connections.
>
> TIA, Martin
More information about the JDev
mailing list