Project

General

Profile

xmpp=XMPP error: code=404, type=wait, reason=recipient-unavailable

Gabriel Rossetti
Added over 3 years ago

Hi,

I am having an issu with Tigase Server (7.0.2), if the client requests a large amount of data the I get xmpp=XMPP error: code=404, type=wait, reason=recipient-unavailable

I tried setting:

--elements-number-limit[I] = 10000000

to see if this helped (the values are big for issue dubugging purposes) but it does not. The workflow is the client requests data, this request it processed by a component, the component replies using addOutPacket(Packet) and then processPacket(Packet) is called with the error packet. I checked and the XML string is 13094582 characters long (which is why I have the very high limit/size values above, to rule them out). I also checked and the client is not replying to Tigase, the msg never gets to the client. I really need this msg to be sent, it is not something that happens often but it does happen. I agree that it maybe better to limit the size and cut it up into multiple smaller msgs but for now this is how it is done and I need to fix it quickly.

I debugged Tigase and identified the reason I am getting this. In TLSIO you have a workaround in place in writeBuff(ByteBuffer) because you sometimes get an infinit loop (see the comment in your code). The workaround is setting a limit (@max_loop_runs = 1000@) and throwing an exception (@EOFException("Socket has been closed due to TLS problems.")@) if you hit half of this. The problem is I hit this limit when sending big msgs.

I said above this does not happen often for me because it is linked to the size of the data the client requested, when it does happen however the client is no longer able to function since it needs this data; usually in critical moments.

Thanks,

Gabriel


Replies (7)

Added by Daniel Wisnewski IoT 1 Cloud over 3 years ago

Have you tried any of the nightly snapshots of 7.1.0 and seen the same problem? I know there has been some work done to TLS since 7.0.2.

Give the newest build a try, if that does not work we'll open up a ticket.

Daniel

Added by Gabriel Rossetti over 3 years ago

Hi Daniel,

I have not, I am not able to easily try new versions in our environment, it is a complicated and lengthy process.

Gabriel

Added by Gabriel Rossetti over 3 years ago

Hi Daniel,

I checked in your repository, in master:

https://projects.tigase.org/projects/tigase-server/repository/revisions/master/entry/src/main/java/tigase/io/TLSIO.java

and the limit is still there, so I assume it is still in 7.1.0.

Gabriel

Added by Daniel Wisnewski IoT 1 Cloud over 3 years ago

Gabriel,

I've made a new issue ticket for you to have our devs look at this. I can't provide a time estimate at the moment as we are preparing for v7.1.0 launch, but perhaps we can work on a fix.

https://projects.tigase.org/issues/3655

Added by Gabriel Rossetti over 3 years ago

Great, thanks.

Added by Daniel Wisnewski IoT 1 Cloud over 3 years ago

Hello Gabriel,

We have made a small change to increase the max loop runs to the server from 1000 to 10,000, can you try a recent build and see if the problem persists?

Added by Gabriel Rossetti over 3 years ago

Hi Daniel,

ok, thx. I will try to do that as I can.

    (1-7/7)