[JDEV] Jabber Server- 1.4 Crashes

Peter Saint-Andre stpeter at jabber.org
Wed Dec 5 12:58:23 CST 2001


And don't forget to run each transport in a separate process. :)

Peter

--
Peter Saint-Andre
email+jabber: stpeter at jabber.org

On Wed, 5 Dec 2001, Thomas Muldowney wrote:

> Your yahoo transport is taking you down.  Do you have the latest
> version?  Have you tried the cvs version?
> 
> --temas
> 
> 
> On Wed, Dec 05, 2001 at 06:26:10PM +0000, Amarnath Yara wrote:
> > Hi, the following is the debug info from core that I got from jabber 
> > server-1.4.1 The server crashed when I tried to login. The numbers of 
> > already logged in users was zero at that time. Normally when there are some 
> > users logged in and chatting and if another guy tries to login then the 
> > server crashes with a segmentation fault. Same is the case with jabber 
> > server 1.4.  I have pasted backtrace, the last two packets of debug and the 
> > jabber.xml configuration. I hope this information is helpful. Thanks.
> > 
> > gdb -c core jabberd/jabberd
> > GNU gdb 5.0
> > Copyright 2000 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain 
> > conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for details.
> > This GDB was configured as "i386-redhat-linux"...
> > Core was generated by `./jabberd/jabberd -D -h phoenix'.
> > Program terminated with signal 11, Segmentation fault.
> > Reading symbols from /usr/lib/libpth.so.14...done.
> > Loaded symbols for /usr/lib/libpth.so.14
> > Reading symbols from /lib/libdl.so.2...done.
> > Loaded symbols for /lib/libdl.so.2
> > Reading symbols from /lib/libresolv.so.2...done.
> > Loaded symbols for /lib/libresolv.so.2
> > Reading symbols from /lib/libc.so.6...done.
> > Loaded symbols for /lib/libc.so.6
> > Reading symbols from /lib/ld-linux.so.2...done.
> > Loaded symbols for /lib/ld-linux.so.2
> > Reading symbols from /usr/local/UIM/jabber-1.4.1/./jsm/jsm.so...done.
> > Loaded symbols for /usr/local/UIM/jabber-1.4.1/./jsm/jsm.so
> > Reading symbols from 
> > /usr/local/UIM/jabber-1.4.1/./xdb_file/xdb_file.so...done.
> > Loaded symbols for /usr/local/UIM/jabber-1.4.1/./xdb_file/xdb_file.so
> > Reading symbols from 
> > /usr/local/UIM/jabber-1.4.1/./pthsock/pthsock_client.so...done.
> > Loaded symbols for /usr/local/UIM/jabber-1.4.1/./pthsock/pthsock_client.so
> > Reading symbols from 
> > /usr/local/UIM/jabber-1.4.1/./yahoo-transport-0.8-1.4/src/yahootrans.so...done.
> > Loaded symbols for 
> > /usr/local/UIM/jabber-1.4.1/./yahoo-transport-0.8-1.4/src/yahootrans.so
> > Reading symbols from 
> > /usr/local/UIM/jabber-1.4.1/./msn-transport-1.1/msntrans.so...done.
> > Loaded symbols for 
> > /usr/local/UIM/jabber-1.4.1/./msn-transport-1.1/msntrans.so
> > Reading symbols from /usr/local/UIM/jabber-1.4.1/./dnsrv/dnsrv.so...done.
> > Loaded symbols for /usr/local/UIM/jabber-1.4.1/./dnsrv/dnsrv.so
> > Reading symbols from 
> > /usr/local/UIM/jabber-1.4.1/./dialback/dialback.so...done.
> > Loaded symbols for /usr/local/UIM/jabber-1.4.1/./dialback/dialback.so
> > Reading symbols from /lib/libnss_files.so.2...done.
> > Loaded symbols for /lib/libnss_files.so.2
> > Reading symbols from /lib/libnss_nisplus.so.2...done.
> > Loaded symbols for /lib/libnss_nisplus.so.2
> > Reading symbols from /lib/libnsl.so.1...done.
> > Loaded symbols for /lib/libnsl.so.1
> > Reading symbols from /lib/libnss_nis.so.2...done.
> > Loaded symbols for /lib/libnss_nis.so.2
> > Reading symbols from /lib/libnss_dns.so.2...done.
> > Loaded symbols for /lib/libnss_dns.so.2
> > #0  0x805771c in jid_cmp (a=0x5f39396e, b=0x820fbc0) at jid.c:248
> > 248         if(_jid_nullstrcmp(a->resource, b->resource) != 0) return -1;
> > (gdb) bt
> > #0  0x805771c in jid_cmp (a=0x5f39396e, b=0x820fbc0) at jid.c:248
> > #1  0x80578e2 in jid_append (a=0x5f39396e, b=0x820fbc0) at jid.c:287
> > #2  0x40199f54 in yahoo_parse_presence (yjp=0x820fc10) at presence.c:268
> > #3  0x40198dbb in yahoo_parse_jpacket (arg=0x820fc10) at parser.c:279
> > #4  0x805576b in mtq_main (arg=0x80e3d50) at mtq.c:147
> > #5  0x4002625c in pth_spawn_trampoline () from /usr/lib/libpth.so.14
> > #6  0x40024351 in pth_mctx_set_bootstrap () from /usr/lib/libpth.so.14
> > #7  <signal handler called>
> > #8  0x40072585 in __sigsuspend (set=0x65636e65) at 
> > ../sysdeps/unix/sysv/linux/sigsuspend.c:45
> > #9  0x73657270 in ?? ()
> > Cannot access memory at address 0x2f3c3e73
> > 
> > 
> > Amarnath Yara
> > 211, Main Street
> > Apartment # 429,
> > Columbia 29201.SC.
> > e-mail : amarny at hotmail.com
> >         yara at engr.sc.edu
> > 
> > 
> > ****************** some Debug (last two packets before 
> > crash)**********************
> > Wed Dec  5 13:51:25 2001  sessions.c:303 THREAD:SESSION:TO received data 
> > from girivasan99_kst at phoenix/home!
> > Wed Dec  5 13:51:25 2001  modules.c:130 mapi_call 0
> > Wed Dec  5 13:51:25 2001  modules.c:153 MAPI 822D980
> > Wed Dec  5 13:51:25 2001  mod_presence incoming filter for 
> > girivasan99_kst at phoenix/home
> > Wed Dec  5 13:51:25 2001  mtq 813FC58 one call 8221AE0
> > Wed Dec  5 13:51:25 2001  offline.c:45 THREAD:OFFLINE received 
> > girivasan99_kst at phoenix's packet: <presence type='probe' 
> > from='girivasan99_kst at phoenix' to='girivasan99_kst at phoenix'/>
> > Wed Dec  5 13:51:25 2001  modules.c:130 mapi_call 1
> > Wed Dec  5 13:51:25 2001  modules.c:169 mapi_call returning unhandled
> > Wed Dec  5 13:51:25 2001  util.c:64 dropping 503 packet <presence 
> > type='probe' from='girivasan99_kst at phoenix' to='girivasan99_kst at phoenix'/>
> > Wed Dec  5 13:51:25 2001  mtq 813FC58 one call 82C24F0
> > Wed Dec  5 13:51:25 2001  offline.c:45 THREAD:OFFLINE received 
> > superkell at phoenix's packet: <presence id='1' 
> > from='girivasan99_kst at phoenix/home' 
> > to='superkell at phoenix'><status>online</status></presence>
> > Wed Dec  5 13:51:25 2001  modules.c:130 mapi_call 1
> > Wed Dec  5 13:51:25 2001  modules.c:169 mapi_call returning unhandled
> > Wed Dec  5 13:51:25 2001  util.c:64 dropping 503 packet <presence id='1' 
> > from='girivasan99_kst at phoenix/home' 
> > to='superkell at phoenix'><status>online</status></presence>
> > Wed Dec  5 13:51:25 2001  mtq 813FC58 one call 820DB78
> > Wed Dec  5 13:51:25 2001  mtq 813FC58 one call 823A278
> > Wed Dec  5 13:51:25 2001  yahoo auth belongs to session 8237E30 (so not 
> > starting a new one)
> > Wed Dec  5 13:51:25 2001  mtq 813FC58 one call 82D8670
> > Wed Dec  5 13:51:25 2001  mtq 813FC58 one call 820FC10
> > Wed Dec  5 13:51:26 2001  dnsrv.c:143 dnsrv: Read error on coprocess(1): 1 
> > Operation not permitted
> > Wed Dec  5 13:51:26 2001  dnsrv.c:157 DNSRV CHILD: out of loop.. exiting 
> > normal
> > Segmentation fault (core dumped)
> > 
> > 
> > 
> > 
> > 
> > /*********************jabber.xml file ****************************/
> > <jabber>
> > 
> >  <!--
> >  This is the Jabber server configuration file. The file is
> >  broken into different sections based on the services being
> >  managed by jabberd, the server daemon. Most of the important
> >  sections have comments and are easy to modify. You can find
> >  full instructions in the server howto, which is available at
> >  http://docs.jabber.org/. Note that when you see a tag like
> >  "jabberd:cmdline", it's automatically replaced on startup
> >  with the command line flag passed in to jabberd. This enables
> >  you to override parameters set in this configuration file if
> >  necessary or desired. Also note as you comment things in and
> >  out that jabberd does not like comments within comments, so
> >  be careful with your XML. :)
> >  -->
> > 
> > 
> >  <!--
> >  The following <service/> section is for the session manager,
> >  the most important component within the server. This section
> >  contains the following types of information:
> > 
> >    * the server's hostname
> >    * other basic server information
> >    * the location of the session log file
> >    * email addresses for server administrators
> >    * the location of the server that provides update information
> >    * registration instructions for new users
> >    * a welcome message for new users
> >    * a list of agents with which users can register
> >    * load rules for the modules within the session manager
> > 
> >  -->
> > 
> >  <service id="sessions">
> > 
> >    <!--
> >    Change hostname below to something other than "tucson",
> >    i.e., to the hostname or IP address of your Jabber server.
> >    Multiple <host/> entries are allowed - each one is for a
> >    separate virtual server. Note that each host entry must
> >    be on one line, the server doesn't like it otherwise! :)
> >    -->
> > 
> >    <host><jabberd:cmdline flag="h">phoenix</jabberd:cmdline></host>
> > 
> >    <!--
> >    This is the custom configuration section for the
> >    Jabber session manager, a.k.a. "JSM".
> >    -->
> > 
> >    <jsm xmlns="jabber:config:jsm">
> > 
> >      <!--
> >      The <filter/> section below determines settings
> >      for mod_filter, a server-side module built into
> >      JSM that enables users to set delivery rules for
> >      messages they receive (not yet supported by all
> >      clients. The <allow/> subsection specifies which
> >      conditions and actions to enable. High-level
> >      descriptions of each setting can be found below
> >      (see docs.jabber.org for full details):
> > 
> >      * <default/> - a user cannot delete this one, it's
> >        the default rule for delivering messages
> >      * <max_size/> - the maximum number of rules in a
> >        user's rule set (we don't want to overdo it!)
> >      * conditions...
> >        * <ns/> - matches the query xmlns attrib on an iq packet
> >        * <unavailable/> - matches when user is unavailable
> >        * <from/> - matches the sender of the message
> >        * <resource/> - matches the receiver's resource
> >        * <subject/> - matches the subject of the message
> >        * <body/> - matches the body of the message
> >        * <show/> - matches the show tag on the receiver's presence
> >        * <type/> - matches the type of the message
> >        * <roster/> - matches if the sender is in your roster
> >        * <group/> - matches if the sender is in the specified group
> >      * actions...
> >        * <error/> - replies with an error
> >        * <offline/> - stores the messages offline
> >        * <forward/> - forwards the message to another jid
> >        * <reply/> - sends a reply to the sender of the message
> >        * <continue/> - continues processing of the rules
> >        * <settype/> - changes the type of the message
> >      -->
> >      <filter>
> >          <default/>
> >          <max_size>100</max_size>
> >          <allow>
> >              <conditions>
> >                  <ns/>
> >                  <unavailable/>
> >                  <from/>
> >                  <resource/>
> >                  <subject/>
> >                  <body/>
> >                  <show/>
> >                  <type/>
> >                  <roster/>
> >                  <group/>
> >              </conditions>
> >              <actions>
> >                  <error/>
> >                  <offline/>
> >                  <forward/>
> >                  <reply/>
> >                  <continue/>
> >                  <settype/>
> >              </actions>
> >          </allow>
> >      </filter>
> > 
> >      <!-- The server vCard -->
> > 
> >      <vCard>
> >        <FN>Jabber Server</FN>
> >        <DESC>A Jabber Server!</DESC>
> >        <URL>http://foo.bar/</URL>
> >      </vCard>
> > 
> >      <!--
> >      Registration instructions and required fields. The
> >      notify attribute will send the server administrator(s)
> >      a message after each valid registration if it is set
> >      to "yes".
> >      -->
> > 
> >      <register notify="yes">
> >        <instructions>Choose a username and password to register with this 
> > server.</instructions>
> >        <name/>
> >        <email/>
> >      </register>
> > 
> >      <!--
> >      A welcome note that is sent to every new user who registers
> >      with your server. Comment it out to disable this function.
> >      -->
> > 
> >      <welcome>
> >        <subject>Welcome!</subject>
> >        <body>Welcome to U.S. Computing's Jabber server phoenix on jalisco-- 
> > we hope you enjoy this service! For information about how
> > to use Jabber, visit the Jabber User's Guide at 
> > http://docs.jabber.org/</body>
> >      </welcome>
> > 
> >      <!--
> >      IDs with admin access - these people will receive admin
> >      messages (any message to="yourhostname" is an admin
> >      message).  These addresses must be local ids, they cannot
> >      be remote addresses.
> > 
> >      Note that they can also send announcements to all
> >      users of the server, or to all online users. To use
> >      the announcement feature, you need to send raw xml and be
> >      logged in as one of the admin users. Here is the syntax
> >      for sending an announcement to online users:
> > 
> >        <message to="yourhostname/announce/online">
> >          <body>announcement here</body>
> >        </message>
> > 
> >        <message to="yourhostname/announce/motd">
> >          <body>message (of the day) that is sent only once to all users 
> > that are logged in and additionally to new ones as they log in</body>
> >        </message>
> > 
> >      Sending to /announce/motd/delete will remove any existing
> >      motd, and to /announce/motd/update will only update the motd
> >      without re-announcing to all logged in users.
> > 
> >      The <reply> will be the message that is automatically
> >      sent in response to any admin messages.
> >      -->
> > 
> >      <!--
> >      <admin>
> >        <read>support at tucson</read>
> >        <write>admin at tucson</write>
> >        <reply>
> >          <subject>Auto Reply</subject>
> >          <body>This is a special administrative address.  Your message was 
> > received and forwarded to server administrators.</body>
> >        </reply>
> >      </admin>
> >      -->
> > 
> >      <!--
> >      This is the resource that checks for updated versions
> >      of the Jabber server software. Note that you don't lose
> >      any functionality if you comment this out. Removing the
> >      <update/> config is especially a good strategy if your
> >      server is behind a firewall. If you want to use this
> >      feature, change 'tucson' to the hostname or IP address
> >      of your server, making sure that it is the same as your
> >      entry for <host/> above.
> >      -->
> > 
> >      <!-- COMMENTED OUT BY WAYNE DURING INITIAL CONFIGURATION
> >      <update><jabberd:cmdline flag="h">phoenix</jabberd:cmdline></update>
> >      -->
> > 
> >      <!--
> >      This enables the server to automatically update the
> >      user directory when a vcard is edited.  The update is
> >      only sent to the first listed jud service below.  It is
> >      safe to remove this flag if you do not want any users
> >      automatically added to the directory.
> >      -->
> > 
> >      <vcard2jud/>
> > 
> >      <!--
> >      The <browse/> section identifies the transports and other
> >      services that are available from this server. Note that each
> >      entity identified here must exist elsewhere or be further
> >      defined in its own <service/> section below. These services
> >      will appear in the user interface of Jabber clients that
> >      connect to your server.
> >      -->
> > 
> >      <browse>
> > 
> >        <!--
> >        This is the default agent for the master Jabber User
> >        Directory, a.k.a. "JUD", which is located at jabber.org.
> >        You can add separate <service/> sections for additional
> >        directories, e.g., one for a company intranet.
> >        -->
> > 
> >        <service type="jud" jid="users.jabber.org" name="Jabber User 
> > Directory">
> >          <ns>jabber:iq:search</ns>
> >          <ns>jabber:iq:register</ns>
> >        </service>
> > 
> >        <!--
> >        The following services are examples only, you will need to
> >        create/modify them to get them working on your Jabber
> >        server. See the README files for each service and/or the
> >        server howto for further information/instructions.
> >        -->
> > 
> >        <!-- we're commenting these out, of course :)
> > 
> >        <conference type="private" jid="conference.phoenix" name="Private 
> > Conferencing"/>
> > 
> >        <service type="aim" jid="aim.phoenix" name="AIM Transport">
> >          <ns>jabber:iq:gateway</ns>
> >          <ns>jabber:iq:register</ns>
> >        </service>
> > 
> >           end of <service/> examples -->
> > 
> >        <service type="yahoo" jid="yahoo.phoenix" name="Yahoo! Transport">
> >          <ns>jabber:iq:gateway</ns>
> >          <ns>jabber:iq:register</ns>
> >        </service>
> >       <!-- Commented by Amar
> >        <service type ="icq" jid="icq.phoenix" name="ICQ Transport">
> >           <ns>jabber:iq:gateway</ns>
> >           <ns>jabber:iq:register</ns>
> >           <ns>jabber:iq:search</ns>
> >        </service>
> >      -->
> > 
> > 	<service type="msn" jid="msn.phoenix" name="MSN Transport">
> >          <ns>jabber:iq:gateway</ns>
> >          <ns>jabber:iq:register</ns>
> >        </service>
> > 
> > 
> >      </browse>
> > 
> >    </jsm>
> > 
> >    <!--
> >    The following section dynamically loads the individual
> >    modules that make up the session manager. Remove or
> >    comment out modules to disable them. Note that the order
> >    of modules is important, since packets are delivered
> >    based on the following order!!
> >    -->
> > 
> >    <load main="jsm">
> >      <jsm>./jsm/jsm.so</jsm>
> >      <mod_echo>./jsm/jsm.so</mod_echo>
> >      <mod_roster>./jsm/jsm.so</mod_roster>
> >      <mod_time>./jsm/jsm.so</mod_time>
> >      <mod_vcard>./jsm/jsm.so</mod_vcard>
> >      <mod_last>./jsm/jsm.so</mod_last>
> >      <mod_version>./jsm/jsm.so</mod_version>
> >      <mod_announce>./jsm/jsm.so</mod_announce>
> >      <mod_agents>./jsm/jsm.so</mod_agents>
> >      <mod_browse>./jsm/jsm.so</mod_browse>
> >      <mod_admin>./jsm/jsm.so</mod_admin>
> >      <mod_filter>./jsm/jsm.so</mod_filter>
> >      <mod_offline>./jsm/jsm.so</mod_offline>
> >      <mod_presence>./jsm/jsm.so</mod_presence>
> >      <mod_auth_plain>./jsm/jsm.so</mod_auth_plain>
> >      <mod_auth_digest>./jsm/jsm.so</mod_auth_digest>
> >      <mod_auth_0k>./jsm/jsm.so</mod_auth_0k>
> >      <mod_log>./jsm/jsm.so</mod_log>
> >      <mod_register>./jsm/jsm.so</mod_register>
> >      <mod_xml>./jsm/jsm.so</mod_xml>
> >    </load>
> > 
> >  </service>
> > 
> >  <!-- OK, we've finished defining the Jabber Session Manager. -->
> > 
> >  <!-- The <xdb/> component handles all data storage, using the filesystem. 
> > -->
> > 
> >  <xdb id="xdb">
> >    <host/>
> >    <load>
> >      <xdb_file>./xdb_file/xdb_file.so</xdb_file>
> >    </load>
> >    <xdb_file xmlns="jabber:config:xdb_file">
> >      <spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool>
> >    </xdb_file>
> >  </xdb>
> > 
> >  <!--
> >  The following service manages incoming client socket connections.
> >  There are several items you can set here to optimize performance:
> > 
> >    * authtime - default is unlimited, but you can set this to
> >      limit the amount of time allowed for authentication to be
> >      completed, e.g., <authtime>10</authtime> for 10 seconds
> > 
> >    * karma - this is an input/output rate limiting system that
> >      the Jabber team came up with to prevent bandwidth hogging.
> >      For details about karma, read the io section at the bottom
> >      and/or see docs.jabber.org. These are the low settings and
> >      apply per connection/socket and can be changed as desired.
> > 
> >  -->
> > 
> >  <service id="c2s">
> >    <load>
> >      <pthsock_client>./pthsock/pthsock_client.so</pthsock_client>
> >    </load>
> >    <pthcsock xmlns='jabber:config:pth-csock'>
> >      <authtime/>
> >      <karma>
> >        <init>10</init>
> >        <max>10</max>
> >        <inc>1</inc>
> >        <dec>1</dec>
> >        <penalty>-6</penalty>
> >        <restore>10</restore>
> >      </karma>
> >      <!--
> >      Use these to listen on particular addresses and/or ports.
> >      <ip port="5222">127.0.0.1</ip>
> >      -->
> >      <ip port="5222"/>
> >      <!--
> >      The <ssl/> tag acts just like the <ip/> tag.  Except SSL is used
> >      on the ports and ips specified.  You must specify an IP here, or the
> >      connections will fail.
> > 
> >      <ssl port='5223'>127.0.0.1</ip>
> >      <ssl port='5224'>64.28.196.147</ip>
> >      -->
> >    </pthcsock>
> >  </service>
> >  <!-- Commented by Amar
> >  <service id="icq.phoenix">
> >         <icqtrans xmlns="jabber:config:icqtrans">
> >         <instructions>Please enter your ICQ number (in the "username" 
> > field),
> >         nickname, and password. Leave the "username" field blank
> >         to create a new ICQ number.</instructions>
> >         <search>Search for ICQ users</search>
> >         <vCard>
> >         <FN>ICQ Transport</FN>
> >         <DESC>This is the ICQ Transport</DESC>
> >         <URL>http://tucson/</URL>
> >         </vCard>
> >         <prime>37</prime>
> >         <ports>
> >         <min>2000</min>
> >         <max>3000</max>
> >         </ports>
> >         </icqtrans>
> >         <load>
> >         <icqtrans>./icq-transport-0.9/icqtrans.so</icqtrans>
> >         </load>
> >   </service>
> > 	-->
> > 
> >   <service id="yahoo.phoenix">
> >         <load>
> >         
> > <yahoo_transport>./yahoo-transport-0.8-1.4/src/yahootrans.so</yahoo_transport>
> >         </load>
> >   </service>
> > 
> > 	<service id="msn.phoenix">
> >         <msntrans xmlns="jabber:config:msntrans">
> >  <instructions>Enter your MSN Messenger account and password. Example: 
> > user1 at hotmail.com. Nickname is
> >         optional.</instructions>
> >         <vCard>
> >         <FN>MSN Transport</FN>
> >         <DESC>This is the MSN Transport</DESC>
> >         <URL>http://phoenix</URL>
> >         </vCard>
> >         </msntrans>
> >         <load>
> >         <msntrans>./msn-transport-1.1/msntrans.so</msntrans>
> >         </load>
> >         </service>
> > 
> > 
> >  <!--
> >  This is the default server error logging component,
> >  which copies to a file and to STDERR.
> >  -->
> > 
> >  <log id='elogger'>
> >    <host/>
> >    <logtype/>
> >    <format>%d: [%t] (%h): %s</format>
> >    <file>error.log</file>
> >    <stderr/>
> >  </log>
> > 
> >  <!--
> >  This is the default server record logging component,
> >  which logs general statistical/tracking data.
> >  -->
> > 
> >  <log id='rlogger'>
> >    <host/>
> >    <logtype>record</logtype>
> >    <format>%d %h %s</format>
> >    <file>record.log</file>
> >  </log>
> > 
> >  <!-- The following two services are for handling server-to-server traffic. 
> > -->
> > 
> >  <!-- External asychronous DNS resolver -->
> > 
> >  <service id="dnsrv">
> >    <host/>
> >    <load>
> >      <dnsrv>./dnsrv/dnsrv.so</dnsrv>
> >    </load>
> >    <dnsrv xmlns="jabber:config:dnsrv">
> >    	<resend service="_jabber._tcp">s2s</resend> <!-- for supporting SRV 
> > records -->
> >    	<resend>s2s</resend>
> >    </dnsrv>
> >  </service>
> > 
> >  <!--
> >  The following 's2s' config handles server connections and
> >  dialback hostname verification.  The <legacy/> element is
> >  here to enable communication with old 1.0 servers. The
> >  karma settings are a little higher here to handle the
> >  higher traffic of server-to-server connections (read
> >  the io section below for more details, medium settings).
> >  -->
> > 
> >  <service id="s2s">
> >    <load>
> >      <dialback>./dialback/dialback.so</dialback>
> >    </load>
> >    <dialback xmlns='jabber:config:dialback'>
> >      <legacy/>
> >      <!-- Use these to listen on particular addresses and/or ports.
> >      <ip port="7000"/>
> >      <ip port="5269">127.0.0.1</ip>
> >      -->
> >      <ip port="5269"/>
> >      <karma>
> >        <init>50</init>
> >        <max>50</max>
> >        <inc>4</inc>
> >        <dec>1</dec>
> >        <penalty>-5</penalty>
> >        <restore>50</restore>
> >      </karma>
> >    </dialback>
> >  </service>
> > 
> >  <!--
> >  If you identified additional agents in the main <service/>
> >  section (see examples above), you'll need to define each
> >  of them here using a separate <service/> section for each
> >  <agent/> you identified. Note that the <agent/> sections
> >  determine what gets shown to clients that connect to your
> >  server, whereas the following <service/> sections define
> >  these services within the server itself. The following are
> >  examples only, you will need to create/modify them to get
> >  them working on your Jabber server. See the README files
> >  for each agent and/or the server howto for further
> >  information/instructions.
> >  -->
> > 
> >  <!-- we're commenting these out, of course :)
> > 
> >  <service id="conference">
> >    <load>
> >      <groupchat>/path/to/groupchat.so</groupchat>
> >    </load>
> >    <host>conference.phoenix</host>
> >  </service>
> > 
> >  <service id="irc">
> >    <host>irc.phoenix</host>
> >  </service>
> > 
> >  <service id="aim.phoenix">
> >    <accept>
> >      <ip/>
> >      <port>7009</port>
> >      <secret>jabber-rocks</secret>
> >    </accept>
> >  </service>
> >  -->
> >  <service id="yahoo.phoenix">
> >    <accept>
> >      <ip/>
> >      <port>9001</port>
> >      <secret>jabber-rocks</secret>
> >    </accept>
> >  </service>
> > 
> >  end of <service/> examples
> > 
> >  <!--
> >  The following <io/> config initializes the top-level
> >  I/O, otherwise known as MIO (Managed Input/Output).
> >  -->
> > 
> >  <io>
> > 
> >    <!-- Set the default karma for *all* sockets -->
> >    <!-- definition of terms:
> >        Avg. Throughput:    The ammount of bytes you can send every second 
> > without incuring any penalty
> >        Burst allowed to:   The maximum you can send in 2 seconds without 
> > incuring any penalty
> >        max sustained rate: if you send data as fast as you can, you will 
> > hit penalty, and will not be able to send for 10 seconds,
> >                            this is the average rate you can dump data when 
> > you are dumping as much as you can, as fast as you can.
> >        seconds to recover from burst: The ammount of time it will take to 
> > reach Avg. Throughput capability, after sending max burst
> >                                       of data
> >        penalty length:     Penalty will last abs(penalty) * Heartbeat 
> > seconds  so a penalty of -5 and heartbeat of 2 will last 10 sec.
> >                            NOTE: penalty CANNOT be less than -100.. 
> > otherwise strange things might happen.
> >    -->
> >    <!-- Example of Low Karma Limits
> >        Avg. throughput:  1k-2k/s
> >        burst allowed to: 5.5k/s
> >        max sustained rate: 485b/s
> >        seconds to recover from burst: 20
> >        penalty length:   12 seconds
> >    <karma>
> >      <heartbeat>2</heartbeat>
> >      <init>10</init>
> >      <max>10</max>
> >      <inc>1</inc>
> >      <dec>1</dec>
> >      <penalty>-6</penalty>
> >      <restore>10</restore>
> >    </karma>
> >    -->
> > 
> >    <!-- Example of Medium Karma Limits
> >        Avg. throughput:  5k-10k/s
> >        burst allowed to: 125.5k/s
> >        max sustained rate: 12.6k/s
> >        seconds to recover from burst: 25
> >        penalty length:   10 seconds
> >    <karma>
> >      <heartbeat>2</heartbeat>
> >      <init>50</init>
> >      <max>50</max>
> >      <inc>4</inc>
> >      <dec>1</dec>
> >      <penalty>-5</penalty>
> >      <restore>50</restore>
> >    </karma>
> >    -->
> > 
> >    <!-- Example of High Karma Limits
> >        Avg. throughput:  5k-10k/s
> >        burst allowed to: 206k/s
> >        max Sustained rate: 34.3k/s
> >        seconds to recover from burst: 21
> >        penalty length:   6 seconds
> >    <karma>
> >      <heartbeat>2</heartbeat>
> >      <init>64</init>
> >      <max>64</max>
> >      <inc>6</inc>
> >      <dec>1</dec>
> >      <penalty>-3</penalty>
> >      <restore>64</restore>
> >    </karma>
> >    -->
> > 
> >    <!--
> >    Set rate limits to monitor the number of connection
> >    attempts from a single IP, any more than [points]
> >    within [time] will engage the limit.  This setting
> >    applies to all incoming connections to any service,
> >    unless otherwise overridden by that service.
> >    -->
> > 
> >    <rate points="5" time="25"/>
> > 
> >    <!--
> >    The following section initializes SSL for top-level I/O.
> >    This works only when the server is compiled with openssl!
> >    -->
> >    <!-- BE SURE TO CHANGE THE FOLLOWING (2) IP's IF USING SSL
> >    <ssl>
> >      <key ip='192.168.1.1'>/path/to/cert_and_key.pem</key>
> >      <key ip='192.168.1.100'>/path/to/other/cert_and_key.pem</key>
> >    </ssl>
> >    -->
> > 
> >    <!--
> >    The following section is used to allow or deny
> >    communications from specified IP networks or
> >    addressses. If there is no <allow/> section,
> >    then *all* IPs will be allowed to connect. If
> >    you allow one block, then only that block may
> >    connect. Note that <allow/> is checked before
> >    <deny/>, so if a specific address is allowed
> >    but the network for that address is denied,
> >    then that address will still be denied.
> >    -->
> >    <!--
> >    <allow><ip>127.0.0.0</ip><mask>255.255.255.0</mask></allow>
> >    <allow><ip>12.34.56.78</ip></allow>
> >    <deny><ip>22.11.44.0</ip><mask>255.255.255.0</mask></deny>
> >    -->
> > 
> >  </io>
> > 
> >  <!--
> >  This specifies the file to store the pid of the process in.
> >  -->
> >  <pidfile>./jabber.pid</pidfile>
> > 
> > 
> > </jabber>
> > 
> > 
> > 
> > 
> > >From: Peter Saint-Andre <stpeter at jabber.org>
> > >To: jdev at jabber.org
> > >CC: amarny at hotmail.com
> > >Subject: Re: [JDEV] Jabber Server- 1.4  Crashes
> > >Date: Wed, 5 Dec 2001 10:33:16 -0600 (CST)
> > >
> > >> Hi all, I have been running jabber server-1.4 on a Linux 7.0 for quite 
> > >some
> > >> time now with a max of 10 users. The server even though works great 
> > >crashes
> > >> very often. I am using a daemon tool to run the server continuouly but 
> > >still
> > >> the users are not happy whenever the server dies and disconnects 
> > >everybody.
> > >
> > >If you could provide some debug info that would be great. It is
> > >definitely not normal for the server to crash very often and you may have
> > >a configuration problem.
> > >
> > >> Also interested in looking into server side code. I am not
> > >> an expert in c and have lot of code related questions. Is this the right
> > >> place for such questions ?
> > >
> > >Yes.
> > >
> > >Peter
> > >
> > 
> > 
> > 
> > _________________________________________________________________
> > Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
> > 
> > _______________________________________________
> > jdev mailing list
> > jdev at jabber.org
> > http://mailman.jabber.org/listinfo/jdev
> 
> -- 
> Thomas Muldowney
> email/jabber: temas at jabber.org
> 




More information about the JDev mailing list