Problem with 8.2.2-P5

Mark.Andrews at iengines.com Mark.Andrews at iengines.com
Thu Dec 23 02:15:51 UTC 1999


> Solaris bug or not, is a coredump an appropriate way to deal with the resulti
> ng
> error condition? How about detecting EINVAL and just exiting gracefully?

	If it was a non-deliberate core dump I would agree with you.
	It is a controlled core dump, deliberately provoked so that
	we or anyone else that cares to look at the core can see the
	state of the server at the time.
> 
> By the way, Solaris 7 appears to provide an alternate select() by the name of
> select_large_fdset(), which is automatically substituted via a #pragma when
> FD_SETSIZE exceeds 1024 (see Solaris 7 /usr/include/sys/select.h). They also 
> claim
> in their man page that the 64-bit version of select() defaults to a FD_SETSIZ
> E of
> 65536.
> 
> So, maybe one workaround is to upgrade the OS. Failing that, just override th
> e
> select() routine with one that has a higher FD limit (even in Solaris 7, it's
> still just a library routine layered on top of poll(), despite Sun's claims t
> o
> have fully integrated Berkeley-style sockets into their kernel).
> 
> 
> - Kevin
> 
> P.S. Chris, I'm curious how you managed to gobble up 1024 file descriptors...
> 
> Mark.Andrews at iengines.com wrote:
> 
> >         Sun's select() has built in limit of FD_SETSIZE.  i.e. you
> >         cannot raise it.  I consider this to be a bug in Sun's
> >         implementation of select().
> >
> >         Mark
> > >
> > > Solaris 2.6, Sun ProC compilers v5.0, Ultra Enterprise 450, 1G RAM, 2x
> > > Ultrasparc II processors.
> > >
> > > I've had named core on me with the following errors in logfiles:
> > >
> > >
> > > 09-Dec-1999 08:37:36.611 insist: ns_main.c:537: INSIST(errno == EINTR): I
> nval
> > > id argument failed.
> > > 09-Dec-1999 09:58:29.029 insist: ns_main.c:537: INSIST(errno == EINTR): I
> nval
> > > id argument failed.
> > > 09-Dec-1999 10:44:22.207 insist: ns_main.c:537: INSIST(errno == EINTR): I
> nval
> > > id argument failed.
> > >
> > >
> > > Any ideas? Core is available, and the gdb where output is as follows:
> > >
> > > Core was generated by `/dns/sbin/named -c /dns/files/named.conf'.
> > > Program terminated with signal 6, Abort.
> > > Reading symbols from /usr/lib/libnsl.so.1...(no debugging symbols found).
> ..
> > > done.
> > > Reading symbols from /usr/lib/libsocket.so.1...(no debugging symbols foun
> d)..
> > > .
> > > done.
> > > Reading symbols from /usr/lib/libc.so.1...(no debugging symbols found)...
> done
> > > .
> > > Reading symbols from /usr/lib/libdl.so.1...(no debugging symbols found)..
> .don
> > > e.
> > > Reading symbols from /usr/lib/libmp.so.2...(no debugging symbols found)..
> .don
> > > e.
> > > Reading symbols from /usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1...
> > > (no debugging symbols found)...done.
> > > #0  0xef688214 in __tbl_10_huge_digits ()
> > > (gdb) where
> > > #0  0xef688214 in __tbl_10_huge_digits ()
> > > #1  0xef63a5d0 in addsev ()
> > > #2  0x568c8 in ns_panic ()
> > > #3  0x56960 in ns_assertion_failed ()
> > > #4  0x3e39c in main ()
> > > (gdb)
> > >
> > > There is a small history to this: named was recompiled in the hopes
> > > of fixing a problem where zones would not be able to be loaded
> > > after a named-xfer due to "resource temporarily unavailable" errors,
> > > which leads me to believe that filehandles are involved.
> > >
> > > The INSTALL notes lead me to believe that Solaris 2.6+ doesn't need
> > > any special handling for filehandles.
> > >
> > > When the newly compiled code (which did include a SET_FDSIZE directive)
> > > was run, it produced the error above which prompted me to roll back
> > > to the original binary.
> > >
> > > Thanks,
> > >
> > > Chris
> > > --
> > > Chris Saunderson             chris at optus.net.au
> > > Technical Specialist         Ph:(02)9342 0848
> > > Network Applications Centre  C&W Optus
> > >
> > --
> > Mark Andrews, Internet Engines Inc. / Internet Software Consortium
> > 1 Seymour St., Dundas Valley, NSW 2117, Australia
> > PHONE: +61 2 9871 4742                 INTERNET: Mark.Andrews at iengines.com
> 
> 
> 
> 
--
Mark Andrews, Internet Engines Inc. / Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark.Andrews at iengines.com


More information about the bind-users mailing list