Send inn-workers mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.isc.org/mailman/listinfo/inn-workers
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of inn-workers digest..."
Today's Topics:
1. Re: makehistory can generate duplicate lines (Kamil Jo?ca)
2. Re: [Resolved?] ovsqlite - bug? (Julien ?LIE)
3. Re: makehistory can generate duplicate lines (Julien ?LIE)
4. Re: makehistory can generate duplicate lines (Kamil Jo?ca)
5. Re: makehistory can generate duplicate lines (Kamil Jo?ca)
----------------------------------------------------------------------
Message: 1
Date: Tue, 22 Nov 2022 21:12:36 +0100
From: Kamil Jo?ca <[email protected]>
To: [email protected]
Subject: Re: makehistory can generate duplicate lines
Message-ID: <[email protected]>
Content-Type: text/plain; charset=iso-8859-2
Julien ?LIE <[email protected]> writes:
[...]
>
> I believe the following patch would fix the issue. (I don't know if you can
> try patches - it seems like you're running the package Debian distribution.)
>
> --- a/storage/cnfs/cnfs.c
> +++ b/storage/cnfs/cnfs.c
> @@ -1804,6 +1804,14 @@ cnfs_next(ARTHANDLE *article, const RETRTYPE amount)
> if (middle >= cycbuff->len - cycbuff->blksz - 1) {
> priv.rollover = true;
> middle = cycbuff->minartoffset;
> + /* If the beginning of cycbuff is the next place where to
> write
> + * an article, then the cycbuff has fully wrapped, and the
> + * first article has already been walked through. */
> + if (middle == cycbuff->free) {
> + if (!SMpreopen)
> + CNFSshutdowncycbuff(cycbuff);
> + continue;
> + }
> }
> break;
> } else {
>
[...]
Here is a patch that works:
>
> --- a/storage/cnfs/cnfs.c
> +++ b/storage/cnfs/cnfs.c
> @@ -1138,7 +1138,7 @@ CNFSArtMayBeHere(CYCBUFF *cycbuff, off_t offset,
> uint32_t cycnum)
> ** avoid a false negative response, *not* a false positive response.
> */
> if (!(cycnum == cycbuff->cyclenum
> - || (cycnum == cycbuff->cyclenum - 1 && offset > cycbuff->free)
> + || (cycnum == cycbuff->cyclenum - 1 && offset >= cycbuff->free)
> || (cycnum + 1 == 0 && cycbuff->cyclenum == 2
> && offset > cycbuff->free))) {
> /* We've been overwritten */
>
>
I applied both patches to debian sources, and I am runnning this
server.
Nothing exploded, seems to work.
--8<---------------cut here---------------start------------->8---
sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -O -x -S
--8<---------------cut here---------------end--------------->8---
creates no duplicates.
Effect of
--8<---------------cut here---------------start------------->8---
sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -f history.n
--8<---------------cut here---------------end--------------->8---
also looks better than before.
KJ
--
http://wolnelektury.pl/wesprzyj/teraz/
------------------------------
Message: 2
Date: Tue, 22 Nov 2022 21:35:18 +0100
From: Julien ?LIE <[email protected]>
To: [email protected]
Subject: Re: [Resolved?] ovsqlite - bug?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8; format=flowed
Hi Bo,
> It looks like ovdb handles groupname:artnum duplicates by silently replacing
> the old record with the new one. (I checked the ovdb source right now,
> but I can't remember doing so two years ago while writing ovsqlite.)
Thanks for having checked the ovdb code!
Following the release of INN 2.7.0 in late July, the availability of the
INN package in (un)stable versions of distributions will make the
adoption of ovsqlite grow. That's a good news!
Sorry for the delay it took for the release.
> Anyway, I call seven out of several million too rare to worry about.
Yes, and that was not due to ovsqlite anyway (but a nit in CNFS).
--
Julien ?LIE
??En v?rit?, le chemin importe peu, la volont? d'arriver suffit ?
tout.??
------------------------------
Message: 3
Date: Tue, 22 Nov 2022 21:35:24 +0100
From: Julien ?LIE <[email protected]>
To: [email protected]
Subject: Re: makehistory can generate duplicate lines
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8; format=flowed
Hi Kamil,
> I applied both patches to debian sources, and I am runnning this
> server.
> Nothing exploded, seems to work.
> --8<---------------cut here---------------start------------->8---
> sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -O -x -S
> --8<---------------cut here---------------end--------------->8---
> creates no duplicates.
>
> Effect of
> --8<---------------cut here---------------start------------->8---
> sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -f history.n
> --8<---------------cut here---------------end--------------->8---
> also looks better than before.
Many thanks for having taken the time to try these patches.
I'm glad that they have fixed the issues you reported.
They also worked fine on my news server.
I'll commit them soon. I'll also add more comments to existing CNFS
code I looked at yesterday (it was a bit hard to read and understand as
there are very few comments, so better add some comments to record how
it works).
[me]
> I think the next run of expireover will remove it from the overview
> as there's no history entry for it (I'll confirm tomorrow).
In fact not. The article is still available from readers (advertised in
OVER responses) and survived expiration even though no longer in the
history.
--
Julien ?LIE
??Qui habet aures audiendi, audiat.?? (?vangiles)
------------------------------
Message: 4
Date: Tue, 22 Nov 2022 22:35:38 +0100
From: Kamil Jo?ca <[email protected]>
To: [email protected]
Subject: Re: makehistory can generate duplicate lines
Message-ID: <[email protected]>
Content-Type: text/plain; charset=iso-8859-2
Kamil Jo?ca <[email protected]> writes:
[....]
>
> I applied both patches to debian sources, and I am runnning this
> server.
> Nothing exploded, seems to work.
>
> --8<---------------cut here---------------start------------->8---
> sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -O -x -S
> --8<---------------cut here---------------end--------------->8---
>
> creates no duplicates.
>
> Effect of
>
> --8<---------------cut here---------------start------------->8---
> sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -f history.n
> --8<---------------cut here---------------end--------------->8---
But I am almost sure that this is still something wrong with
makehistory/cnfs code.
It is not understandable for me that first article during scanning spool
has different cycle number than others. (On fully wrapped buffer)
Maybe I am missed something.
KJ
--
http://wolnelektury.pl/wesprzyj/teraz/
------------------------------
Message: 5
Date: Tue, 22 Nov 2022 22:47:40 +0100
From: Kamil Jo?ca <[email protected]>
To: [email protected]
Subject: Re: makehistory can generate duplicate lines
Message-ID: <[email protected]>
Content-Type: text/plain; charset=iso-8859-2
Kamil Jo?ca <[email protected]> writes:
> Kamil Jo?ca <[email protected]> writes:
>
> [....]
>>
>> I applied both patches to debian sources, and I am runnning this
>> server.
>> Nothing exploded, seems to work.
>>
>> --8<---------------cut here---------------start------------->8---
>> sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -O -x -S
>> --8<---------------cut here---------------end--------------->8---
>>
>> creates no duplicates.
>>
>> Effect of
>>
>> --8<---------------cut here---------------start------------->8---
>> sudo -u news env PATH=$PATH:/usr/lib/news/bin makehistory -f history.n
>> --8<---------------cut here---------------end--------------->8---
>
> But I am almost sure that this is still something wrong with
> makehistory/cnfs code.
> It is not understandable for me that first article during scanning spool
> has different cycle number than others. (On fully wrapped buffer)
> Maybe I am missed something.
> KJ
Hm.
--8<---------------cut here---------------start------------->8---
token = CNFSMakeToken(cycbuff->name, offset, cycbuff->blksz,
(offset > cycbuff->free) ? cycbuff->cyclenum - 1
: cycbuff->cyclenum,
cah.class);
--8<---------------cut here---------------end--------------->8---
I think this might be interesting part, especially "offset >
cycbuff->free" condition, (maybe "=>" inequality?), but this is probably
far shot.
KJ
--
http://stopstopnop.pl/stop_stopnop.pl_o_nas.html
------------------------------
Subject: Digest Footer
_______________________________________________
inn-workers mailing list
[email protected]
https://lists.isc.org/mailman/listinfo/inn-workers
------------------------------
End of inn-workers Digest, Vol 145, Issue 7
*******************************************