On 2016-11-04, Peter J. Philipp <p...@centroid.eu> wrote: > Hi, > > I'm writing because I'm wondering if people out there have had problems > with the 4.6 version of Berkeley DB in ports, and I'm wondering if I'm > the only one. The reason is this. I'm the author of a DNS server that > uses Berkeley DB as a backend and I've stumbled on some database > weirdness a few months ago. In particular the query function seems to > have stuck after some usage whereas the AXFR function which is on the > same descriptor is not stuck. What I've done is I've pulled my DNS > server away from answering queries and it does only AXFR as a hidden > master, but I do plan on bringing it back some day. I don't have any > old core files currently with me so this report is based only on my > memory. When I gdb'ed a stuck process by attaching gdb to it I noticed > that the query engine was in berkeley db and probably not returning > possibly a dead-lock situation. > > The way I use berkeley db is across several forked childs, there is a > child that does solely AXFR (using a cursor on the db and walking the > zones) and there is a child that does queries to port 53. Since the > database was opened before the fork() the descriptor is shared among the > childs. I always saw this as no problem in terms of how the program was > designed. > > Has anyone else seen possible dead-locks in berkeley db 4.6 as provided > by the OpenBSD ports? If not there is a chance it's my program meaning > I'll never figure out what is causing this because I have planned on > replacing berkeley db altogether, however if it's a known bug it would > save me the effort next year. The DNS server was built with OpenBSD as > the development machine and is now also running in a strict OpenBSD > environment on my VPS's. > > Thanks in advance for your sharing, > > -peter > >
I haven't noticed any myself, but the only thing I'm using it with is openldap (not forked afaik). We are many releases behind with db (last time it came up I don't think there was a good plan to deal with the file format change), so there might well be a problem that has been fixed upstream in the meantime..