HPUX compilations and Samba 1.9.18p2

Panu Outinen panu at vertex.vertex.fi
Tue Jan 27 14:08:40 GMT 1998


First a hint for those who try to compile newest Samba in HPUX 8.0x with
HP's ANSI C compiler:

You get this message:

Compiling util.c
cc: "smb.h", line 1598: error 1590: "share_mode_entry" is not a typedef name.
cc: "smb.h", line 1598: error 1573: Type of "<<<NULL_SYMBOL>>>" is undefined.
*** Error code 1

Somehow HP's compiler doesn't like this definition, but one can just change
this line 1598:
  int (*forall)(void (*)(share_mode_entry *, char *));
to this pre ANSI style definition:
  int (*forall)(void (*)());
and it will compile perfectly.

Well, you get few warnings but who cares:
...
Compiling ipc.c
cc: "ipc.c", line 1570: warning 604: Pointers are not assignment-compatible.
cc: "ipc.c", line 1570: warning 563: Argument #2 is not the correct type.
cc: "ipc.c", line 1570: warning 604: Pointers are not assignment-compatible.
cc: "ipc.c", line 1570: warning 563: Argument #3 is not the correct type.
...
Compiling chgpasswd.c
cc: "chgpasswd.c", line 472: warning 604: Pointers are not
assignment-compatibl.
cc: "chgpasswd.c", line 472: warning 563: Argument #2 is not the correct type.
cc: "chgpasswd.c", line 472: warning 604: Pointers are not
assignment-compatibl.
cc: "chgpasswd.c", line 472: warning 563: Argument #3 is not the correct type.
cc: "chgpasswd.c", line 474: warning 604: Pointers are not
assignment-compatibl.

----------------------------------------------------------

Another thing: 

We've used Samba rather heavily (HPUX 8.0x and 9.0x) in our heteregenous
network since at least March 1995 (the first email of mine concerning Samba
I could track down!) and I've never had this problem with defunct processes
before. 

I got this in log.smb (Samba 1.9.18p1)

...
01/23/1998 05:01:32 changed root to /
netbios connect: name1=KIMMOV           name2=MESSU1
Closing connections
Closing connections
ERROR: Recursion in sig_cld? Perhaps you need `#define USE_WAITPID'?
01/23/1998 05:01:34 changed root to /
netbios connect: name1=KIMMOV           name2=MESSU1
...

Note the time 5 AM !!! This host was under very light load and after this 5
AM defunct processes kept coming and around 12.30 the process table was
full with defunct processes and the host had to be rebooted. All these
processes had starting times after 5 am, like 3 processes every 5 minutes
or so. 

ps -ef 
...
    root 20710 15444  0 11:26:21 ?        0:00 <defunct>
    root 20713 15444  1 11:29:36 ?        0:00 <defunct>
    root 20714 15444  2 11:29:39 ?        0:00 <defunct>
    root 20717 15444  0 11:33:15 ?        0:00 <defunct>
    root 20718 15444  1 11:34:05 ?        0:00 <defunct>
    root 20719 15444  1 11:34:07 ?        0:00 <defunct>
    root 20722 15444  1 11:37:27 ?        0:00 <defunct>
    root 20726 15444  0 11:39:44 ?        0:00 <defunct>
    root 20730 15444  3 11:44:26 ?        0:00 <defunct>
    root 20731 15444  8 11:44:26 ?        0:00 <defunct>
    root 20738 15444  1 11:52:24 ?        0:00 <defunct>
    root 20739 15444  1 11:52:25 ?        0:00 <defunct>
    root 20740 15444  1 11:52:37 ?        0:00 <defunct>
    root 20741 15444  0 11:52:40 ?        0:00 <defunct>
    root 20742 15444  2 11:53:47 ?        0:00 <defunct>
    root 20745 15444  1 11:55:50 ?        0:00 <defunct>
    root 20746 15444  1 11:56:24 ?        0:00 <defunct>
    root 20747 15444  2 11:56:25 ?        0:00 <defunct>
    root 20748 15444  1 11:59:43 ?        0:00 <defunct>
    root 20749 15444  1 11:59:45 ?        0:00 <defunct>
    root 20760 15444  0 12:07:33 ?        0:00 <defunct>
    root 20756 15444  2 12:04:10 ?        0:00 <defunct>
    root 20757 15444  1 12:04:12 ?        0:00 <defunct>
    root 20761 15444  1 12:09:49 ?        0:00 <defunct>
    root 20788 15444  1 12:22:27 ?        0:00 <defunct>
    root 20789 15444  1 12:22:28 ?        0:00 <defunct>
...

I looked at your cvsweb-log and found that following change had been done:

--------------------------------------------------------------
1.32.2.3 Tue Oct 7 11:18:26 :Australia/NSW 1997 by tridge 
CVS Tags: release-1-9-17p5, release-1-9-17p4, release-1-9-17p3; Branch:
BRANCH_1_9_17
Diffs to 1.32.2.2 ; Diffs to 1.36 

get rid of SIGCLD_IGNORE for HPUX. A user reported it causing lots
of defunct smbd processes.

Andrew


1.36 Tue Oct 7 11:14:27 :Australia/NSW 1997 by tridge 
Diffs to 1.35 

get rid of SIGCLD_IGNORE for HPUX. A user reported it causing lots
of defunct smbd processes.

Andrew

--------------------------------------------------------------

So I'm getting just the opposite results and so in my experience I would
still set this SIGCLD_IGNORE definition back on in includes.h (at least
HPUX 8.0x and 9.0x!) it has worked for years for us:
...
/* Ken Weiss <krweiss at ucdavis.edu> tells us that SIGCLD_IGNORE is
   not good for HPUX */
#define SIGCLD_IGNORE
...


(Last time I put the 'dead time = 15' that seemed to fix the problem, now I
took it off once again and the following happened again. I think using this
parameter is just a fast cure but not the solve!)


So how about you, other Samba users (besides Ken Weiss!) with HPUX, what
experiences do you have??


------
Panu Outinen                           Tel. +358 3 318 2500
Vertex Systems Oy                      Fax  +358 3 318 2450
Vaajakatu 9                            http://www.vertex.fi
33720 Tampere, FINLAND                 email: Panu.Outinen at vertex.fi



More information about the samba mailing list