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