Using stef's byterange4 test, I'm seeing:
apr_brigade_length (bb=0x7feb00a23200, read_all=1, length=0x7fff6e03e8b0) at
apr_brigade.c:201
201 if (bkt->length == (apr_size_t)(-1)) {
(gdb) where
#0 apr_brigade_length (bb=0x7feb00a23200, read_all=1, length=0x7fff6e03e8b0)
at apr_brigade.c:201
#1 0x000000010e500851 in copy_brigade_range (bb=0x7feb00a24d90,
bbout=0x7feb00a23200, start=0, end=200) at byterange_filter.c:306
#2 0x000000010e500d1b in ap_byterange_filter (f=0x7feb00a291b0,
bb=0x7feb00a24d90) at byterange_filter.c:401
#3 0x000000010e46a67e in ap_pass_brigade (next=0x7feb00a291b0,
bb=0x7feb00a24d90) at util_filter.c:533
#4 0x000000010e556681 in session_output_filter (f=0x7feb00a24a98,
in=0x7feb00a24d90) at mod_session.c:453
#5 0x000000010e46a67e in ap_pass_brigade (next=0x7feb00a24a98,
bb=0x7feb00a24d90) at util_filter.c:533
#6 0x000000010e4cb387 in bucketeer_out_filter (f=0x7feb00a24ad0,
bb=0x7feb00a24d48) at mod_bucketeer.c:98
#7 0x000000010e46a67e in ap_pass_brigade (next=0x7feb00a24ad0,
bb=0x7feb00a24d48) at util_filter.c:533
#8 0x000000010e47e36f in default_handler (r=0x7feb00a27ea0) at core.c:4208
We seem to be spinning at:
AP_DEBUG_ASSERT(APR_SUCCESS == apr_brigade_length(bbout, 1, &pofft));
Cannot recreate in the real world...