We're updating the issue view to help you get more done. 

File transfer shows 'cancelled' while file is completely sent.

Description

There are occasions where a file show to be completely sent by the originator, while the recipient's Spark displays:

The file transfer was cancelled

However, the file seems to have been transferred (or at least is partially transferred).

I can reproduce this with one file only, but it does not feel to be a consistent.

The file in question differs from other files in that it is a binary data file.

Linux's file command reports this:

openssl enc'd data with salted password

Environment

None

Acceptance Test - Entry

None

Activity

Show:
Guus der Kinderen
November 9, 2020, 11:26 AM

My suspicion is that this is caused by a bug in Smack, that considers a stream from being processed if in a last pass, it processed 0 bytes. EOF signalling depends on a -1 to be returned, not 0. This might cause certain files (perhaps those including some degree of multi-byte characters?) to not be read properly.

I have provided a fix for Smack in https://github.com/igniterealtime/Smack/pull/444

Guus der Kinderen
November 9, 2020, 6:30 PM

Another potential cause for this problem is an inconsistency in Smack that causes a scenario where less bytes than expected are transferred to be flagged as an error.

A fix for this problem is provided in

Assignee

Unassigned

Reporter

Guus der Kinderen

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Priority

Major
Configure