[MaraDNS list] Rich whining about threads in 2007
JFC Morfin
jefsey at jefsey.com
Tue Jul 24 13:18:23 EDT 2012
Once for all. MaraDNS is what it is. And it does meet brillantly my
evaluation of the average users' need.
And I want to state that I am glad of having known a guy like Sam,
and proud to have supported him as I could. I am sorry that time and
health did not permit me to help him more and subsidise him for a
while and for a fork as I hoped I could through a californian VC
friend, Sam having found a job.
Best
jfc
At 18:25 23/07/2012, Sam Trenholme wrote:
>WARNING: RANT FOLLOWS
>
>I'm very sorry to send this to the list. Rich: I'm sorry to use the
>word whining. I meant to send this to myself...but Gmail fucked up
>and sent it to the list. Probably a Freudian slip, looking back. So,
>excuse me while I make this personal and act unprofessionally. Since
>I'm not getting paid a living wage for MaraDNS, this is not a
>professional product.
>
>Anyway, now that this is out, I will go public about my personal
>feelings about Rich's email. I'm really frustrated with his attitude.
> Yes, I appreciate his help making Duende around 2003, but that was a
>long time. I looked it up, and back in 2007 he whined that MaraDNS
>used threads. So, WITHOUT GETTING PAID FOR MY WORK, a few months
>later I started making, from scratch a non-threaded version of MaraDNS
>(Deadwood).
>
>Yeah, there were a lot of other reasons I did it. Security holes
>started getting discovered in MaraDNS, so I felt a rewrite to minimize
>them further was in order. I have never been happy with MaraDNS' old
>threading model; it was always meant to be a prototype replaced with
>something else. But this email from 2007 was one of the motivating
>factors for starting work on Deadwood.
>
>My frustration with Rich is that he left the MaraDNS community. His
>feedback on using a different memory allocation scheme would have been
>valuable in late 2007 once non-recursive caching Deadwood prototypes
>were out the door. I had a lot more free time back then than I do now
>and Rich and I could have had the malloc() problem solved in 2008.
>
>Indeed, Jean-Jacques Sarton contributed a lot of IPv6 code to Deadwood
>in late 2007 and Deadwood's IPv6 support is a lot better because of
>his support.
>
>But, no, Rich left the community. He did not read the MaraDNS blog
>nor the mailing list when I started Deadwood:
>
>http://maradns.blogspot.com/2007/10/groundbreaking-of-deadwood-project.html
>
>He was not there when I was struggled to get the LRU cache to work in
>late 2007; that alone took about a month. He was not there when I
>slowly made the program more and more Windows compatible. He was not
>there when I pulled my hair out implementing a non-threaded TCP client
>that has no blocking system calls (it's not trivial, I assure you).
>He was not there as I struggled to get incomplete CNAMEs and glueless
>NS records to resolve correctly in Deadwood (CNAMEs alone were a
>nightmare and I'm still ironing out bugs in that code, as seen with
>the recent es-us.noticias.yahoo.com update)
>
>I worked my butt off for free on and off for three years to get
>Deadwood 3.0 with full recursion out the door. He we are, five years
>later. I have given Rich everything he asked for back in 2007:
>MaraDNS now no longer uses any threads. So, what does he do? He
>complains about how MaraDNS and Deadwood handle malloc().
>
>I'm sorry, Rich, but MaraDNS is never going to be a perfect program.
>No, it's handling of malloc() is not perfect for edge cases when
>malloc() actually fails. There are probably a bunch of places where
>Deadwood still dereferences a NULL pointer in the code, something I'm
>slowly cleaning up. There are certainly a number of other bugs in
>Deadwood, including, yes, security bugs. And, yes, Deadwood does not
>support DNSSEC, so most users are probably better off using BIND or
>Unbound.
>
>But, you know, I'm proud of Deadwood. It took me three years, but,
>unlike Unbound and unlike BIND, I wrote an entire recursive DNS client
>without (by and large) being paid for my time. Unlike djbdns, the
>only other volunteer-written finished DNS program [1], I still support
>the program and take responsibilities for its bugs--even though I'm
>not getting paid to do so.
>
>So yeah, Rich, I'm sick and tired of you trying to justify why this
>malloc() thing is such a horrible bug. Because it isn't. And, if
>this really mattered to you, you would have been there in 2007 when I
>was getting Deadwood off the ground. I built that thing completely
>from scratch. Everything: The crypto lib, the LRU cache, the string
>library, all of the DNS parsing functions, the non-threaded UDP and
>TCP client. I only got help for some little bits: The Windows service
>code (but I had a functioning Windows service before I got any help)
>and the IPv6 code (but I wrote all of the recursive code to handle
>IPv6 myself).
>
>You know, I am no Republican (as can be seen glancing at my Facebook
>public posts). But, they do have a legitimate point: There are takers
>and there are givers. Takers are people who are a net drain on
>society; givers are the people who do the hard work to make things
>happen. Takers always complain that the givers aren't giving them
>enough, or that the giver didn't do things the right way, or what not.
>
>But, you know, I would rather be a giver and have all of the takers
>whine about how I don't give them everything they want for free than
>be a taker and a net drain to society.
>
>This will be my last posting on the malloc() issue until when and if I
>decide to fix it. Rich could not wait for me to start writing the
>non-threaded MaraDNS code before leaving the community back in 2007,
>and he may not have the patience for me to deal with more important
>issues before dealing with the malloc() issue.
>
>- Sam
>
>[1] PowerDNS does not count since it was originally a commercial product.
>
>On Mon, Jul 23, 2012 at 11:45 AM, Sam Trenholme <maradns at gmail.com> wrote:
> > http://marc.info/?l=maradns-list&m=117390206723939&w=2
> >
> > March 12 2007:
> >
> > On Thu, Mar 01, 2007 at 04:39:39PM -0800, RC wrote:
> >> On Thu, 1 Mar 2007 16:49:54 -0600
> >> "Sam Trenholme" <strenholme.usenet at gmail.com> wrote:
> >>
> >> > What libc does the NetBSD on your 386 have. If you're
> >> > using glibc, consider using uclibc ( http://uclibc.org ).
> >>
> >> BSD != Linux
> >>
> >> The BSDs use their own libc. It's somewhere around half as large as
> >> glibc to begin with. And I sincerely doubt it would even be possible
> >> to get uclibc working on anything other than Linux.
> >
> > I have a libc that's pretty much kernel-agnostic (or maybe it's better
> > to say agnustic? :) and something like 1/2 to 2/3 the size of uClibc,
> > but with no pthreads implementation and I'd really rather not have
> > one, ever. Any chance that mara will someday do recursion without
> > threads?
> >
> > (In the mean time I could make an ugly minimal fake thread library to
> > get maradns to work, but it would be nice not to have to do that.)
> >
> > Rich
> >
> > ----
> >
> > Yeah sure, but it took over three years to get there. And now the
> > twit is whining about how malloc() is handled.
> >
> > - Sam
More information about the list
mailing list