public inbox for [email protected]
 help / color / mirror / Atom feed
From: Alviro Iskandar Setiawan <[email protected]>
To: Ammar Faizi <[email protected]>
Cc: Kanna Scarlet <[email protected]>,
	Muhammad Rizki <[email protected]>,
	 "GNU/Weeb Mailing List" <[email protected]>
Subject: Re: [GIT PULL] ncns update (chunked request body support)
Date: Fri, 26 Aug 2022 08:39:46 +0700	[thread overview]
Message-ID: <CAOG64qMQeyLrF8fStq+yRh26c=v8Witw41Wi_5Lkyz8ziXdmFQ@mail.gmail.com> (raw)
In-Reply-To: <CAOG64qNWm4bDnPjGGH1HDKNuN-eeL4hMq8g_ANuy3hoYYtBnqw@mail.gmail.com>

On Fri, Aug 26, 2022 at 8:34 AM Alviro Iskandar Setiawan wrote:
> On Fri, Aug 26, 2022 at 1:36 AM Ammar Faizi wrote:
> > On 8/25/22 4:57 PM, Alviro Iskandar Setiawan wrote:
> > > pulled into my next branch for testing only, tq
> >
> > I am not sure what is going on here, but it always fails when
> > the written bytes is more than 16K bytes. The current WIP commit
> > is here:
> >
> > https://gitlab.torproject.org/ammarfaizi2/ncns/-/commit/20627519f6e882ab7d2309f6a6b6e451fb19edc4
> >
> > Can you spot a mistake in this version?
> >
> > I have been debugging this for more than 5 hours and haven't
> > been able to figure out what is going wrong. I was going to
> > say that it's a Chromium bug. But thinking of the Chromium
> > stability so far, I doubt to claim so.
>
> you're tired, get some rest plz, tq for your hard work
>
> > Please review!
>
> found it, the problem is not in that commit, but the previous one
>
> https://gitlab.torproject.org/ammarfaizi2/ncns/-/commit/d113a1611f2eca1f45fd8dd0fe3a02aa92abeb6e#63c8f17eb62643be824f57c1bed41bbf7c80ed5e_50_127
>
> if you split the buffer in the middle of the queue, then you put the
> rest of the splitted buffer into the tail, then it may get skipped
> because the EOF mark can be queued earlier. Even if it doesn't hit EOF
> it's still wrong because the FIFO order is violated when the condition
> (c.len_ <= dst_len_) evaluates to true

better way you shouldn't pop the queue if you're running out of
destination buffer, you can wait for the next ReadInternal() call and
copy the rest uncopied bytes later time, only the deferring is a bit
tricky

tq

-- Viro

  reply	other threads:[~2022-08-26  1:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-25  9:40 [GIT PULL] ncns update (chunked request body support) Ammar Faizi
2022-08-25  9:57 ` Alviro Iskandar Setiawan
2022-08-25 18:36   ` Ammar Faizi
2022-08-26  1:34     ` Alviro Iskandar Setiawan
2022-08-26  1:39       ` Alviro Iskandar Setiawan [this message]
2022-08-26  1:53         ` Ammar Faizi
2022-08-26  6:24           ` Ammar Faizi
2022-08-26  8:03             ` Ammar Faizi
2022-08-26  8:07               ` Ammar Faizi
2022-08-26 10:37                 ` Alviro Iskandar Setiawan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOG64qMQeyLrF8fStq+yRh26c=v8Witw41Wi_5Lkyz8ziXdmFQ@mail.gmail.com' \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox