Andrew Clayton

Results 552 comments of Andrew Clayton

Just a quick note to say that I can indeed reproduce this... **EDIT:** Although it is by no means 100% reproducible, once every ~~couple dozen~~ fifty times or so... **EDIT...

The failure scenario seems to be when we get into the following situation in _nxt_conn_io_sendbuf()_ After the call to _nxt_sendbuf_mem_coalesce0()_ ``` ... sb->buf : (nil), niov : 1, sb->sync :...

We get into the above situation because `b->mem.pos` is never `NULL` in `nxt_sendbuf_mem_coalesce0()` `b` is a linked list of buffers and the last one should look like ```gdb (gdb) p...

At the moment I'm not seeing anything that makes this obviously a PHP specific thing. When trying ti to replicate this from something else, e.g a WASI 0.2.0 component that...

Testing with our current wasm language module where transfers between the language module and unit core happen in at most 32MiB chunks, but I was limiting the transfer to 2MiB...

And reproduced from an "external" C application, again running under strace(1) for reliable reproduction... maybe some race condition... ```gdb #0 0x000000000045cca3 in nxt_conn_io_sendbuf (task=0x7f12b4003968, sb=0x7f12c1dffad0) at src/nxt_conn_write.c:175 175 if (niov...

Somewhere to put this... When looking at unit under valgrind we get lots of errors. Just starting unit with a single external C application produces ```valgrind ==274664== Syscall param sendmsg(msg.msg_iov[0])...

@rustedsword Thanks for your explanation, it'll take a little time to go through that! I do wonder though if that can explain the intermittent behaviour or that it's much more...

On Fri, 16 Feb 2024 05:40:37 -0800 rustedsword ***@***.***> wrote: > @ac000 Well, it is more like this: > > ``` > diff --git a/src/nxt_conn_write.c b/src/nxt_conn_write.c > index 714a3e15..4ccafdf1 100644...

With sudo you can try either of the following arguments to preserve the environment > -E, --preserve-env Indicates to the security policy that the user wishes to pre‐ serve their...