On Wed, Nov 21, 2018 at 05:04:25PM -0800, Carlo Arenas wrote: > the error that gets eventually to stderr in the caller comes from > get_packet_data, who is trying to read 4 bytes and gets 0. > when looking at the trace (obtained with ktrace) Yes too early close of the input data is the thing which triggers the "remote end hung up unexpectedly" message. > I see there is no > longer any other process running, do you mean git receive-pack? This is strange, all its parents should be waiting for it to exit. > the last child of it is long gone with an error as shown by : > > 9255 1 git-http-backend CALL close(1) ... > 9255 1 git-http-backend CALL write(2,0xbfb2a604,0x36) > 9255 1 git-http-backend GIO fd 2 wrote 54 bytes > "fatal: request ended in the middle of the gzip stream\n" This should be some other test than push_plain, some of the gzip related ones. Are there other tests failing? > 9255 1 git-http-backend RET write 54/0x36 > 9255 1 git-http-backend CALL write(1,0xb781f0e0,0x94) > 9255 1 git-http-backend RET write -1 errno 9 Bad file descriptor This is interesting. http-backend for some reason closes its stdout. Here it then tries to write there something. I have not seen it in my push_plain run. Maybe it worth redirecting instead to stderr, to avoid losing some diagnostics? > > not sure how it got into that state, though > > Carlo