In regard to: [Networker] rlim_fd_cur on Solaris and nsrexecd, Craig...:
>To make a long story short, the nsrexecd daemon would core dump when it
>attempted to start. I spent a bit poking around and looking on other
>similar Solaris 8 machines, and found the culprit.
>7612: getuid() = 0 [0]
>7612: sysconfig(_CONFIG_OPEN_FILES) = 32768
>7612: Incurred fault #6, FLTBOUNDS %pc = 0x000B4998
>7612: siginfo: SIGSEGV SEGV_MAPERR addr=0xFFBF09DC
>7612: Received signal #11, SIGSEGV [default]
>7612: siginfo: SIGSEGV SEGV_MAPERR addr=0xFFBF09DC
>7612: *** process killed ***
>By doing a "ulimit -n 1024" in the Networker startup script on the Solaris 8
>machine where nsrexecd was coredumping, it fixed the problem. I'm guessing
>that the code that does a close on all the file descriptors is not written
>to handle a large of number as 32768.
>
>I don't know if this is necessarily a bug in Networker code. I don't know
>of many applications that would ever require a rlim_fd_cur that high, and
>I'm not sure at what value the nsrexecd daemon will start core dumping, but
>obviously it is somewhere between 1024 and 32768.
It *is* a bug in NetWorker, though you're correct that it's one most
people aren't going to trigger. You're probably also correct that the
code is using a data type that's too small to hold the possible return
values. Did you report the problem to Legato?
Thanks for summarizing and sending to the list. It's a good addition to
the archives, and will likely save someone some head-scratching some day.
Tim
--
Tim Mooney mooney AT dogbert.cc.ndsu.NoDak DOT edu
Information Technology Services (701) 231-1076 (Voice)
Room 242-J6, IACC Building (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
--
Note: To sign off this list, send a "signoff networker" command via email
to listserv AT listmail.temple DOT edu or visit the list's Web site at
http://listmail.temple.edu/archives/networker.html where you can
also view and post messages to the list.
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
|