-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error when adding remote contact #528
Comments
From what you say, it happens all the times for all the remote servers. Essentially, s2s does not work in your ejabberd server? Does this work for you?
|
Depends what working means, as I get no response.
|
I need some way to reproduce your problem in my machine, if that is possible. You have seen that a manual call to jabber.org works; does jabber.org work when you use ejabberd? If yes, then try that manual call to another server that doesn't work when you use ejabberd. How did you install ejabberd: binary package, git version, source package, or some distribution? And what about your erlang? |
EDIT: I tried to add "test@jabber.org", then requested auth a few times, but no error messages, so that seems to work fine. To the setup:
And used the official esl-erlang_17.5-1 My git version is (via apt-get)
Ubuntu version is:
I then added BasicAsciiUserName@NoSubDomain.eu
PS: Im not sure but, i also tried:
and replaced "hermes2.jabber.org" with the host that crashes me But anyway, that is all that i can think of to reproduce the error on my end. |
Try to call manually inet_res:getbyname to that server that doesn't work when you use ejabberd:
|
EDIT: Ok I did that, and i got this error:
|
So, you are able to reproduce the problem with just a simple erlang call, and ejabberd is not involved in the problem. I installed Erlang 17.5 i386 from ESL, and the only way to obtain an error similar to yours is to append dots at the end of the domain string. Notice that after << eu >> there is another <<>> that represents the unexpected .. I had added. In your calls, you get an error that also shows a <<>> in the end, but of course you don't add .. like I did. If all this is correct, then it seems a problem in your machine, or a problem in the servers you attempt to connect, or a bug in erlang. See my tests:
|
EDIT3: EDIT2: But yet i still get:
EDIT: I for curiosity upgraded erlang to 18 RC1
What do you recommend i should try? Downgrading erlang? |
So now the problem with a certain domain appears only when using ejabberd, not in plain erlang? Then make sure you recompile all ejabberd with the new erlang, and that the new erlang is used to run ejabberd. |
EDIT: And yes, now its just in ejabberd, but like you see below, now i struggle compiling it. Compilation fails now, telling me:
any idea? |
How to you build it ? |
Define "how", i built it via ssh on my ubuntu VM using git to get the ejabberd source from this repo |
You did not tell which version you are using, but I guess you are using R18. R18 has not yet been released as an official production release. You will need to adapt the code for compliance with R18. In such case this is as easy as replacing dict() with dict:dict(), but you may run into more issue on different places. Please, stay with production Erlang release. |
You didn't read the previous comments, yes i am using a non stable release, because the stable release gives crashes in ejabbed. EDIT (for badlop):
So that works? I guess it does. Then i tried again, to add a remote contact in ejabbed
|
I perfectly read your comment. Badlop said that the problem is not with ejabberd but with Erlang + your server environment configuration. That said, it does not mean we are committed to do any work on r18 before it is released in June. Compliance will come higher priority at that time. |
Alright. I just followed what he said. |
Notice: the problem appears when using, which does not mean the problem is in. I still suspect it's related to DNS configuration of your machine or the remote servers, but as I don't know any of that part of your setup, I'm half-blind in this ticket. Apply this patch to ejabberd:
Then trigger the problem, and let's see what do you get in the logs. I get this:
|
EDIT2: I can show you whatever you need to see, about the dns configs, its mostly default ubuntu and what my reseller defined. EDIT:
Okay, ill do that, and come back and edit my post with the results. |
Great, so you got exactly what call ejabberd does to erlang and fails. If you perform that call manually, does it fail too? And does that happen 100% of the times (I mean, the same call done by ejabberd fails, and done manually by you succeeds)? |
I assume i have to append a dot? lIke so:
Just for completeness, without dot:
|
Can you please paste the content of your /etc/hosts file ? ejabberd is letting you add local hints in /etc/hosts for DNS resolution, but that content could interfer. |
Here you go (note i hid my domain/ip):
|
Seems like the only way to reproduce the bug is to add dots to the end of the domain name being resolved:
This comes from this line: https://github.com/erlang/otp/blob/maint/lib/kernel/src/inet_dns.erl#L688. According to the code, I don't see other possibilities. |
Ye, its weird, as i'm not adding any dots. |
…ick-run generate app.config for `make quickrun`
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Everytime I add a buddy via pidgin from a remote server using my server and request a authorization
I get this error and when I try to message that person it gives me a 404 pidgin error.
Does anyone know why this happens and or what it means?
My ejabberd version is: ejabberd 15.03.94
erl version is:
Erlang/OTP 17 [erts-6.4] [source-2e19e2f] [64-bit] [smp:64:2] [async-threads:10] [hipe] [kernel-poll:false]
If you need any more info, tell me.
Here is the log:
The text was updated successfully, but these errors were encountered: