[freeside] Re: Connection refused [SignupClient.pm] line 189

Kristian Hoffmann khoff at pc-intouch.com
Thu Jul 6 17:20:27 PDT 2000


We had the exact same problem while doing signups.  It has to do with
signal handler weirdness.  Explaination; at the top of fs_signup_server,
the signal handler for SIG_CHILD is set to do a wait().  The problems is
that when ssh process finishes, it generates a SIG_CHILD and, I dunno.
Things break.  I can't explain it better than that.  Mark's the one who
fixed this.

Anyway, here's our patch for svc_acct.pm,

...Before...
#one way
ssh("root\@$shellmachine",
    "useradd -d $dir -m -s $shell -u $uid $username"
);
#another way

...After...
#one way
my $temp = $SIG{CHLD};
undef $SIG{CHLD};
ssh("root\@$shellmachine",
    "useradd -d $dir -m -s $shell -u $uid $username"
);
$SIG{CHLD} = $temp;
#another way


You'll be able to find that in sub insert in svc_acct.pm.
I'm sure Ivan will want to clean that up, but it works.

-Kristian
<khoff at pc-intouch.com>


On Thu, 6 Jul 2000, ivan wrote:

> On Sat, Jul 08, 2000 at 08:59:40AM +1000, Johannes Strydom wrote:
> > ivan wrote:
> > 
> > > On Wed, Jul 05, 2000 at 06:03:55PM +1000, Johannes Strydom wrote:
> > > >
> > > > Hi Ivan,
> > > > I've added a couple of warn statements into fs_signup_server and
> > > > cust_main.pm and here is the result (it does'nt make much sense to me)
> > >
> > > If it doesn't make sense to you, then it certainly isn't going to make
> > > sense to me.
> > >
> > > As I said previously, since I'm unable to duplicate your problem, you'll
> > > need to find it yourself.  I suggest using the Perl debugger to step
> > > through the code until you find more specifically where it is hanging.
> > >
> > > Emailing the debugging output of your local verson to the list is not
> > > likely to help you or anyone else, sorry.
> > >
> > > Good luck!
> > >
> > > --
> > > meow
> > > _ivan
> > 
> > Ivan,
> > I've traced the program to where it stops. It stops in SSH.pm at  line 85
> > ...system(@cmd)
> > The user gets created in the shell machine and it seems that it waits for
> > the (child) process to complete.
> > 
> > Any Ideas??
> 
> Why doesn't the child process on the remote machine complete?
> 
> When you add an account using the regular web interface, does it hang on 
> waiting for the same process?
> 
> -- 
> meow
> _ivan
> 




More information about the freeside-users mailing list