Bug 426159 - ejabberd fails on s2s with erlang R12B
Summary: ejabberd fails on s2s with erlang R12B
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: ejabberd
Version: 8
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Peter Lemenkov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-12-18 21:54 UTC by Adam Goode
Modified: 2008-02-07 21:00 UTC (History)
0 users

Fixed In Version: 2.0.0-0.3.rc1.fc7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-02-07 20:58:06 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
The patch for Fedora SRPM (4.07 KB, patch)
2008-01-23 09:37 UTC, Aleksander Adamowski
no flags Details | Diff
Updated spec file that applies the patch (7.83 KB, text/plain)
2008-01-23 09:38 UTC, Aleksander Adamowski
no flags Details
Updated SRPM for Fedora Core 7 (850.68 KB, application/octet-stream)
2008-01-23 09:41 UTC, Aleksander Adamowski
no flags Details

Description Adam Goode 2007-12-18 21:54:01 UTC
Description of problem:

When a federated connection comes in, this happens and sends a 404 back to the user:

=INFO REPORT==== 2007-12-18 16:32:39 ===
I(<0.230.0>:ejabberd_listener:90): (#Port<0.1803>) Accepted connection
{{0,0,0,0,0,65535,53493,54370},59294} -> {{0,0,0,0,0,65535,49320,1},5269}

=INFO REPORT==== 2007-12-18 16:32:39 ===
I(<0.8395.0>:ejabberd_s2s_in:105): started: {gen_tcp,#Port<0.1803>}

=INFO REPORT==== 2007-12-18 16:32:39 ===
I(<0.8395.0>:ejabberd_s2s_in:222): starttls

=INFO REPORT==== 2007-12-18 16:32:39 ===
I(<0.8395.0>:ejabberd_s2s_in:519): terminated: {undef,
                                                [{'PKIX1Explicit88',decode,
                                                  ['X520CommonName',
                                                   <<20,12,42,46,106,97,98,
                                                     98,101,114,46,111,114,
                                                     103>>]},
                                                 {ejabberd_s2s_in,
                                                  '-get_cert_domains/1-fun-0-',
                                                  1},
                                                 {lists,flatmap,2},
                                                 {lists,flatmap,2},
                                                 {ejabberd_s2s_in,
                                                  get_cert_domains,1},
                                                 {ejabberd_s2s_in,
                                                  wait_for_feature_request,2},
                                                 {gen_fsm,handle_msg,7},
                                                 {proc_lib,init_p,5}]}

=ERROR REPORT==== 2007-12-18 16:32:39 ===
** State machine <0.8395.0> terminating 
** Last event in was {xmlstreamelement,
                         {xmlelement,"auth",
                             [{"xmlns","urn:ietf:params:xml:ns:xmpp-sasl"},
                              {"mechanism","EXTERNAL"}],
                             [{xmlcdata,<<"amFiYmVyLm9yZw==">>}]}}
** When State == wait_for_feature_request
**      Data  == {state,{tlssock,#Port<0.1803>,#Port<0.1805>},
                        tls,<0.8396.0>,"560872400",s2s_shaper,true,true,
                        [{certfile,"/etc/ejabberd/ejabberd.pem"}],
                        false,undefined,
                        {dict,0,16,16,8,80,48,
                              {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                               []},
                              {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                []}}},
                        #Ref<0.0.0.27313>}
** Reason for termination = 
** {'module could not be loaded',
       [{'PKIX1Explicit88',decode,
            ['X520CommonName',
             <<20,12,42,46,106,97,98,98,101,114,46,111,114,103>>]},
        {ejabberd_s2s_in,'-get_cert_domains/1-fun-0-',1},
        {lists,flatmap,2},
        {lists,flatmap,2},
        {ejabberd_s2s_in,get_cert_domains,1},
        {ejabberd_s2s_in,wait_for_feature_request,2},
        {gen_fsm,handle_msg,7},
        {proc_lib,init_p,5}]}


Suspiciously, this is the same module as was replaced in the new erlang.
Rebuilding ejabberd-1.1.4-3 fixes this.


Version-Release number of selected component (if applicable):
ejabberd-1.1.4-1.fc8

Comment 1 Adam Goode 2007-12-19 19:13:21 UTC
Oh no, it doesn't look like this is fixed by a simple recompile. I am getting it
again today.


=SUPERVISOR REPORT==== 19-Dec-2007::14:01:39 ===
     Supervisor: {local,ejabberd_s2s_in_sup}
     Context:    child_terminated
     Reason:     {undef,
                     [{'PKIX1Explicit88',decode,
                          ['X520CommonName',
                           <<20,12,42,46,106,97,98,98,101,114,46,111,114,103>>]},
                      {ejabberd_s2s_in,'-get_cert_domains/1-fun-0-',1},
                      {lists,flatmap,2},
                      {lists,flatmap,2},
                      {ejabberd_s2s_in,get_cert_domains,1},
                      {ejabberd_s2s_in,wait_for_feature_request,2},
                      {gen_fsm,handle_msg,7},
                      {proc_lib,init_p,5}]}
     Offender:   [{pid,<0.2348.0>},
                  {name,undefined},
                  {mfa,
                      {ejabberd_s2s_in,start_link,
                          [{gen_tcp,#Port<0.1094>},
                           [{shaper,s2s_shaper},
                            {max_stanza_size,131072},
                            inet6]]}},
                  {restart_type,temporary},
                  {shutdown,brutal_kill},
                  {child_type,worker}]


Comment 2 Aleksander Adamowski 2008-01-23 09:25:22 UTC
Try to rebuild with the patch mentioned here:
http://support.process-one.net/browse/EJAB-446 - does it fix your problem?

Comment 3 Aleksander Adamowski 2008-01-23 09:37:51 UTC
Created attachment 292620 [details]
The patch for Fedora SRPM

Comment 4 Aleksander Adamowski 2008-01-23 09:38:21 UTC
Created attachment 292621 [details]
Updated spec file that applies the patch

Comment 5 Aleksander Adamowski 2008-01-23 09:41:23 UTC
Created attachment 292622 [details]
Updated SRPM for Fedora Core 7

Try to rebuild and install this SRPM and tell if it fixes your problem.

You can also take the existing Fedora SRPM for Fedora Core 7 and add the
attached ssl.patch and ejabberd.spec - the result will be the same.

Comment 6 Adam Goode 2008-01-24 03:50:29 UTC
This appears to be working, so far. I will update when I have tested for a while.

Comment 7 Fedora Update System 2008-01-27 07:14:53 UTC
ejabberd-2.0.0-0.3.rc1.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update ejabberd'.  You can provide feedback for this update here: http://admin.fedoraproject.org/F8/FEDORA-2008-1042

Comment 8 Fedora Update System 2008-02-07 20:57:58 UTC
ejabberd-2.0.0-0.3.rc1.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2008-02-07 21:00:33 UTC
ejabberd-2.0.0-0.3.rc1.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.