liudanking | 23 Mar 10:19 2015

who stole the other 1GB memory?

Hi, guys,

I have a question about ejabberd memory consumption.

I run an ejabberd node on aws ec2 with 3.75GB memory. 

After some days, the beam.smp process consumed 1.8G memory:


29719 root      20   0 2820m 1.8g 3472 S    8 47.6   2337:59 beam.smp 

But when I attached to the ejabberd process wich commnd ejabberdctl debug:

(ejabberd <at> node)1> memory().










From output, it seems that it only consumed 832345776 bytes memory. 

My question is: who stole the other 1GB memory?

Best wishes,

Daniel Liu

ejabberd mailing list
ejabberd <at>
Jérôme Sautret | 20 Mar 17:09 2015

[ANN] ejabberd Community 15.03


ejabberd 15.03 is yet another important release. We have added bug
fixes and some major improvements.

You can learn more about the changes and roadmap by meeting part of
the team in upcoming ejabberd San Francisco Meetup:

New features

* Websocket

Websocket support is among the major new features introduced in this
release. You can write speedy XMPP web clients. This web support has
been tested on large deployments and is extremely fast, with very low

* Customizable session backends

We have introduced a new major feature to give more flexibility in the
way sessions are managed in ejabberd. In the past, session were
managed in Mnesia because it was the best compromise between speed,
latency and scalability. However, ejabberd is deployed on a large
variety of usage patterns and platform types and sizes. We thus have
decided to provide more flexibility to accommodate with various use
cases. For most deployments Mnesia is still the default choice and
best backend to store sessions. For corporate deployments that need to
get easy access to online users and status from other components, we
provide a SQL backend for live sessions storage. Finally, if you want
to avoid duplicating session across nodes to deploy a larger cluster,
you can store your session information in a central, fast, in-memory
backend like redis.

This improves scalability or flexibility depending on your platform type.

* Security improvement: SCRAM support for SQL authentication backend

If you use the default ejabberd SQL authentication backend, you can
now enable password encryption in the database using the standard
SCRAM approach. We also provide a tool to migrate your existing
authentication database to the new SCRAM secure scheme.

* Development community and Elixir improvements

ejabberd 15.03 is also the continuation of 15.02 in the way it
simplifies the development and management of contributed modules. The
community is growing with more code being contributed by third party
developers. You can already find many modules contributed by the
community. And now you can even install contributed modules without
having developer skills or module compilation.

Interest around ejabberd has been accelerating with the introduction
of Elixir. This release improves Elixir support. Moreover, you can now
write ejabberd tests in Elixir and they are ran transparently with the
rest of the test suite.

* Simple add cluster command

With our constant desire to simplify deployment we added a new
ejabberdctl command to add a node in a cluster in a single command.
Those who went to the process of setting up a cluster will certainly
love this new command:

ejabberdctl join_cluster ejabberd <at> existingnode

Changelog overview
As a summary, here is the high level changelog:

* Add support for WebSocket
* Flexible session management with multiple backends: Mnesia/SQL/Redis
or custom backend for session manager
* Security improvement with SCRAM based password encryption in SQL
authentication backends.
* Package management for ejabberd contributed modules
* Improved Elixir experience
* Automatic clustering scripts
* Added missing index on database
* Important updates on the documentation, with the launch of a new
documentation site:
* Several other bugfixes

MySQL database structure improvement

We were missing an index on privacy list in the default MySQL schema.
The database schema has been updated.
If you want to apply the changes on a running instance, here is the
SQL command to issue:

CREATE INDEX i_privacy_list_data_id USING BTREE ON privacy_list_data(id);


As usual, the release is tagged in the Git source code repository on Github:

The source package and binary installers are available at ProcessOne:

If you suspect you found a bug, please search or fill a bug report on Github:
ricky gutierrez | 16 Mar 18:08 2015

Re: some issue with admin interface

2015-03-13 10:30 GMT-06:00 ricky gutierrez <xserverlinux <at>>:
> Hi, something happened to my ejabberd administration interface does
> not show me all my domain user, look at this screen shot
> thnk for any help!
> regardss
hi, strange I can see the total of my users, but users link shows me a few users



ejabberd mailing list
ejabberd <at>
Jérôme Sautret | 13 Mar 18:27 2015

Easy installer for ejabberd contributed modules


We've just added a new mechanism to easily install third-party modules
in ejabberd. You can find more about it here:

We are gathering feedback before we add it in the next stable release.


Jérôme Sautret
ejabberd mailing list
ejabberd <at>
hensem | 12 Mar 07:34 2015

Install mod_muc_admin

I am using ejabberd 14.12, installed using binary installer on CentOS 6.5

Try to install the module from source. both the trunk and
branches/ejabberd-2.0.x can't compile.

Then just copy mod_muc_admin.beam (from trunk) to ejabberd ebin directory,
edit config file and restart ejabberd.

In the web admin interface I can see the mod is enable. But there is no menu
for it. I read somewhere a menu will appear to show created rooms.

Also when I run any command if just give 

/Problem 'error badarg' occurred executing the command./

Anybody have any idea how to install it properly and use it? 


View this message in context:
Sent from the ejabberd mailing list archive at
Gaurav Jain | 12 Mar 06:11 2015

ejabberd behavior b/w user disconnected vs user unavailable


What is the ejabbered behavior for user who is un-expectedly disconnected from internet


user who explicitly sent an 'unavailable' presence?

Would they both be considered offline (for both single user chat or MUC)?

I want a behavior where if a user is disconnected from internet, offline messages to be sent

If user sent a explicit unavailble presence, I dont want offline messages to be sent.

How can that be accomplished? I can write my hook. But I need to know in which situations, the hook will be called.

Best Regards,
ejabberd mailing list
ejabberd <at>
Markus "Shorty" Uckelmann | 10 Mar 22:20 2015

mod_vcard_ldap crashes

Hi all,

I'm trying to get mod_vcard_ldap running in 15.02 with a Win$ AD-Server. 
So far I am able to authenticate via LDAP. But adding the following 
vcard configuration gives me a "CRASH REPORT" and the server is running 
but dead:

   #mod_vcard: []
           "NICKNAME": {"%u", []}
           "FN": {"%s", ["displayName"]}
           "EMAIL": {"%s", ["mail"]}
           "User": "%u"
           "Name": "givenName"
           "Email": "mail"
           "Full Name": "FN"
           "Nickname": "NICKNAME"
           "Email": "EMAIL"

And the logged error is(from error.log):

2015-03-10 22:10:46.175 [error] <0.331.0> CRASH REPORT Process <0.331.0> 
with 0 neighbours exited with reason: {undefined_macro,''} in 
application_master:init/4 line 133

This is the part from crash.log:

2015-03-10 22:10:46 =CRASH REPORT====
     initial call: application_master:init/4
     pid: <0.331.0>
     registered_name: []
     exception exit: 
     ancestors: [<0.330.0>]
     messages: []
     links: [<0.330.0>,<0.332.0>,<0.302.0>]
     dictionary: []
     trap_exit: true
     status: running
     heap_size: 610
     stack_size: 27
     reductions: 129

There is no crashdump file.

Uncommenting the above configration lines make ejabberd work again after 
a restart.

AFAIK I sticked to the documentation at [1]. Am I missing something? Any 
help would be much appreciated.


Cheers, Shorty
Mickaël Rémond | 10 Mar 19:52 2015

How are ejabberd repositories structured


As I was often asked to explain how the ejabberd repositories where
organised, I wrote this blog post about it:

I hope this helps.



Mickaël Rémond
 Meet me in SF ejabberd meetup:

ejabberd mailing list
ejabberd <at>
Gaurav Jain | 8 Mar 23:38 2015

'from' attribute in delay element of MUC history message has jid of occupant instead of room


I am observing that from attribute of delay element in MUC history message has JID of the occupant instead of room.

As per

Discussion history messages MUST be stamped with Delayed Delivery (XEP-0203) [14] information qualified by the 'urn:xmpp:delay' namespace to indicate that they are sent with delayed delivery and to specify the times at which they were originally sent. The 'from' attribute MUST be set to the JID of the room itself.RoomJID = testGroup <at>
Occupant 1 =
erik <at>
Occupant 2 = cyrus <at>

xml version="1.0" encoding="UTF-8"?> <message xmlns="jabber:client" from="testGroup <at>" to="erik <at>" type="groupchat"> <body>Hi</body> <thread>B9D31734-606D-43CD-B613-D5FF8DF7CAA3</thread> <subject /> <active xmlns="" /> <delay xmlns="urn:xmpp:delay" from="cyrus <at>" stamp="2015-03-08T21:02:42.481Z" /> <x xmlns="jabber:x:delay" from="cyrus <at>" stamp="20150308T21:02:42" /> </message>

Why is set to the JID of occupant instead of JID of room. Please help me understand.

Best Regards,

ejabberd mailing list
ejabberd <at>
Gaurav Jain | 6 Mar 23:35 2015

In members-only room, when would a new member gets invitation


I need a clarification on protocol. I did read 0045 on MUC. Just wanted to confirm.

If "owner" creates a members-only room and add a member with affiliation "admin", would the new member will automatically get an invitation


the owner needs to send an invitation explicitly to the the newly added member as "admin".


ejabberd mailing list
ejabberd <at>
Tobias Kräntzer | 2 Mar 20:41 2015

Berlin XMPP Meetup

Hello all,

I created a meetup group to gather the Berlin XMPP community. If you are interested, I would be happy if you join. This first meetup should be an informal round to get to know each other. Place and time yet to be determined.


ejabberd mailing list
ejabberd <at>