[Vortex] Re-9: Connection close problems during "file transfer"

Francis Brosnan Blazquez francis at aspl.es
Thu May 27 15:40:56 CEST 2010


> Hello Francis,

Hi Ralf,

> is there any kind of support I can do for you to fix the Vortex "Connection close problems" 

I have identified/fixed this issue, but it lead me to discover another
problem that I'm trying to solve. 

Checking the logs you have send me, I've discovered that the window size
was not configured to 65536 (64k) but something bigger: 86016 (84k) as
it shows the next lines:

---------------------------
(proc 2540): (debug) vortex_reader.c:394 received a SEQ frame: SEQ 3 4096 90112
---------------------------
(proc 2540): (debug) vortex_frame_factory.c:1827 write on socket request=4121 written=4121
(proc 2540): (debug) vortex_channel.c:4211 channel=3 unref called, ref count status after calling=5
(proc 2540): (debug) vortex_connection.c:2752 decreased connection id=2 reference count to 2 decreased by (vortex sequencer)
vortex_channel.c:4282 returning next reply msgno no: 0 (list length: 1)
(proc 2540): (debug) vortex_connection.c:2635 increased connection id=2 reference to 3 by set-not-connected
---------------------------
(proc 2540): (debug) vortex_connection.c:4936 flagging the connection as non-connected: received a SEQ frame specifying a not allowed value for the window size (close-session?: 1)
---------------------------

The line SEQ 3 4096 90112 states that, for the channel 3, I'm willing to
accept 90112 bytes more starting from seq no 4096.

This means there is a call at the initiator
(vortex_channel_set_window_size) that configured 88k causing the
listener to close the connection because it exceeds maximum buffer sizes
(64k).

The obvious fix is to check why that 88k value is configured but this
showed that the listener shouldn't close the connection for a limit that
will only affect remote BEEP peer buffers. So, I've fixed the code and I
added a reg test (test_01-p) to check the fix. 

However, it is still pending checking that at the time a BEEP header
size is read, to check that those sizes won't exceed maximum expected
window sizes. Here is where I'm working now. 

In the mean time, check the next stable release to see if it fixes your
issue [1]. It should work without updating your code. Then, see why your
initiator is setting that window size: 88k.

> or some input to give referring "an advanced API for the memory consumption control" ?

Still not done Ralf. I should have it soon. 

> Let me know about your progress.

Ok, I'll let you know. Let me know if the patches fixes your 64k issue.
Cheers!

> Best regards
> 
> 
> Ralf

[1] http://www.aspl.es/vortex/preview/wobe/vortex-1.1.5.b4387.g4390.tar.gz
-- 
Francis Brosnan Blazquez <francis at aspl.es>
ASPL



More information about the Vortex mailing list