Mailing List Archive

tinydns stop working with glibc-2.32
Hi!

I upgrade Fedora 32 to 33.
And find tinydns stop working.
I try to run tinydns on ArchLinux.
And find the same problem.

Why tinydns stop working with glibc-2.32?
With glic 2.31 it works fine.
Fedora 32 and Fedora 33 have a same kernel-5.9.8.
But tinydns only work with Fedora 32 (glibc-2.31).
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

On Tue, Nov 17, 2020 at 08:07:05PM +0900, Reinin Oyama wrote:
> I upgrade Fedora 32 to 33.
> And find tinydns stop working.
> I try to run tinydns on ArchLinux.
> And find the same problem.
>
> Why tinydns stop working with glibc-2.32?
> With glic 2.31 it works fine.
> Fedora 32 and Fedora 33 have a same kernel-5.9.8.
> But tinydns only work with Fedora 32 (glibc-2.31).

I'm using Gentoo. I've just recompiled djbdns-1.05 with glibc-2.32,
restarted dnscache and tinydns, and both seems working fine.
Kernel is 5.4.72 (with Gentoo patches).

--
WBR, Alex.
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi,

you did not tell us, whether you just used the same tinydns binary moving from Fedora 32 to 33; our you recompiled it from the source.

Actually the Linux OS uses glibc as shared library to accompany the ELF files; in your case tinydns - this is a crucial dependency.


> Am 17.11.2020 um 12:07 schrieb Reinin Oyama <lenin@hasiru.net>:
>
> Hi!
>
> I upgrade Fedora 32 to 33.
> And find tinydns stop working.
> I try to run tinydns on ArchLinux.
> And find the same problem.
>
> Why tinydns stop working with glibc-2.32?
> With glic 2.31 it works fine.
> Fedora 32 and Fedora 33 have a same kernel-5.9.8.
> But tinydns only work with Fedora 32 (glibc-2.31).

In your case, I assume just recompiling djbdns would solve the problem; as already mentioned by Alex.

However, it might be a good moment to consider some more recent DNS implementations, like my djbdnscurve6:

https://www.fehcom.de/ipnet/djbdnscurve6.html

Regards.
--eh.


Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id 7E4034BE
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

It stops working after 10 or 20 query.
Firt 10 times queries(dnsq) look fine.
But after 10 times , it looks freezing.

Alex Efros <powerman@powerman.name>$B$5$s!'(B
> Hi!
>
> On Tue, Nov 17, 2020 at 08:07:05PM +0900, Reinin Oyama wrote:
> > I upgrade Fedora 32 to 33.
> > And find tinydns stop working.
> > I try to run tinydns on ArchLinux.
> > And find the same problem.
> >
> > Why tinydns stop working with glibc-2.32?
> > With glic 2.31 it works fine.
> > Fedora 32 and Fedora 33 have a same kernel-5.9.8.
> > But tinydns only work with Fedora 32 (glibc-2.31).
>
> I'm using Gentoo. I've just recompiled djbdns-1.05 with glibc-2.32,
> restarted dnscache and tinydns, and both seems working fine.
> Kernel is 5.4.72 (with Gentoo patches).
>
> --
> WBR, Alex.
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

On Wed, Nov 18, 2020 at 05:28:00AM +0900, Reinin Oyama wrote:
> It stops working after 10 or 20 query.
> Firt 10 times queries(dnsq) look fine.
> But after 10 times , it looks freezing.

Nope, mine is working just fine. I've just tested it with a lot of
queries, using both A and TXT, dnsq/dnsqr/dnsip, through dnscache and
right to the tinydns - everything works fine.

--
WBR, Alex.
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Please try on ArchLinxu or Fedora 33 with IP 127.0.0.1.

dnsq any yourdomin.net 127.0.0.1
!!
!!
!!
!!
!!
!!
!!
Then freezing.


Reinin Oyama <lenin@hasiru.net>$B$5$s!'(B
> Hi!
>
> I upgrade Fedora 32 to 33.
> And find tinydns stop working.
> I try to run tinydns on ArchLinux.
> And find the same problem.
>
> Why tinydns stop working with glibc-2.32?
> With glic 2.31 it works fine.
> Fedora 32 and Fedora 33 have a same kernel-5.9.8.
> But tinydns only work with Fedora 32 (glibc-2.31).
Re: tinydns stop working with glibc-2.32 [ In reply to ]
This would be more appropriate for the dns list:
https://cr.yp.to/lists.html#dns

Reinin Oyama <lenin@hasiru.net> wrote:
> It stops working after 10 or 20 query.

Is the logger working? This sounds like the log pipe might be full.
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Multilog process is running very well.
cd /service/tinydns
svc -t .

Then tinydns runs normally again.
but after 6-8 query(dnsq) , it stops working.
The other hand, multilog is running very well.


Paul Jarc <prj@case.edu>$B$5$s!'(B
> This would be more appropriate for the dns list:
> https://cr.yp.to/lists.html#dns
>
> Reinin Oyama <lenin@hasiru.net> wrote:
> > It stops working after 10 or 20 query.
>
> Is the logger working? This sounds like the log pipe might be full.
Re: tinydns stop working with glibc-2.32 [ In reply to ]
lenin@hasiru.net writes:
> Multilog process is running very well.
> cd /service/tinydns
> svc -t .
>
> Then tinydns runs normally again.
> but after 6-8 query(dnsq) , it stops working.
> The other hand, multilog is running very well.
>
>
> Paul Jarc <prj@case.edu>???
> > This would be more appropriate for the dns list:
> > https://cr.yp.to/lists.html#dns
> >
> > Reinin Oyama <lenin@hasiru.net> wrote:
> > > It stops working after 10 or 20 query.
> >
> > Is the logger working? This sounds like the log pipe might be full.

Perhaps

/service/tinydns/log/main/current
/service/dnscache/log/main/tinydns

might provide an answer.

John

--

John Conover, conover@rahul.net, http://www.johncon.com/
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi

dnscache is not setting up.
I run only tinydns.
and My /service/tinydns/log/main/current is follows.

@400000005fb4fb7725ff9b94 starting tinydns
@400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.net
@400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.net
@400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.net
@400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.net
@400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.net
@400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.net
@400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.net
@400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.net

I think they have no anwer.......

John Conover <conover@rahul.net>???
> lenin@hasiru.net writes:
> > Multilog process is running very well.
> > cd /service/tinydns
> > svc -t .
> >
> > Then tinydns runs normally again.
> > but after 6-8 query(dnsq) , it stops working.
> > The other hand, multilog is running very well.
> >
> >
> > Paul Jarc <prj@case.edu>さん:
> > > This would be more appropriate for the dns list:
> > > https://cr.yp.to/lists.html#dns
> > >
> > > Reinin Oyama <lenin@hasiru.net> wrote:
> > > > It stops working after 10 or 20 query.
> > >
> > > Is the logger working? This sounds like the log pipe might be
full.
>
> Perhaps
>
> /service/tinydns/log/main/current
> /service/dnscache/log/main/tinydns
>
> might provide an answer.
>
> John
>
> --
>
> John Conover, conover@rahul.net, http://www.johncon.com/


--------------------------------------------------------------
????????????
??????????
email: lenin@hasiru.net
web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Am 18.11.20 um 11:51 schrieb Reinin Oyama:
> Hi
>
> dnscache is not setting up.
> I run only tinydns.
> and My /service/tinydns/log/main/current is follows.
>
> @400000005fb4fb7725ff9b94 starting tinydns
> @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.net
> @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.net
> @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.net
> @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.net
> @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.net
> @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.net
> @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.net
> @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.net
>
> I think they have no anwer.......

Reinin,

Erwin has asked you, if you rebuilt the binaries? I'm quite sure, you still use the old binaries with the new system which will not work.

Best regards,
Johannes

--
Johannes Weberhofer
Weberhofer GmbH, Austria, Vienna
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi Reinin,

maybe you just use another DNS lookup tool like nslookup or dig to verify that tinydns is not responding.

The log file content of tinydns is explained here:

https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html

(ok, this is my version of tinydns; but this should not matter here)

It could be a communication/network failure not due to tinydns but dnsq you have used.


Apart from that: Recompiling and re-installation of djbdns would be my first attempt.

Regards.
--eh.


> Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net>:
>
> Hi
>
> dnscache is not setting up.
> I run only tinydns.
> and My /service/tinydns/log/main/current is follows.
>
> @400000005fb4fb7725ff9b94 starting tinydns
> @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.net
> @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.net
> @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.net
> @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.net
> @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.net
> @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.net
> @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.net
> @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.net
>
> I think they have no anwer.......
>
> John Conover <conover@rahul.net>???
>> lenin@hasiru.net writes:
>>> Multilog process is running very well.
>>> cd /service/tinydns
>>> svc -t .
>>>
>>> Then tinydns runs normally again.
>>> but after 6-8 query(dnsq) , it stops working.
>>> The other hand, multilog is running very well.
>>>
>>>
>>> Paul Jarc <prj@case.edu>さん:
>>>> This would be more appropriate for the dns list:
>>>> https://cr.yp.to/lists.html#dns
>>>>
>>>> Reinin Oyama <lenin@hasiru.net> wrote:
>>>>> It stops working after 10 or 20 query.
>>>>
>>>> Is the logger working? This sounds like the log pipe might be
> full.
>>
>> Perhaps
>>
>> /service/tinydns/log/main/current
>> /service/dnscache/log/main/tinydns
>>
>> might provide an answer.
>>
>> John
>>
>> --
>>
>> John Conover, conover@rahul.net, http://www.johncon.com/
>
>
> --------------------------------------------------------------
> ????????????
> ??????????
> email: lenin@hasiru.net
> web: https://www.hasiru.net

Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id 7E4034BE
Re: tinydns stop working with glibc-2.32 [ In reply to ]
I did only like follows.

dnsq any mydomain.net 127.0.0.1
!!
!!
!!
!!
!!
!!
...... no response

So! I wited time out.
multi log current like this.

@400000005fb51416305e4554 starting tinydns
@400000005fb5143921ec595c 7f000001:588c:4973 + 00ff mydomain.net
@400000005fb5143a30238a2c 7f000001:4818:b579 + 00ff mydomain.net
@400000005fb5143b22cba184 7f000001:9b62:a99b + 00ff mydomain.net
@400000005fb5143c1849bc3c 7f000001:7f60:04cf + 00ff mydomain.net
@400000005fb5143d0892ffec 7f000001:f8a2:0a99 + 00ff mydomain.net
@400000005fb5143d32f30d7c 7f000001:21eb:6181 + 00ff mydomain.net
@400000005fb5143e1efbe08c 7f000001:d04d:fd97 - 00ff mydomain.net
@400000005fb5143f20346c44 7f000001:6bed:e3e4 - 00ff mydomain.net
@400000005fb51442219701b4 7f000001:de12:0000 / 0000 .
@400000005fb5144d2379a84c 7f000001:8dab:0000 / 0000 .

I rebuild binaries 4 times.
But results are the same.

Fedora 32(Kernel 5.9.8 glibc 2.31-4) OK
Lubuntu 20.04(Kernel 5.9.8 glibc 2.31-0) OK
Fedora 33(Kernel 5.9.8 glibc 2.32-2) NG
ArchLinux (Kernel 5.9.8 glibc 2.32-5) NG


Erwin Hoffmann <feh@fehcom.de>???
> Hi Reinin,
>
> maybe you just use another DNS lookup tool like nslookup or dig to
verify that tinydns is not responding.
>
> The log file content of tinydns is explained here:
>
> https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
>
> (ok, this is my version of tinydns; but this should not matter here)
>
> It could be a communication/network failure not due to tinydns but
dnsq you have used.
>
>
> Apart from that: Recompiling and re-installation of djbdns would be my
first attempt.
>
> Regards.
> --eh.
>
>
> > Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net>:
> >
> > Hi
> >
> > dnscache is not setting up.
> > I run only tinydns.
> > and My /service/tinydns/log/main/current is follows.
> >
> > @400000005fb4fb7725ff9b94 starting tinydns
> > @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.net
> > @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.net
> > @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.net
> > @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.net
> > @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.net
> > @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.net
> > @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.net
> > @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.net
> >
> > I think they have no anwer.......
> >
> > John Conover <conover@rahul.net>???
> >> lenin@hasiru.net writes:
> >>> Multilog process is running very well.
> >>> cd /service/tinydns
> >>> svc -t .
> >>>
> >>> Then tinydns runs normally again.
> >>> but after 6-8 query(dnsq) , it stops working.
> >>> The other hand, multilog is running very well.
> >>>
> >>>
> >>> Paul Jarc <prj@case.edu>さん:
> >>>> This would be more appropriate for the dns list:
> >>>> https://cr.yp.to/lists.html#dns
> >>>>
> >>>> Reinin Oyama <lenin@hasiru.net> wrote:
> >>>>> It stops working after 10 or 20 query.
> >>>>
> >>>> Is the logger working? This sounds like the log pipe might be
> > full.
> >>
> >> Perhaps
> >>
> >> /service/tinydns/log/main/current
> >> /service/dnscache/log/main/tinydns
> >>
> >> might provide an answer.
> >>
> >> John
> >>
> >> --
> >>
> >> John Conover, conover@rahul.net, http://www.johncon.com/
> >
> >
> > --------------------------------------------------------------
> > ????????????
> > ??????????
> > email: lenin@hasiru.net
> > web: https://www.hasiru.net
>
> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id
7E4034BE
>
>
>
>
>
>
>


--------------------------------------------------------------
????????????
??????????
email: lenin@hasiru.net
web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
I never use nslookup. nslookup is a crazy tool.

I use "" dnsq ""



Erwin Hoffmann <feh@fehcom.de>???
> Hi Reinin,
>
> maybe you just use another DNS lookup tool like nslookup or dig to
verify that tinydns is not responding.
>
> The log file content of tinydns is explained here:
>
> https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
>
> (ok, this is my version of tinydns; but this should not matter here)
>
> It could be a communication/network failure not due to tinydns but
dnsq you have used.
>
>
> Apart from that: Recompiling and re-installation of djbdns would be my
first attempt.
>
> Regards.
> --eh.
>
>
> > Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net>:
> >
> > Hi
> >
> > dnscache is not setting up.
> > I run only tinydns.
> > and My /service/tinydns/log/main/current is follows.
> >
> > @400000005fb4fb7725ff9b94 starting tinydns
> > @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.net
> > @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.net
> > @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.net
> > @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.net
> > @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.net
> > @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.net
> > @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.net
> > @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.net
> >
> > I think they have no anwer.......
> >
> > John Conover <conover@rahul.net>???
> >> lenin@hasiru.net writes:
> >>> Multilog process is running very well.
> >>> cd /service/tinydns
> >>> svc -t .
> >>>
> >>> Then tinydns runs normally again.
> >>> but after 6-8 query(dnsq) , it stops working.
> >>> The other hand, multilog is running very well.
> >>>
> >>>
> >>> Paul Jarc <prj@case.edu>さん:
> >>>> This would be more appropriate for the dns list:
> >>>> https://cr.yp.to/lists.html#dns
> >>>>
> >>>> Reinin Oyama <lenin@hasiru.net> wrote:
> >>>>> It stops working after 10 or 20 query.
> >>>>
> >>>> Is the logger working? This sounds like the log pipe might be
> > full.
> >>
> >> Perhaps
> >>
> >> /service/tinydns/log/main/current
> >> /service/dnscache/log/main/tinydns
> >>
> >> might provide an answer.
> >>
> >> John
> >>
> >> --
> >>
> >> John Conover, conover@rahul.net, http://www.johncon.com/
> >
> >
> > --------------------------------------------------------------
> > ????????????
> > ??????????
> > email: lenin@hasiru.net
> > web: https://www.hasiru.net
>
> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id
7E4034BE
>
>
>
>
>
>
>


--------------------------------------------------------------
????????????
??????????
email: lenin@hasiru.net
web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

I try to find solution.
I edit server.c main function.

for (;;) {
len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
if (len < 0) continue;
if (!doit()) continue;
if (response_len > 512) response_tc();
socket_send4(udp53,response,response_len,ip,port);
/* may block for buffer space; if it fails, too bad */
}

Try to change like this

for (;;) {
len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
if (len < 0) continue;
if (!doit()){
droproot(fatal);
initialize();
ndelay_off(udp53);
socket_tryreservein(udp53,65536);
buffer_putsflush(buffer_2,starting);
continue;
}
if (response_len > 512) response_tc();
socket_send4(udp53,response,response_len,ip,port);
/* may block for buffer space; if it fails, too bad */
}

And I find it working(but slow).

And find multilog's current like follows

@400000005fb72058371301b4 7f000001:9f4a:5c9a + 00ff mydomain.net
@400000005fb7205925c7bae4 7f000001:dc36:255b - 00ff mydomain.net
@400000005fb7205925c7c69c tinydns: fatal: unable to chdir to /etc/
tinydns/root: file does not exist
@400000005fb72059263355c4 starting tinydns
@400000005fb7205a26fab0ec 7f000001:eab4:b342 + 00ff mydomain.net

/etc/tinydns/root not exist????
Why??? Very strange.



Reinin Oyama <lenin@hasiru.net>???
> I never use nslookup. nslookup is a crazy tool.
>
> I use "" dnsq ""
>
>
>
> Erwin Hoffmann <feh@fehcom.de>???
> > Hi Reinin,
> >
> > maybe you just use another DNS lookup tool like nslookup or dig to
> verify that tinydns is not responding.
> >
> > The log file content of tinydns is explained here:
> >
> > https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
> >
> > (ok, this is my version of tinydns; but this should not matter here)
> >
> > It could be a communication/network failure not due to tinydns but
> dnsq you have used.
> >
> >
> > Apart from that: Recompiling and re-installation of djbdns would be
my
> first attempt.
> >
> > Regards.
> > --eh.
> >
> >
> > > Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net>:
> > >
> > > Hi
> > >
> > > dnscache is not setting up.
> > > I run only tinydns.
> > > and My /service/tinydns/log/main/current is follows.
> > >
> > > @400000005fb4fb7725ff9b94 starting tinydns
> > > @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.net
> > > @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.net
> > > @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.net
> > > @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.net
> > > @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.net
> > > @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.net
> > > @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.net
> > > @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.net
> > >
> > > I think they have no anwer.......
> > >
> > > John Conover <conover@rahul.net>???
> > >> lenin@hasiru.net writes:
> > >>> Multilog process is running very well.
> > >>> cd /service/tinydns
> > >>> svc -t .
> > >>>
> > >>> Then tinydns runs normally again.
> > >>> but after 6-8 query(dnsq) , it stops working.
> > >>> The other hand, multilog is running very well.
> > >>>
> > >>>
> > >>> Paul Jarc <prj@case.edu>さん:
> > >>>> This would be more appropriate for the dns list:
> > >>>> https://cr.yp.to/lists.html#dns
> > >>>>
> > >>>> Reinin Oyama <lenin@hasiru.net> wrote:
> > >>>>> It stops working after 10 or 20 query.
> > >>>>
> > >>>> Is the logger working? This sounds like the log pipe might be
> > > full.
> > >>
> > >> Perhaps
> > >>
> > >> /service/tinydns/log/main/current
> > >> /service/dnscache/log/main/tinydns
> > >>
> > >> might provide an answer.
> > >>
> > >> John
> > >>
> > >> --
> > >>
> > >> John Conover, conover@rahul.net, http://www.johncon.com/
> > >
> > >
> > > --------------------------------------------------------------
> > > ????????????
> > > ??????????
> > > email: lenin@hasiru.net
> > > web: https://www.hasiru.net
> >
> > Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id
> 7E4034BE
> >
> >
> >
> >
> >
> >
> >
>
>
> --------------------------------------------------------------
> ????????????
> ??????????
> email: lenin@hasiru.net
> web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

I found the reason why. [ /etc/tinydns/root: file does not exist]
Chroot /etc/tinydns/root has done!

But I cannot solve the problem.

Why tinydns stops answering afer 6 times.
The other hand dnscache works very fine.

Very Very confused.


lenin@hasiru.net???
> Hi!
>
> I try to find solution.
> I edit server.c main function.
>
> for (;;) {
> len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> if (len < 0) continue;
> if (!doit()) continue;
> if (response_len > 512) response_tc();
> socket_send4(udp53,response,response_len,ip,port);
> /* may block for buffer space; if it fails, too bad */
> }
>
> Try to change like this
>
> for (;;) {
> len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> if (len < 0) continue;
> if (!doit()){
> droproot(fatal);
> initialize();
> ndelay_off(udp53);
> socket_tryreservein(udp53,65536);
> buffer_putsflush(buffer_2,starting);
> continue;
> }
> if (response_len > 512) response_tc();
> socket_send4(udp53,response,response_len,ip,port);
> /* may block for buffer space; if it fails, too bad */
> }
>
> And I find it working(but slow).
>
> And find multilog's current like follows
>
> @400000005fb72058371301b4 7f000001:9f4a:5c9a + 00ff mydomain.net
> @400000005fb7205925c7bae4 7f000001:dc36:255b - 00ff mydomain.net
> @400000005fb7205925c7c69c tinydns: fatal: unable to chdir to /etc/
> tinydns/root: file does not exist
> @400000005fb72059263355c4 starting tinydns
> @400000005fb7205a26fab0ec 7f000001:eab4:b342 + 00ff mydomain.net
>
> /etc/tinydns/root not exist????
> Why??? Very strange.
>
>
>
> Reinin Oyama <lenin@hasiru.net>???
> > I never use nslookup. nslookup is a crazy tool.
> >
> > I use "" dnsq ""
> >
> >
> >
> > Erwin Hoffmann <feh@fehcom.de>???
> > > Hi Reinin,
> > >
> > > maybe you just use another DNS lookup tool like nslookup or dig to
> > verify that tinydns is not responding.
> > >
> > > The log file content of tinydns is explained here:
> > >
> > > https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
> > >
> > > (ok, this is my version of tinydns; but this should not matter
here)
> > >
> > > It could be a communication/network failure not due to tinydns but
> > dnsq you have used.
> > >
> > >
> > > Apart from that: Recompiling and re-installation of djbdns would
be
> my
> > first attempt.
> > >
> > > Regards.
> > > --eh.
> > >
> > >
> > > > Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net>:
> > > >
> > > > Hi
> > > >
> > > > dnscache is not setting up.
> > > > I run only tinydns.
> > > > and My /service/tinydns/log/main/current is follows.
> > > >
> > > > @400000005fb4fb7725ff9b94 starting tinydns
> > > > @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.net
> > > > @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.net
> > > > @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.net
> > > > @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.net
> > > > @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.net
> > > > @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.net
> > > > @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.net
> > > > @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.net
> > > >
> > > > I think they have no anwer.......
> > > >
> > > > John Conover <conover@rahul.net>???
> > > >> lenin@hasiru.net writes:
> > > >>> Multilog process is running very well.
> > > >>> cd /service/tinydns
> > > >>> svc -t .
> > > >>>
> > > >>> Then tinydns runs normally again.
> > > >>> but after 6-8 query(dnsq) , it stops working.
> > > >>> The other hand, multilog is running very well.
> > > >>>
> > > >>>
> > > >>> Paul Jarc <prj@case.edu>さん:
> > > >>>> This would be more appropriate for the dns list:
> > > >>>> https://cr.yp.to/lists.html#dns
> > > >>>>
> > > >>>> Reinin Oyama <lenin@hasiru.net> wrote:
> > > >>>>> It stops working after 10 or 20 query.
> > > >>>>
> > > >>>> Is the logger working? This sounds like the log pipe might
be
> > > > full.
> > > >>
> > > >> Perhaps
> > > >>
> > > >> /service/tinydns/log/main/current
> > > >> /service/dnscache/log/main/tinydns
> > > >>
> > > >> might provide an answer.
> > > >>
> > > >> John
> > > >>
> > > >> --
> > > >>
> > > >> John Conover, conover@rahul.net, http://www.johncon.com/
> > > >
> > > >
> > > > --------------------------------------------------------------
> > > > ????????????
> > > > ??????????
> > > > email: lenin@hasiru.net
> > > > web: https://www.hasiru.net
> > >
> > > Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id
> > 7E4034BE
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> > --------------------------------------------------------------
> > ????????????
> > ??????????
> > email: lenin@hasiru.net
> > web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

I found the CAUSE of this problem!!!!!!

glibc-2.32's malloc function has a BUG!!!!

djbdns errors in alloc funtion in malloc function.

We will use sbrk() systemcall instead???????


lenin@hasiru.net???
> Hi!
>
> I found the reason why. [ /etc/tinydns/root: file does not exist]
> Chroot /etc/tinydns/root has done!
>
> But I cannot solve the problem.
>
> Why tinydns stops answering afer 6 times.
> The other hand dnscache works very fine.
>
> Very Very confused.
>
>
> lenin@hasiru.net???
> > Hi!
> >
> > I try to find solution.
> > I edit server.c main function.
> >
> > for (;;) {
> > len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> > if (len < 0) continue;
> > if (!doit()) continue;
> > if (response_len > 512) response_tc();
> > socket_send4(udp53,response,response_len,ip,port);
> > /* may block for buffer space; if it fails, too bad */
> > }
> >
> > Try to change like this
> >
> > for (;;) {
> > len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> > if (len < 0) continue;
> > if (!doit()){
> > droproot(fatal);
> > initialize();
> > ndelay_off(udp53);
> > socket_tryreservein(udp53,65536);
> > buffer_putsflush(buffer_2,starting);
> > continue;
> > }
> > if (response_len > 512) response_tc();
> > socket_send4(udp53,response,response_len,ip,port);
> > /* may block for buffer space; if it fails, too bad */
> > }
> >
> > And I find it working(but slow).
> >
> > And find multilog's current like follows
> >
> > @400000005fb72058371301b4 7f000001:9f4a:5c9a + 00ff mydomain.net
> > @400000005fb7205925c7bae4 7f000001:dc36:255b - 00ff mydomain.net
> > @400000005fb7205925c7c69c tinydns: fatal: unable to chdir to /etc/
> > tinydns/root: file does not exist
> > @400000005fb72059263355c4 starting tinydns
> > @400000005fb7205a26fab0ec 7f000001:eab4:b342 + 00ff mydomain.net
> >
> > /etc/tinydns/root not exist????
> > Why??? Very strange.
> >
> >
> >
> > Reinin Oyama <lenin@hasiru.net>???
> > > I never use nslookup. nslookup is a crazy tool.
> > >
> > > I use "" dnsq ""
> > >
> > >
> > >
> > > Erwin Hoffmann <feh@fehcom.de>???
> > > > Hi Reinin,
> > > >
> > > > maybe you just use another DNS lookup tool like nslookup or dig
to
> > > verify that tinydns is not responding.
> > > >
> > > > The log file content of tinydns is explained here:
> > > >
> > > > https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
> > > >
> > > > (ok, this is my version of tinydns; but this should not matter
> here)
> > > >
> > > > It could be a communication/network failure not due to tinydns
but
> > > dnsq you have used.
> > > >
> > > >
> > > > Apart from that: Recompiling and re-installation of djbdns would
> be
> > my
> > > first attempt.
> > > >
> > > > Regards.
> > > > --eh.
> > > >
> > > >
> > > > > Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net>
:
> > > > >
> > > > > Hi
> > > > >
> > > > > dnscache is not setting up.
> > > > > I run only tinydns.
> > > > > and My /service/tinydns/log/main/current is follows.
> > > > >
> > > > > @400000005fb4fb7725ff9b94 starting tinydns
> > > > > @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.
net
> > > > > @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.
net
> > > > > @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.
net
> > > > > @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.
net
> > > > > @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.
net
> > > > > @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.
net
> > > > > @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.
net
> > > > > @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.
net
> > > > >
> > > > > I think they have no anwer.......
> > > > >
> > > > > John Conover <conover@rahul.net>???
> > > > >> lenin@hasiru.net writes:
> > > > >>> Multilog process is running very well.
> > > > >>> cd /service/tinydns
> > > > >>> svc -t .
> > > > >>>
> > > > >>> Then tinydns runs normally again.
> > > > >>> but after 6-8 query(dnsq) , it stops working.
> > > > >>> The other hand, multilog is running very well.
> > > > >>>
> > > > >>>
> > > > >>> Paul Jarc <prj@case.edu>さん:
> > > > >>>> This would be more appropriate for the dns list:
> > > > >>>> https://cr.yp.to/lists.html#dns
> > > > >>>>
> > > > >>>> Reinin Oyama <lenin@hasiru.net> wrote:
> > > > >>>>> It stops working after 10 or 20 query.
> > > > >>>>
> > > > >>>> Is the logger working? This sounds like the log pipe might
> be
> > > > > full.
> > > > >>
> > > > >> Perhaps
> > > > >>
> > > > >> /service/tinydns/log/main/current
> > > > >> /service/dnscache/log/main/tinydns
> > > > >>
> > > > >> might provide an answer.
> > > > >>
> > > > >> John
> > > > >>
> > > > >> --
> > > > >>
> > > > >> John Conover, conover@rahul.net, http://www.johncon.com/
> > > > >
> > > > >
> > > > > --------------------------------------------------------------
> > > > > ????????????
> > > > > ??????????
> > > > > email: lenin@hasiru.net
> > > > > web: https://www.hasiru.net
> > > >
> > > > Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id
> > > 7E4034BE
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --------------------------------------------------------------
> > > ????????????
> > > ??????????
> > > email: lenin@hasiru.net
> > > web: https://www.hasiru.net


--------------------------------------------------------------
????????????
??????????
email: lenin@hasiru.net
web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi! All!

I use 'MUSL' instead of glic-2.32 in ArchLinux.

pacman -Syu musl

And I changed conf-cc and conf-ld to

conf-cc:
musl-gcc -static -include /usr/lib/musl/include/errno.h

conf-ld:
musl-gcc -static -s

svc -d /service/tinydns

make setup check

svc -u /service/tinydns

dnsq any mydomain.net 127.0.0.1
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
........

tinydns WORKS VERY FINE !!!!!!!!!



Reinin Oyama <lenin@hasiru.net>???
> Hi!
>
> I found the CAUSE of this problem!!!!!!
>
> glibc-2.32's malloc function has a BUG!!!!
>
> djbdns errors in alloc funtion in malloc function.
>
> We will use sbrk() systemcall instead???????
>
>
> lenin@hasiru.net???
> > Hi!
> >
> > I found the reason why. [ /etc/tinydns/root: file does not exist]
> > Chroot /etc/tinydns/root has done!
> >
> > But I cannot solve the problem.
> >
> > Why tinydns stops answering afer 6 times.
> > The other hand dnscache works very fine.
> >
> > Very Very confused.
> >
> >
> > lenin@hasiru.net???
> > > Hi!
> > >
> > > I try to find solution.
> > > I edit server.c main function.
> > >
> > > for (;;) {
> > > len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> > > if (len < 0) continue;
> > > if (!doit()) continue;
> > > if (response_len > 512) response_tc();
> > > socket_send4(udp53,response,response_len,ip,port);
> > > /* may block for buffer space; if it fails, too bad */
> > > }
> > >
> > > Try to change like this
> > >
> > > for (;;) {
> > > len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> > > if (len < 0) continue;
> > > if (!doit()){
> > > droproot(fatal);
> > > initialize();
> > > ndelay_off(udp53);
> > > socket_tryreservein(udp53,65536);
> > > buffer_putsflush(buffer_2,starting);
> > > continue;
> > > }
> > > if (response_len > 512) response_tc();
> > > socket_send4(udp53,response,response_len,ip,port);
> > > /* may block for buffer space; if it fails, too bad */
> > > }
> > >
> > > And I find it working(but slow).
> > >
> > > And find multilog's current like follows
> > >
> > > @400000005fb72058371301b4 7f000001:9f4a:5c9a + 00ff mydomain.net
> > > @400000005fb7205925c7bae4 7f000001:dc36:255b - 00ff mydomain.net
> > > @400000005fb7205925c7c69c tinydns: fatal: unable to chdir to /etc/
> > > tinydns/root: file does not exist
> > > @400000005fb72059263355c4 starting tinydns
> > > @400000005fb7205a26fab0ec 7f000001:eab4:b342 + 00ff mydomain.net
> > >
> > > /etc/tinydns/root not exist????
> > > Why??? Very strange.
> > >
> > >
> > >
> > > Reinin Oyama <lenin@hasiru.net>???
> > > > I never use nslookup. nslookup is a crazy tool.
> > > >
> > > > I use "" dnsq ""
> > > >
> > > >
> > > >
> > > > Erwin Hoffmann <feh@fehcom.de>???
> > > > > Hi Reinin,
> > > > >
> > > > > maybe you just use another DNS lookup tool like nslookup or
dig
> to
> > > > verify that tinydns is not responding.
> > > > >
> > > > > The log file content of tinydns is explained here:
> > > > >
> > > > > https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
> > > > >
> > > > > (ok, this is my version of tinydns; but this should not matter
> > here)
> > > > >
> > > > > It could be a communication/network failure not due to tinydns
> but
> > > > dnsq you have used.
> > > > >
> > > > >
> > > > > Apart from that: Recompiling and re-installation of djbdns
would
> > be
> > > my
> > > > first attempt.
> > > > >
> > > > > Regards.
> > > > > --eh.
> > > > >
> > > > >
> > > > > > Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net
>
> :
> > > > > >
> > > > > > Hi
> > > > > >
> > > > > > dnscache is not setting up.
> > > > > > I run only tinydns.
> > > > > > and My /service/tinydns/log/main/current is follows.
> > > > > >
> > > > > > @400000005fb4fb7725ff9b94 starting tinydns
> > > > > > @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff mydomain.
> net
> > > > > > @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff mydomain.
> net
> > > > > > @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff mydomain.
> net
> > > > > > @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff mydomain.
> net
> > > > > > @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff mydomain.
> net
> > > > > > @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff mydomain.
> net
> > > > > > @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff mydomain.
> net
> > > > > > @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff mydomain.
> net
> > > > > >
> > > > > > I think they have no anwer.......
> > > > > >
> > > > > > John Conover <conover@rahul.net>???
> > > > > >> lenin@hasiru.net writes:
> > > > > >>> Multilog process is running very well.
> > > > > >>> cd /service/tinydns
> > > > > >>> svc -t .
> > > > > >>>
> > > > > >>> Then tinydns runs normally again.
> > > > > >>> but after 6-8 query(dnsq) , it stops working.
> > > > > >>> The other hand, multilog is running very well.
> > > > > >>>
> > > > > >>>
> > > > > >>> Paul Jarc <prj@case.edu>さん:
> > > > > >>>> This would be more appropriate for the dns list:
> > > > > >>>> https://cr.yp.to/lists.html#dns
> > > > > >>>>
> > > > > >>>> Reinin Oyama <lenin@hasiru.net> wrote:
> > > > > >>>>> It stops working after 10 or 20 query.
> > > > > >>>>
> > > > > >>>> Is the logger working? This sounds like the log pipe
might
> > be
> > > > > > full.
> > > > > >>
> > > > > >> Perhaps
> > > > > >>
> > > > > >> /service/tinydns/log/main/current
> > > > > >> /service/dnscache/log/main/tinydns
> > > > > >>
> > > > > >> might provide an answer.
> > > > > >>
> > > > > >> John
> > > > > >>
> > > > > >> --
> > > > > >>
> > > > > >> John Conover, conover@rahul.net, http://www.johncon.com/
> > > > > >
> > > > > >
> > > > > > ------------------------------------------------------------
--
> > > > > > ????????????
> > > > > > ??????????
> > > > > > email: lenin@hasiru.net
> > > > > > web: https://www.hasiru.net
> > > > >
> > > > > Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-
Id
> > > > 7E4034BE
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --------------------------------------------------------------
> > > > ????????????
> > > > ??????????
> > > > email: lenin@hasiru.net
> > > > web: https://www.hasiru.net
>
>
> --------------------------------------------------------------
> ????????????
> ??????????
> email: lenin@hasiru.net
> web: https://www.hasiru.net


--------------------------------------------------------------
????????????
??????????
email: lenin@hasiru.net
web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

Here is another solusion!!

Use Doug Lea's dlmalloc and dlfree!!
And say goodbye to glibc's malloc!!

Usage:
tar xvf djbdns-1.05.tar.gz
wget http://hasiru.net/djbdns-malloc.patch
patch -p0 <djbdns-malloc.patch
cd djbdns-1.05
echo gcc -O2 -include /usr/include/errno.h > conf-cc
wget http://gee.cs.oswego.edu/pub/misc/malloc.c
wget http://gee.cs.oswego.edu/pub/misc/malloc.h
make setup check


This is my patch

diff -puNr djbdns-1.05.org/Makefile djbdns-1.05/Makefile
--- djbdns-1.05.org/Makefile 2001-02-12 06:11:45.000000000 +0900
+++ djbdns-1.05/Makefile 2020-11-22 16:19:26.553298861 +0900
@@ -7,16 +7,20 @@ default: it
alloc.a: \
makelib alloc.o alloc_re.o getln.o getln2.o stralloc_cat.o \
stralloc_catb.o stralloc_cats.o stralloc_copy.o stralloc_eady.o \
-stralloc_num.o stralloc_opyb.o stralloc_opys.o stralloc_pend.o
+stralloc_num.o stralloc_opyb.o stralloc_opys.o stralloc_pend.o malloc.o
./makelib alloc.a alloc.o alloc_re.o getln.o getln2.o \
stralloc_cat.o stralloc_catb.o stralloc_cats.o \
stralloc_copy.o stralloc_eady.o stralloc_num.o \
- stralloc_opyb.o stralloc_opys.o stralloc_pend.o
+ stralloc_opyb.o stralloc_opys.o stralloc_pend.o malloc.o

alloc.o: \
compile alloc.c alloc.h error.h
./compile alloc.c

+malloc.o: \
+compile malloc.c malloc.h
+ ./compile malloc.c
+
alloc_re.o: \
compile alloc_re.c alloc.h byte.h
./compile alloc_re.c
diff -puNr djbdns-1.05.org/alloc.c djbdns-1.05/alloc.c
--- djbdns-1.05.org/alloc.c 2001-02-12 06:11:45.000000000 +0900
+++ djbdns-1.05/alloc.c 2020-11-22 16:19:08.746255487 +0900
@@ -1,6 +1,6 @@
-#include <stdlib.h>
#include "alloc.h"
#include "error.h"
+#include "malloc.h"

#define ALIGNMENT 16 /* XXX: assuming that this alignment is enough */
#define SPACE 2048 /* must be multiple of ALIGNMENT */
@@ -16,7 +16,7 @@ unsigned int n;
char *x;
n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */
if (n <= avail) { avail -= n; return space + avail; }
- x = malloc(n);
+ x = dlmalloc(n);
if (!x) errno = error_nomem;
return x;
}
@@ -27,5 +27,5 @@ char *x;
if (x >= space)
if (x < space + SPACE)
return; /* XXX: assuming that pointers are flat */
- free(x);
+ dlfree(x);
}




Reinin Oyama <lenin@hasiru.net>???
> Hi! All!
>
> I use 'MUSL' instead of glic-2.32 in ArchLinux.
>
> pacman -Syu musl
>
> And I changed conf-cc and conf-ld to
>
> conf-cc:
> musl-gcc -static -include /usr/lib/musl/include/errno.h
>
> conf-ld:
> musl-gcc -static -s
>
> svc -d /service/tinydns
>
> make setup check
>
> svc -u /service/tinydns
>
> dnsq any mydomain.net 127.0.0.1
> !!
> !!
> !!
> !!
> !!
> !!
> !!
> !!
> !!
> !!
> !!
> !!
> ........
>
> tinydns WORKS VERY FINE !!!!!!!!!
>
>
>
> Reinin Oyama <lenin@hasiru.net>???
> > Hi!
> >
> > I found the CAUSE of this problem!!!!!!
> >
> > glibc-2.32's malloc function has a BUG!!!!
> >
> > djbdns errors in alloc funtion in malloc function.
> >
> > We will use sbrk() systemcall instead???????
> >
> >
> > lenin@hasiru.net???
> > > Hi!
> > >
> > > I found the reason why. [ /etc/tinydns/root: file does not exist]
> > > Chroot /etc/tinydns/root has done!
> > >
> > > But I cannot solve the problem.
> > >
> > > Why tinydns stops answering afer 6 times.
> > > The other hand dnscache works very fine.
> > >
> > > Very Very confused.
> > >
> > >
> > > lenin@hasiru.net???
> > > > Hi!
> > > >
> > > > I try to find solution.
> > > > I edit server.c main function.
> > > >
> > > > for (;;) {
> > > > len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> > > > if (len < 0) continue;
> > > > if (!doit()) continue;
> > > > if (response_len > 512) response_tc();
> > > > socket_send4(udp53,response,response_len,ip,port);
> > > > /* may block for buffer space; if it fails, too bad */
> > > > }
> > > >
> > > > Try to change like this
> > > >
> > > > for (;;) {
> > > > len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> > > > if (len < 0) continue;
> > > > if (!doit()){
> > > > droproot(fatal);
> > > > initialize();
> > > > ndelay_off(udp53);
> > > > socket_tryreservein(udp53,65536);
> > > > buffer_putsflush(buffer_2,starting);
> > > > continue;
> > > > }
> > > > if (response_len > 512) response_tc();
> > > > socket_send4(udp53,response,response_len,ip,port);
> > > > /* may block for buffer space; if it fails, too bad */
> > > > }
> > > >
> > > > And I find it working(but slow).
> > > >
> > > > And find multilog's current like follows
> > > >
> > > > @400000005fb72058371301b4 7f000001:9f4a:5c9a + 00ff mydomain.net
> > > > @400000005fb7205925c7bae4 7f000001:dc36:255b - 00ff mydomain.net
> > > > @400000005fb7205925c7c69c tinydns: fatal: unable to chdir to /
etc/
> > > > tinydns/root: file does not exist
> > > > @400000005fb72059263355c4 starting tinydns
> > > > @400000005fb7205a26fab0ec 7f000001:eab4:b342 + 00ff mydomain.net
> > > >
> > > > /etc/tinydns/root not exist????
> > > > Why??? Very strange.
> > > >
> > > >
> > > >
> > > > Reinin Oyama <lenin@hasiru.net>???
> > > > > I never use nslookup. nslookup is a crazy tool.
> > > > >
> > > > > I use "" dnsq ""
> > > > >
> > > > >
> > > > >
> > > > > Erwin Hoffmann <feh@fehcom.de>???
> > > > > > Hi Reinin,
> > > > > >
> > > > > > maybe you just use another DNS lookup tool like nslookup or
> dig
> > to
> > > > > verify that tinydns is not responding.
> > > > > >
> > > > > > The log file content of tinydns is explained here:
> > > > > >
> > > > > > https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
> > > > > >
> > > > > > (ok, this is my version of tinydns; but this should not
matter
> > > here)
> > > > > >
> > > > > > It could be a communication/network failure not due to
tinydns
> > but
> > > > > dnsq you have used.
> > > > > >
> > > > > >
> > > > > > Apart from that: Recompiling and re-installation of djbdns
> would
> > > be
> > > > my
> > > > > first attempt.
> > > > > >
> > > > > > Regards.
> > > > > > --eh.
> > > > > >
> > > > > >
> > > > > > > Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net
> >
> > :
> > > > > > >
> > > > > > > Hi
> > > > > > >
> > > > > > > dnscache is not setting up.
> > > > > > > I run only tinydns.
> > > > > > > and My /service/tinydns/log/main/current is follows.
> > > > > > >
> > > > > > > @400000005fb4fb7725ff9b94 starting tinydns
> > > > > > > @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff
mydomain.
> > net
> > > > > > > @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff
mydomain.
> > net
> > > > > > > @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff
mydomain.
> > net
> > > > > > > @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff
mydomain.
> > net
> > > > > > > @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff
mydomain.
> > net
> > > > > > > @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff
mydomain.
> > net
> > > > > > > @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff
mydomain.
> > net
> > > > > > > @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff
mydomain.
> > net
> > > > > > >
> > > > > > > I think they have no anwer.......
> > > > > > >
> > > > > > > John Conover <conover@rahul.net>???
> > > > > > >> lenin@hasiru.net writes:
> > > > > > >>> Multilog process is running very well.
> > > > > > >>> cd /service/tinydns
> > > > > > >>> svc -t .
> > > > > > >>>
> > > > > > >>> Then tinydns runs normally again.
> > > > > > >>> but after 6-8 query(dnsq) , it stops working.
> > > > > > >>> The other hand, multilog is running very well.
> > > > > > >>>
> > > > > > >>>
> > > > > > >>> Paul Jarc <prj@case.edu>さん:
> > > > > > >>>> This would be more appropriate for the dns list:
> > > > > > >>>> https://cr.yp.to/lists.html#dns
> > > > > > >>>>
> > > > > > >>>> Reinin Oyama <lenin@hasiru.net> wrote:
> > > > > > >>>>> It stops working after 10 or 20 query.
> > > > > > >>>>
> > > > > > >>>> Is the logger working? This sounds like the log pipe
> might
> > > be
> > > > > > > full.
> > > > > > >>
> > > > > > >> Perhaps
> > > > > > >>
> > > > > > >> /service/tinydns/log/main/current
> > > > > > >> /service/dnscache/log/main/tinydns
> > > > > > >>
> > > > > > >> might provide an answer.
> > > > > > >>
> > > > > > >> John
> > > > > > >>
> > > > > > >> --
> > > > > > >>
> > > > > > >> John Conover, conover@rahul.net, http://www.johncon.com/
> > > > > > >
> > > > > > >
> > > > > > > ----------------------------------------------------------
--
> --
> > > > > > > ????????????
> > > > > > > ??????????
> > > > > > > email: lenin@hasiru.net
> > > > > > > web: https://www.hasiru.net
> > > > > >
> > > > > > Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP
Key-
> Id
> > > > > 7E4034BE
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --------------------------------------------------------------
> > > > > ????????????
> > > > > ??????????
> > > > > email: lenin@hasiru.net
> > > > > web: https://www.hasiru.net
> >
> >
> > --------------------------------------------------------------
> > ????????????
> > ??????????
> > email: lenin@hasiru.net
> > web: https://www.hasiru.net
>
>
> --------------------------------------------------------------
> ????????????
> ??????????
> email: lenin@hasiru.net
> web: https://www.hasiru.net


--------------------------------------------------------------
????????????
??????????
email: lenin@hasiru.net
web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

On Sat, Nov 21, 2020 at 07:06:40PM +0900, Reinin Oyama wrote:
> I found the CAUSE of this problem!!!!!!
>
> glibc-2.32's malloc function has a BUG!!!!

Can you please point me to an URL of related bug report?

--
WBR, Alex.
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi!

There is 'NO BUG REPORT'!
And it is none of my business.

Alex Efros <powerman@powerman.name>$B$5$s!'(B
> Hi!
>
> On Sat, Nov 21, 2020 at 07:06:40PM +0900, Reinin Oyama wrote:
> > I found the CAUSE of this problem!!!!!!
> >
> > glibc-2.32's malloc function has a BUG!!!!
>
> Can you please point me to an URL of related bug report?
>
> --
> WBR, Alex.


--------------------------------------------------------------
$BM-8B2q<RAv$k%W%m%0%i%^!<(B
$BBeI=<hDyLr!!Bg;3Ni?N(B
email: lenin@hasiru.net
web: https://www.hasiru.net
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi Reinin,

as a matter of fact; 'C' allows the use of an alternative malloc, as you have shown in your patch.

However, if malloc in the standards glibc-2.32 would be broken, all depending SW would be as well.
This is extreme unlikely.

Apart from that: A diff between glibc-2.32 and glibc-2.31 (where things were alright according to your posting) would show changes regarding malloc.

I'll have a look.

Regards.
--eh.

> Am 22.11.2020 um 08:42 schrieb Reinin Oyama <lenin@hasiru.net>:
>
> Hi!
>
> Here is another solusion!!
>
> Use Doug Lea's dlmalloc and dlfree!!
> And say goodbye to glibc's malloc!!
>
> Usage:
> tar xvf djbdns-1.05.tar.gz
> wget http://hasiru.net/djbdns-malloc.patch
> patch -p0 <djbdns-malloc.patch
> cd djbdns-1.05
> echo gcc -O2 -include /usr/include/errno.h > conf-cc
> wget http://gee.cs.oswego.edu/pub/misc/malloc.c
> wget http://gee.cs.oswego.edu/pub/misc/malloc.h
> make setup check
>
>
> This is my patch
>
> diff -puNr djbdns-1.05.org/Makefile djbdns-1.05/Makefile
> --- djbdns-1.05.org/Makefile 2001-02-12 06:11:45.000000000 +0900
> +++ djbdns-1.05/Makefile 2020-11-22 16:19:26.553298861 +0900
> @@ -7,16 +7,20 @@ default: it
> alloc.a: \
> makelib alloc.o alloc_re.o getln.o getln2.o stralloc_cat.o \
> stralloc_catb.o stralloc_cats.o stralloc_copy.o stralloc_eady.o \
> -stralloc_num.o stralloc_opyb.o stralloc_opys.o stralloc_pend.o
> +stralloc_num.o stralloc_opyb.o stralloc_opys.o stralloc_pend.o malloc.o
> ./makelib alloc.a alloc.o alloc_re.o getln.o getln2.o \
> stralloc_cat.o stralloc_catb.o stralloc_cats.o \
> stralloc_copy.o stralloc_eady.o stralloc_num.o \
> - stralloc_opyb.o stralloc_opys.o stralloc_pend.o
> + stralloc_opyb.o stralloc_opys.o stralloc_pend.o malloc.o
>
> alloc.o: \
> compile alloc.c alloc.h error.h
> ./compile alloc.c
>
> +malloc.o: \
> +compile malloc.c malloc.h
> + ./compile malloc.c
> +
> alloc_re.o: \
> compile alloc_re.c alloc.h byte.h
> ./compile alloc_re.c
> diff -puNr djbdns-1.05.org/alloc.c djbdns-1.05/alloc.c
> --- djbdns-1.05.org/alloc.c 2001-02-12 06:11:45.000000000 +0900
> +++ djbdns-1.05/alloc.c 2020-11-22 16:19:08.746255487 +0900
> @@ -1,6 +1,6 @@
> -#include <stdlib.h>
> #include "alloc.h"
> #include "error.h"
> +#include "malloc.h"
>
> #define ALIGNMENT 16 /* XXX: assuming that this alignment is enough */
> #define SPACE 2048 /* must be multiple of ALIGNMENT */
> @@ -16,7 +16,7 @@ unsigned int n;
> char *x;
> n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */
> if (n <= avail) { avail -= n; return space + avail; }
> - x = malloc(n);
> + x = dlmalloc(n);
> if (!x) errno = error_nomem;
> return x;
> }
> @@ -27,5 +27,5 @@ char *x;
> if (x >= space)
> if (x < space + SPACE)
> return; /* XXX: assuming that pointers are flat */
> - free(x);
> + dlfree(x);
> }
>
>
>
>
> Reinin Oyama <lenin@hasiru.net>???
>> Hi! All!
>>
>> I use 'MUSL' instead of glic-2.32 in ArchLinux.
>>
>> pacman -Syu musl
>>
>> And I changed conf-cc and conf-ld to
>>
>> conf-cc:
>> musl-gcc -static -include /usr/lib/musl/include/errno.h
>>
>> conf-ld:
>> musl-gcc -static -s
>>
>> svc -d /service/tinydns
>>
>> make setup check
>>
>> svc -u /service/tinydns
>>
>> dnsq any mydomain.net 127.0.0.1
>> !!
>> !!
>> !!
>> !!
>> !!
>> !!
>> !!
>> !!
>> !!
>> !!
>> !!
>> !!
>> ........
>>
>> tinydns WORKS VERY FINE !!!!!!!!!
>>
>>
>>
>> Reinin Oyama <lenin@hasiru.net>???
>>> Hi!
>>>
>>> I found the CAUSE of this problem!!!!!!
>>>
>>> glibc-2.32's malloc function has a BUG!!!!
>>>
>>> djbdns errors in alloc funtion in malloc function.
>>>
>>> We will use sbrk() systemcall instead???????
>>>
>>>
>>> lenin@hasiru.net???
>>>> Hi!
>>>>
>>>> I found the reason why. [ /etc/tinydns/root: file does not exist]
>>>> Chroot /etc/tinydns/root has done!
>>>>
>>>> But I cannot solve the problem.
>>>>
>>>> Why tinydns stops answering afer 6 times.
>>>> The other hand dnscache works very fine.
>>>>
>>>> Very Very confused.
>>>>
>>>>
>>>> lenin@hasiru.net???
>>>>> Hi!
>>>>>
>>>>> I try to find solution.
>>>>> I edit server.c main function.
>>>>>
>>>>> for (;;) {
>>>>> len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
>>>>> if (len < 0) continue;
>>>>> if (!doit()) continue;
>>>>> if (response_len > 512) response_tc();
>>>>> socket_send4(udp53,response,response_len,ip,port);
>>>>> /* may block for buffer space; if it fails, too bad */
>>>>> }
>>>>>
>>>>> Try to change like this
>>>>>
>>>>> for (;;) {
>>>>> len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
>>>>> if (len < 0) continue;
>>>>> if (!doit()){
>>>>> droproot(fatal);
>>>>> initialize();
>>>>> ndelay_off(udp53);
>>>>> socket_tryreservein(udp53,65536);
>>>>> buffer_putsflush(buffer_2,starting);
>>>>> continue;
>>>>> }
>>>>> if (response_len > 512) response_tc();
>>>>> socket_send4(udp53,response,response_len,ip,port);
>>>>> /* may block for buffer space; if it fails, too bad */
>>>>> }
>>>>>
>>>>> And I find it working(but slow).
>>>>>
>>>>> And find multilog's current like follows
>>>>>
>>>>> @400000005fb72058371301b4 7f000001:9f4a:5c9a + 00ff mydomain.net
>>>>> @400000005fb7205925c7bae4 7f000001:dc36:255b - 00ff mydomain.net
>>>>> @400000005fb7205925c7c69c tinydns: fatal: unable to chdir to /
> etc/
>>>>> tinydns/root: file does not exist
>>>>> @400000005fb72059263355c4 starting tinydns
>>>>> @400000005fb7205a26fab0ec 7f000001:eab4:b342 + 00ff mydomain.net
>>>>>
>>>>> /etc/tinydns/root not exist????
>>>>> Why??? Very strange.
>>>>>
>>>>>
>>>>>
>>>>> Reinin Oyama <lenin@hasiru.net>???
>>>>>> I never use nslookup. nslookup is a crazy tool.
>>>>>>
>>>>>> I use "" dnsq ""
>>>>>>
>>>>>>
>>>>>>
>>>>>> Erwin Hoffmann <feh@fehcom.de>???
>>>>>>> Hi Reinin,
>>>>>>>
>>>>>>> maybe you just use another DNS lookup tool like nslookup or
>> dig
>>> to
>>>>>> verify that tinydns is not responding.
>>>>>>>
>>>>>>> The log file content of tinydns is explained here:
>>>>>>>
>>>>>>> https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
>>>>>>>
>>>>>>> (ok, this is my version of tinydns; but this should not
> matter
>>>> here)
>>>>>>>
>>>>>>> It could be a communication/network failure not due to
> tinydns
>>> but
>>>>>> dnsq you have used.
>>>>>>>
>>>>>>>
>>>>>>> Apart from that: Recompiling and re-installation of djbdns
>> would
>>>> be
>>>>> my
>>>>>> first attempt.
>>>>>>>
>>>>>>> Regards.
>>>>>>> --eh.
>>>>>>>
>>>>>>>
>>>>>>>> Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net
>>>
>>> :
>>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> dnscache is not setting up.
>>>>>>>> I run only tinydns.
>>>>>>>> and My /service/tinydns/log/main/current is follows.
>>>>>>>>
>>>>>>>> @400000005fb4fb7725ff9b94 starting tinydns
>>>>>>>> @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff
> mydomain.
>>> net
>>>>>>>> @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff
> mydomain.
>>> net
>>>>>>>> @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff
> mydomain.
>>> net
>>>>>>>> @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff
> mydomain.
>>> net
>>>>>>>> @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff
> mydomain.
>>> net
>>>>>>>> @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff
> mydomain.
>>> net
>>>>>>>> @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff
> mydomain.
>>> net
>>>>>>>> @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff
> mydomain.
>>> net
>>>>>>>>
>>>>>>>> I think they have no anwer.......
>>>>>>>>
>>>>>>>> John Conover <conover@rahul.net>???
>>>>>>>>> lenin@hasiru.net writes:
>>>>>>>>>> Multilog process is running very well.
>>>>>>>>>> cd /service/tinydns
>>>>>>>>>> svc -t .
>>>>>>>>>>
>>>>>>>>>> Then tinydns runs normally again.
>>>>>>>>>> but after 6-8 query(dnsq) , it stops working.
>>>>>>>>>> The other hand, multilog is running very well.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Paul Jarc <prj@case.edu>さん:
>>>>>>>>>>> This would be more appropriate for the dns list:
>>>>>>>>>>> https://cr.yp.to/lists.html#dns
>>>>>>>>>>>
>>>>>>>>>>> Reinin Oyama <lenin@hasiru.net> wrote:
>>>>>>>>>>>> It stops working after 10 or 20 query.
>>>>>>>>>>>
>>>>>>>>>>> Is the logger working? This sounds like the log pipe
>> might
>>>> be
>>>>>>>> full.
>>>>>>>>>
>>>>>>>>> Perhaps
>>>>>>>>>
>>>>>>>>> /service/tinydns/log/main/current
>>>>>>>>> /service/dnscache/log/main/tinydns
>>>>>>>>>
>>>>>>>>> might provide an answer.
>>>>>>>>>
>>>>>>>>> John
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> John Conover, conover@rahul.net, http://www.johncon.com/
>>>>>>>>
>>>>>>>>
>>>>>>>> ----------------------------------------------------------
> --
>> --
>>>>>>>> ????????????
>>>>>>>> ??????????
>>>>>>>> email: lenin@hasiru.net
>>>>>>>> web: https://www.hasiru.net
>>>>>>>
>>>>>>> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP
> Key-
>> Id
>>>>>> 7E4034BE
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------
>>>>>> ????????????
>>>>>> ??????????
>>>>>> email: lenin@hasiru.net
>>>>>> web: https://www.hasiru.net
>>>
>>>
>>> --------------------------------------------------------------
>>> ????????????
>>> ??????????
>>> email: lenin@hasiru.net
>>> web: https://www.hasiru.net
>>
>>
>> --------------------------------------------------------------
>> ????????????
>> ??????????
>> email: lenin@hasiru.net
>> web: https://www.hasiru.net
>
>
> --------------------------------------------------------------
> ????????????
> ??????????
> email: lenin@hasiru.net
> web: https://www.hasiru.net

Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id 7E4034BE
Re: tinydns stop working with glibc-2.32 [ In reply to ]
Hi Hi All!

I'm sorry very match. (;_;)

I made a mistake.

All the problem is solved.

This is the only "Lack of Memory".

To chage softlimit 300000 to 600000 solve the Problem!!!!!

glibc-2.32 is use greater memory than glibc-2.31.

First Time:
tar zxvf djbdns-1.05.tar.gz
wget http://hasiru.net/djbdnslimit.patch
patch -p0 <djbdnslimit.patch
cd djbdns-1.05
echo gcc -O2 -include /usr/include/errno.h > conf-cc
make setup check

Already install:
sed -i 's/30000/60000/' /service/tinydns/run
svc -t /service/tinydns

This is my patch (djbdnslimit.patch)

diff -puNr djbdns-1.05.org/axfrdns-conf.c djbdns-1.05/axfrdns-conf.c
--- djbdns-1.05.org/axfrdns-conf.c 2001-02-12 06:11:45.000000000 +
0900
+++ djbdns-1.05/axfrdns-conf.c 2020-11-23 10:14:30.459077953 +0900
@@ -50,7 +50,7 @@ int main(int argc,char **argv)

start("run");
outs("#!/bin/sh\nexec 2>&1\nexec envdir ./env sh -c '\n exec
envuidgid "); o
uts(user);
- outs(" softlimit -d300000 tcpserver -vDRHl0 -x tcp.cdb -- \"$IP\" 53
");
+ outs(" softlimit -d600000 tcpserver -vDRHl0 -x tcp.cdb -- \"$IP\" 53
");
outs(auto_home); outs("/bin/axfrdns\n'\n");
finish();
perm(0755);
diff -puNr djbdns-1.05.org/tinydns-conf.c djbdns-1.05/tinydns-conf.c
--- djbdns-1.05.org/tinydns-conf.c 2001-02-12 06:11:45.000000000 +
0900
+++ djbdns-1.05/tinydns-conf.c 2020-11-23 10:14:43.134742904 +0900
@@ -46,7 +46,7 @@ int main(int argc,char **argv)

start("run");
outs("#!/bin/sh\nexec 2>&1\nexec envuidgid "); outs(user);
- outs(" envdir ./env softlimit -d300000 ");
+ outs(" envdir ./env softlimit -d600000 ");
outs(auto_home); outs("/bin/tinydns\n");
finish();
perm(0755);


Erwin Hoffmann <feh@fehcom.de>???
> Hi Reinin,
>
> as a matter of fact; 'C' allows the use of an alternative malloc, as
you have shown in your patch.
>
> However, if malloc in the standards glibc-2.32 would be broken, all
depending SW would be as well.
> This is extreme unlikely.
>
> Apart from that: A diff between glibc-2.32 and glibc-2.31 (where
things were alright according to your posting) would show changes
regarding malloc.
>
> I'll have a look.
>
> Regards.
> --eh.
>
> > Am 22.11.2020 um 08:42 schrieb Reinin Oyama <lenin@hasiru.net>:
> >
> > Hi!
> >
> > Here is another solusion!!
> >
> > Use Doug Lea's dlmalloc and dlfree!!
> > And say goodbye to glibc's malloc!!
> >
> > Usage:
> > tar xvf djbdns-1.05.tar.gz
> > wget http://hasiru.net/djbdns-malloc.patch
> > patch -p0 <djbdns-malloc.patch
> > cd djbdns-1.05
> > echo gcc -O2 -include /usr/include/errno.h > conf-cc
> > wget http://gee.cs.oswego.edu/pub/misc/malloc.c
> > wget http://gee.cs.oswego.edu/pub/misc/malloc.h
> > make setup check
> >
> >
> > This is my patch
> >
> > diff -puNr djbdns-1.05.org/Makefile djbdns-1.05/Makefile
> > --- djbdns-1.05.org/Makefile 2001-02-12 06:11:45.000000000 +0900
> > +++ djbdns-1.05/Makefile 2020-11-22 16:19:26.553298861 +0900
> > @@ -7,16 +7,20 @@ default: it
> > alloc.a: \
> > makelib alloc.o alloc_re.o getln.o getln2.o stralloc_cat.o \
> > stralloc_catb.o stralloc_cats.o stralloc_copy.o stralloc_eady.o \
> > -stralloc_num.o stralloc_opyb.o stralloc_opys.o stralloc_pend.o
> > +stralloc_num.o stralloc_opyb.o stralloc_opys.o stralloc_pend.o
malloc.o
> > ./makelib alloc.a alloc.o alloc_re.o getln.o getln2.o \
> > stralloc_cat.o stralloc_catb.o stralloc_cats.o \
> > stralloc_copy.o stralloc_eady.o stralloc_num.o \
> > - stralloc_opyb.o stralloc_opys.o stralloc_pend.o
> > + stralloc_opyb.o stralloc_opys.o stralloc_pend.o malloc.o
> >
> > alloc.o: \
> > compile alloc.c alloc.h error.h
> > ./compile alloc.c
> >
> > +malloc.o: \
> > +compile malloc.c malloc.h
> > + ./compile malloc.c
> > +
> > alloc_re.o: \
> > compile alloc_re.c alloc.h byte.h
> > ./compile alloc_re.c
> > diff -puNr djbdns-1.05.org/alloc.c djbdns-1.05/alloc.c
> > --- djbdns-1.05.org/alloc.c 2001-02-12 06:11:45.000000000 +0900
> > +++ djbdns-1.05/alloc.c 2020-11-22 16:19:08.746255487 +0900
> > @@ -1,6 +1,6 @@
> > -#include <stdlib.h>
> > #include "alloc.h"
> > #include "error.h"
> > +#include "malloc.h"
> >
> > #define ALIGNMENT 16 /* XXX: assuming that this alignment is enough
*/
> > #define SPACE 2048 /* must be multiple of ALIGNMENT */
> > @@ -16,7 +16,7 @@ unsigned int n;
> > char *x;
> > n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow
*/
> > if (n <= avail) { avail -= n; return space + avail; }
> > - x = malloc(n);
> > + x = dlmalloc(n);
> > if (!x) errno = error_nomem;
> > return x;
> > }
> > @@ -27,5 +27,5 @@ char *x;
> > if (x >= space)
> > if (x < space + SPACE)
> > return; /* XXX: assuming that pointers are flat */
> > - free(x);
> > + dlfree(x);
> > }
> >
> >
> >
> >
> > Reinin Oyama <lenin@hasiru.net>???
> >> Hi! All!
> >>
> >> I use 'MUSL' instead of glic-2.32 in ArchLinux.
> >>
> >> pacman -Syu musl
> >>
> >> And I changed conf-cc and conf-ld to
> >>
> >> conf-cc:
> >> musl-gcc -static -include /usr/lib/musl/include/errno.h
> >>
> >> conf-ld:
> >> musl-gcc -static -s
> >>
> >> svc -d /service/tinydns
> >>
> >> make setup check
> >>
> >> svc -u /service/tinydns
> >>
> >> dnsq any mydomain.net 127.0.0.1
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> !!
> >> ........
> >>
> >> tinydns WORKS VERY FINE !!!!!!!!!
> >>
> >>
> >>
> >> Reinin Oyama <lenin@hasiru.net>???
> >>> Hi!
> >>>
> >>> I found the CAUSE of this problem!!!!!!
> >>>
> >>> glibc-2.32's malloc function has a BUG!!!!
> >>>
> >>> djbdns errors in alloc funtion in malloc function.
> >>>
> >>> We will use sbrk() systemcall instead???????
> >>>
> >>>
> >>> lenin@hasiru.net???
> >>>> Hi!
> >>>>
> >>>> I found the reason why. [ /etc/tinydns/root: file does not exist]
> >>>> Chroot /etc/tinydns/root has done!
> >>>>
> >>>> But I cannot solve the problem.
> >>>>
> >>>> Why tinydns stops answering afer 6 times.
> >>>> The other hand dnscache works very fine.
> >>>>
> >>>> Very Very confused.
> >>>>
> >>>>
> >>>> lenin@hasiru.net???
> >>>>> Hi!
> >>>>>
> >>>>> I try to find solution.
> >>>>> I edit server.c main function.
> >>>>>
> >>>>> for (;;) {
> >>>>> len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> >>>>> if (len < 0) continue;
> >>>>> if (!doit()) continue;
> >>>>> if (response_len > 512) response_tc();
> >>>>> socket_send4(udp53,response,response_len,ip,port);
> >>>>> /* may block for buffer space; if it fails, too bad */
> >>>>> }
> >>>>>
> >>>>> Try to change like this
> >>>>>
> >>>>> for (;;) {
> >>>>> len = socket_recv4(udp53,buf,sizeof buf,ip,&port);
> >>>>> if (len < 0) continue;
> >>>>> if (!doit()){
> >>>>> droproot(fatal);
> >>>>> initialize();
> >>>>> ndelay_off(udp53);
> >>>>> socket_tryreservein(udp53,65536);
> >>>>> buffer_putsflush(buffer_2,starting);
> >>>>> continue;
> >>>>> }
> >>>>> if (response_len > 512) response_tc();
> >>>>> socket_send4(udp53,response,response_len,ip,port);
> >>>>> /* may block for buffer space; if it fails, too bad */
> >>>>> }
> >>>>>
> >>>>> And I find it working(but slow).
> >>>>>
> >>>>> And find multilog's current like follows
> >>>>>
> >>>>> @400000005fb72058371301b4 7f000001:9f4a:5c9a + 00ff mydomain.net
> >>>>> @400000005fb7205925c7bae4 7f000001:dc36:255b - 00ff mydomain.net
> >>>>> @400000005fb7205925c7c69c tinydns: fatal: unable to chdir to /
> > etc/
> >>>>> tinydns/root: file does not exist
> >>>>> @400000005fb72059263355c4 starting tinydns
> >>>>> @400000005fb7205a26fab0ec 7f000001:eab4:b342 + 00ff mydomain.net
> >>>>>
> >>>>> /etc/tinydns/root not exist????
> >>>>> Why??? Very strange.
> >>>>>
> >>>>>
> >>>>>
> >>>>> Reinin Oyama <lenin@hasiru.net>???
> >>>>>> I never use nslookup. nslookup is a crazy tool.
> >>>>>>
> >>>>>> I use "" dnsq ""
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Erwin Hoffmann <feh@fehcom.de>???
> >>>>>>> Hi Reinin,
> >>>>>>>
> >>>>>>> maybe you just use another DNS lookup tool like nslookup or
> >> dig
> >>> to
> >>>>>> verify that tinydns is not responding.
> >>>>>>>
> >>>>>>> The log file content of tinydns is explained here:
> >>>>>>>
> >>>>>>> https://www.fehcom.de/ipnet/djbdnscurve6/man/tinydns-log.5.html
> >>>>>>>
> >>>>>>> (ok, this is my version of tinydns; but this should not
> > matter
> >>>> here)
> >>>>>>>
> >>>>>>> It could be a communication/network failure not due to
> > tinydns
> >>> but
> >>>>>> dnsq you have used.
> >>>>>>>
> >>>>>>>
> >>>>>>> Apart from that: Recompiling and re-installation of djbdns
> >> would
> >>>> be
> >>>>> my
> >>>>>> first attempt.
> >>>>>>>
> >>>>>>> Regards.
> >>>>>>> --eh.
> >>>>>>>
> >>>>>>>
> >>>>>>>> Am 18.11.2020 um 11:51 schrieb Reinin Oyama <lenin@hasiru.net
> >>>
> >>> :
> >>>>>>>>
> >>>>>>>> Hi
> >>>>>>>>
> >>>>>>>> dnscache is not setting up.
> >>>>>>>> I run only tinydns.
> >>>>>>>> and My /service/tinydns/log/main/current is follows.
> >>>>>>>>
> >>>>>>>> @400000005fb4fb7725ff9b94 starting tinydns
> >>>>>>>> @400000005fb4fb8817385024 7f000001:19df:41d7 + 00ff
> > mydomain.
> >>> net
> >>>>>>>> @400000005fb4fb891eea44bc 7f000001:1524:a933 + 00ff
> > mydomain.
> >>> net
> >>>>>>>> @400000005fb4fb8a1098d914 7f000001:af96:54ac + 00ff
> > mydomain.
> >>> net
> >>>>>>>> @400000005fb4fb8b00db8d14 7f000001:6d09:ae80 + 00ff
> > mydomain.
> >>> net
> >>>>>>>> @400000005fb4fb8b29602f9c 7f000001:8ba6:c3ca + 00ff
> > mydomain.
> >>> net
> >>>>>>>> @400000005fb4fb8c173379dc 7f000001:8801:1823 + 00ff
> > mydomain.
> >>> net
> >>>>>>>> @400000005fb4fb8d03300464 7f000001:8354:cc58 - 00ff
> > mydomain.
> >>> net
> >>>>>>>> @400000005fb4fb8e0467308c 7f000001:8a7f:844f - 00ff
> > mydomain.
> >>> net
> >>>>>>>>
> >>>>>>>> I think they have no anwer.......
> >>>>>>>>
> >>>>>>>> John Conover <conover@rahul.net>???
> >>>>>>>>> lenin@hasiru.net writes:
> >>>>>>>>>> Multilog process is running very well.
> >>>>>>>>>> cd /service/tinydns
> >>>>>>>>>> svc -t .
> >>>>>>>>>>
> >>>>>>>>>> Then tinydns runs normally again.
> >>>>>>>>>> but after 6-8 query(dnsq) , it stops working.
> >>>>>>>>>> The other hand, multilog is running very well.
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Paul Jarc <prj@case.edu>さん:
> >>>>>>>>>>> This would be more appropriate for the dns list:
> >>>>>>>>>>> https://cr.yp.to/lists.html#dns
> >>>>>>>>>>>
> >>>>>>>>>>> Reinin Oyama <lenin@hasiru.net> wrote:
> >>>>>>>>>>>> It stops working after 10 or 20 query.
> >>>>>>>>>>>
> >>>>>>>>>>> Is the logger working? This sounds like the log pipe
> >> might
> >>>> be
> >>>>>>>> full.
> >>>>>>>>>
> >>>>>>>>> Perhaps
> >>>>>>>>>
> >>>>>>>>> /service/tinydns/log/main/current
> >>>>>>>>> /service/dnscache/log/main/tinydns
> >>>>>>>>>
> >>>>>>>>> might provide an answer.
> >>>>>>>>>
> >>>>>>>>> John
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>>
> >>>>>>>>> John Conover, conover@rahul.net, http://www.johncon.com/
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> ----------------------------------------------------------
> > --
> >> --
> >>>>>>>> ????????????
> >>>>>>>> ??????????
> >>>>>>>> email: lenin@hasiru.net
> >>>>>>>> web: https://www.hasiru.net
> >>>>>>>
> >>>>>>> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP
> > Key-
> >> Id
> >>>>>> 7E4034BE
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --------------------------------------------------------------
> >>>>>> ????????????
> >>>>>> ??????????
> >>>>>> email: lenin@hasiru.net
> >>>>>> web: https://www.hasiru.net
> >>>
> >>>
> >>> --------------------------------------------------------------
> >>> ????????????
> >>> ??????????
> >>> email: lenin@hasiru.net
> >>> web: https://www.hasiru.net
> >>
> >>
> >> --------------------------------------------------------------
> >> ????????????
> >> ??????????
> >> email: lenin@hasiru.net
> >> web: https://www.hasiru.net
> >
> >
> > --------------------------------------------------------------
> > ????????????
> > ??????????
> > email: lenin@hasiru.net
> > web: https://www.hasiru.net
>
> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id
7E4034BE
>
>
>
>
>
>
>