On Thu, Feb 23, 2012 at 06:27:50PM +0200, Ed Bartosh wrote:
On the server side I see this error in src_server.log: 2012-02-23 17:15:17 [8319]: GET /build/link.to.bad.obs:project/distro/arch/_repository?binary=foo&view=cpio 2012-02-23 17:15:17 [8221]: GET /build/ link.to.bad.obs:project/distro/arch/_repository?view=cpio&binary=foo (AJAX) rpc_recv_stream_handler: illegal chunk size: 16175
In the code of BSWatcher.pm:rpc_recv_stream_handler I can see this: if ($cl < 0 || $cl >= 16000) { print "rpc_recv_stream_handler: illegal chunk size: $cl\n"; BSServerEvents::stream_close($rev, $ev); return; }
Where this limit came from?
It was added to find some problems with the SSL code. I'm not sure if it's still needed, you might want to change the 16000 to some higher value. (Some limit is still good to have to detect really broken streams instead of using up all memory.)
How it at all can be possible that some obs server sends chunks bigger than this limit? How would you suggest to fix this?
I don't know. The code makes sure that the chunks are not much bigger than 4k. Maybe there's some proxy inbetween that reassembles chunks.
I'm using obs server 2.1.16 if it matters.
(not related to the topic) What's the point of having two almost similar requests? GET /build/link.to.bad.obs:project/distro/arch/_repository?binary=foo&view=cpio and GET /build/ link.to.bad.obs:project/distro/arch/_repository?view=cpio&binary=foo (AJAX)
That's actually the same request, it's handed over from the normal server to the server for "long running" requests (AJAX requests). Thus you see one line from the normal server and one line from the ajax server. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org