Michael Hora | 4 Dec 2006 06:23
Picon

ejabberd stability problem

Dear friends,

have problem with ejabberd server stability. Ejabberd is crashing every
2-6 hours.
Max 200 users are online.
PyICQt and PyMSNt are running.

I have ejabberd  1.1.2 installed  from source installed on Fedora FC4
erlang-R10B-10.1.fc4

Starting command:
exec erl -shared  -env ERL_MAX_PORTS 32000 -pa /var/lib/ejabberd/ebin
-sname ejabberd -s ejabberd -ejabberd config
\"/etc/ejabberd/ejabberd.cfg\" log_path \"/
var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger
\{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir
\"/var/lib/ejabberd/spool\" -detached
or
exec erl  -env ERL_MAX_PORTS 32000 -pa /var/lib/ejabberd/ebin -sname
ejabberd -s ejabberd -ejabberd config \"/etc/ejabberd/ejabberd.cfg\"
log_path \"/
var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger
\{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir
\"/var/lib/ejabberd/spool\" -detached

This is typical crash dump report:
=erl_crash_dump:0.1
Sun Dec  3 13:45:54 2006
Slogan: no next heap size found: 145975097, offset 0
System version: Erlang (BEAM) emulator version 5.3.6.3 [source] [hipe]
(Continue reading)

Mickaël Rémond | 4 Dec 2006 09:37
Favicon
Gravatar

Re: ejabberd stability problem

Hello,

I would first avoid using shared heap.

I hope this helps,

-- 
Mickaël Rémond


_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Michael Hora | 4 Dec 2006 09:54
Picon

Re: ejabberd stability problem

Hello,

see my original message. I am running ejabberd with or without shared 
option.
Server is crashing with and without shared heap.

Michael

Starting command:
exec erl -shared  -env ERL_MAX_PORTS 32000 -pa /var/lib/ejabberd/ebin
-sname ejabberd -s ejabberd -ejabberd config
\"/etc/ejabberd/ejabberd.cfg\" log_path \"/
var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger
\{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir
\"/var/lib/ejabberd/spool\" -detached
or
exec erl  -env ERL_MAX_PORTS 32000 -pa /var/lib/ejabberd/ebin -sname
ejabberd -s ejabberd -ejabberd config \"/etc/ejabberd/ejabberd.cfg\"
log_path \"/
var/log/ejabberd/ejabberd.log\" -sasl sasl_error_logger
\{file,\"/var/log/ejabberd/sasl.log\"\} -mnesia dir
\"/var/lib/ejabberd/spool\" -detached

Mickaël Rémond  wrote / napísal(a):
> Hello,
>
> I would first avoid using shared heap.
>
> I hope this helps,
>
> -- 
> Mickaël Rémond
>  http://www.process-one.net/
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ejabberd mailing list
> ejabberd <at> jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd
>   
Mickaël Rémond | 4 Dec 2006 10:59
Favicon
Gravatar

Re: ejabberd stability problem

Hello,

Le 4 déc. 06 à 09:54, Michael Hora a écrit :

Hello,

see my original message. I am running ejabberd with or without shared option.
Server is crashing with and without shared heap.

I do not know about your original message, but could you check if the crash still happen without the gateways (turned of from config files) ?
By the way, could you also replace ssl keyword in your config file by tls ?
ssl implementation used to produced this type of problems.

Best regards,

-- 
Mickaël Rémond


_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Michael Hora | 4 Dec 2006 12:49
Picon

Re: ejabberd stability problem

Hello.

>  could you check if the crash still happen without the gateways 
> (turned of from config files) ?
all services I have turned off in config file

> By the way, could you also replace ssl keyword in your config file by 
> tls ?

ssl -> tls changed
  {5222, ejabberd_c2s,     [{access, c2s}, {shaper, c2s_shaper}]},
  {5223, ejabberd_c2s,     [{access, c2s}, tls, {certfile, "./ssl.pem"}]},

> ssl implementation used to produced this type of problems.
>
This is situation 1 minute before crash:

top - 12:26:09 up  1:12,  1 user,  load average: 1.31, 1.12, 0.66
Mem:    905420k total,   737188k used,   168232k free,     1944k buffers
Swap:  3349124k total,   639896k used,  2709228k free,    22068k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2550 root      20   0 1216m 620m 2020 R 94.7 70.2   6:33.43 beam
20275 root      16   0  2016 1016  784 R  0.3  0.1   0:00.33 top
    1 root      16   0  1748  492  468 S  0.0  0.1   0:01.38 init
    2 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    4 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 events/0
    5 root      15  -5     0    0    0 S  0.0  0.0   0:00.01 khelper
    6 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kthread
    8 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid
   64 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kblockd/0
   67 root      15   0     0    0    0 S  0.0  0.0   0:00.00 khubd
  113 root      15   0     0    0    0 S  0.0  0.0   0:00.13 pdflush
  114 root      15   0     0    0    0 S  0.0  0.0   0:00.21 pdflush
  116 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0

ejabberd uptime less than 2 hours :-(

=erl_crash_dump:0.1
Mon Dec  4 12:26:16 2006
Slogan: no next heap size found: 154994461, offset 0
System version: Erlang (BEAM) emulator version 5.3.6.3 [source] [hipe]
Compiled: Wed Apr 12 20:59:59 2006
Atoms: 9621
=memory
total: 1186573096
processes: 671210650
processes_used: 671171002
system: 515362446
atom: 428973
atom_used: 420693
binary: 715966
code: 4014736
ets: 502379484

Any ideas ?

Michael
Michael Hora | 4 Dec 2006 13:56
Picon

Re: ejabberd stability problem

Hello.

7 minutes before crash I have last record in sasl.log
I don't know what it is.

Michael

---------------------------

=SUPERVISOR REPORT==== 4-Dec-2006::12:19:33 ===
     Supervisor: {local,ejabberd_http_sup}
     Context:    child_terminated
     Reason:     {{badmatch,{badrpc,{'EXIT',
                                        {{badmatch,
                                             {error,
                                                 systools_rc,
                                                 {function_clause,
                                                     [{systools_rc,
                                                          split_instrs,
                                                          [{application,
                                                               ejabberd,
                                                               permanent,
                                                               [],
                                                               [],
                                                               [],
                                                               [],
                                                               [],
                                                               [],
                                                               [],
                                                               [],
                                                               infinity,
                                                               infinity,
                                                               [],
                                                               [],
                                                               []},
                                                           []]},
                                                      {systools_rc,
                                                          split_script,
                                                          1},
                                                      {systools_rc,

'-merge_scripts/1-fun-0-',
                                                          2},
                                                      {lists,foldl,3},
                                                      {systools_rc,
                                                          merge_scripts,
                                                          1},
                                                      {systools_rc,

do_translate_scripts,
                                                          3},
                                                      {systools_rc,
                                                          translate_scripts,
                                                          3},
                                                      {ejabberd_update,

make_low_level_script,
                                                          2}|
                                                      more]}}},
                                         [{ejabberd_update,
                                              make_low_level_script,
                                              2},
                                          {ejabberd_update,update_info,0},
                                          {rpc,call,4},
                                          {ejabberd_web_admin,get_node,5},

{ejabberd_web_admin,process_admin,2},
                                          {ejabberd_http,process_request,1},
                                          {ejabberd_http,process_header,2},
                                          {ejabberd_http,receive_headers,1}|
                                          more]}}}},
                  [{ejabberd_web_admin,get_node,5},
                   {ejabberd_web_admin,process_admin,2},
                   {ejabberd_http,process_request,1},
                   {ejabberd_http,process_header,2},
                   {ejabberd_http,receive_headers,1},
                   {proc_lib,init_p,5}]}
     Offender:   [{pid,<0.3012.0>},
                  {name,undefined},
                  {mfa,{ejabberd_http,start_link,
                                      [{gen_tcp,#Port<0.8284>},
                                       [http_poll,web_admin]]}},
                  {restart_type,temporary},
                  {shutdown,brutal_kill},
                  {child_type,worker}]
Andreas van Cranenburgh | 7 Dec 2006 00:59
X-Face
Picon
Gravatar

rosters not working anymore

The partition with the ejabberd database was full for about a day, and
now I can't get my roster anymore:

<iq type="get" id="9">
<query xmlns="jabber:iq:roster" />
</iq>

<iq from='andreas <at> unstable.nl' to='andreas <at> unstable.nl/Gajim'
type='error' id='9'>
<query xmlns='jabber:iq:roster'/>
<error code='501' type='cancel'>
<feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</iq>

I've already tried restoring a backup from a week ago (totally
replacing the whole ejabberd spool directory), but it didn't help.

What struck me is that the roster.DCL file is missing, and after
restoring and restarting ejabberd it just disappears again!
Nothing is mentioned in the logs.

--

-- 
    -- Andreas	[ http://unstable.nl ] ( O3IXI8E0OC )
_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Mickaël Rémond | 8 Dec 2006 00:06
Favicon
Gravatar

Re: rosters not working anymore

Hello Andreas,

Le 7 déc. 06 à 00:59, Andreas van Cranenburgh a écrit :

The partition with the ejabberd database was full for about a day, and
now I can't get my roster anymore:

I've already tried restoring a backup from a week ago (totally
replacing the whole ejabberd spool directory), but it didn't help.

What struck me is that the roster.DCL file is missing, and after
restoring and restarting ejabberd it just disappears again!
Nothing is mentioned in the logs.

Did you try restoring from a dump file in a newly created empty spool directory ?

-- 
Mickaël Rémond


_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Andreas van Cranenburgh | 8 Dec 2006 10:24
Picon
Gravatar

Re: rosters not working anymore


On 12/7/2006, "Mickaël Rémond" <mickael.remond <at> process-one.net>
wrote:
>Did you try restoring from a dump file in a newly created empty spool  
>directory ?

I rm -f'ed the spool directory and replaced it with the one from the
backup; didn't help.

How can I see what's happening? The logs don't tell me anything.

        Andreas
Heiner Wolf | 8 Dec 2006 16:29
Gravatar

ejabberd/erlang support and development

Hi,

we are running an xmpp based community service. We are using ejabberd servers.

I am looking for developers (freelancer) or companies who provide
ejabberd support and development as a commercial service. We will need
know-how for performance optimation and additional development of
custom ejabberd plugins.

Please email directly to wolf.heiner <at> googlemail.com.

hw

Gmane