[ic] Verisign double, triple charges, sendmail and pgp failing - SOLVED

Ron Phipps interchange-users@interchange.redhat.com
Thu Mar 7 00:47:00 2002


Mike over the last few weeks worked closely with myself and Orko from
the list to figure out and fix the problem I posted about back in
September.  This problem caused PGP and Sendmail to fail abnormally.
The problem also caused duplicate charges in verisign as well as single
charges with no order being stored in IC.  This problem was not seen in
IC 4.6.x but reared its ugly head in IC 4.8.x.

Orko graciously allowed us to send him fixes to be tested on his live
server.  We went through several iterations of applying patches,
changing process limits and adding logging to try and figure out what
was going on.  Originally Mike suspected it was a problem with the
Autouse setup in bin/interchange which changed from 4.6.x to 4.8.x for
the Order (encrypt, send email, chare card) functions.  We were very
excited to see this difference only to find out it was not the cause :(

Mike pressed on and went on to look at the per user process limits.
After failing to find any messages that the limit was being hit and
being unable to raise the maximum Mike decided we should move on.

One of the last things we tried was to set MaxServers to 0.  This change
forces Interchange to not use signals to determine how many servers are
running.  Mike's suspicion was that a well known problem with Perl
signal handling was causing these external programs to fail.  After
running this setting on a live server for two days we saw no orders with
the problem (which was unheard for this server!).  Mike then asked us to
try rpc mode with MaxServers set to 0.  The reasoning behind this was
that a server could spin out of control in low or high traffic mode if
MaxServers is set to 0 but in rpc mode this is not an issue.  Orko ran
MaxServers 0 and RPC mode for another day without any problem orders
occurring.

It's a mystery why this signal handling does not work in the current
scenario and Mike came to the conclusion that this is the fix if you are
experiencing the problems described above.  Please make the following
change to interchange.cfg (notice the new MaxServers setting in the rpc
mode):

Variable TRAFFIC rpc

ifdef TRAFFIC =~ /rpc/i
Message RPC traffic settings.
PreFork             Yes
StartServers        5   
MaxRequestsPerChild 100
HouseKeeping        2
PIDcheck            120
MaxServers          0
endif

Thank you to Orko for providing his live server for testing and to Mike
for sticking with us until the problem was solved.

-Ron