Test script attached.  I get crashes of perl 5.8.2 with the following
output:

perl test.pl
debug client connected
debug processing command 'PAGE 5555555555'
debug processing command 'MESS TEST'
debug processing command 'SEND '
debug processing command 'QUIT '
Unbalanced string table refcount: (3) for "IO::Select" during global destruction.
Attempt to free non-existent shared string 'IO::Select' during global destruction.
Attempt to free non-existent shared string 'IO::Select' during global destruction.
Attempt to free non-existent shared string 'IO::Select' during global destruction.

I found a reference to this on google, but with no solution:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&th=5f61fd7e8929bab9&rnum=4

I'll test patches if there are any.

-Al Tobey
-------------------------------

perl -V

Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
  Platform:
    osname=linux, osvers=2.4.21-4.0.1.elsmp, archname=i686-linux-thread-multi
    uname='linux loach 2.4.21-4.0.1.elsmp #1 smp thu oct 23 01:27:36 edt 2003 i686 
i686 i386 gnulinux '
    config_args='-der'
    hint=previous, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O3',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -I/usr/local/include 
-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE 
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux 3.2.3-20)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Built under linux
  Compiled at Dec  5 2003 12:38:28
  @INC:
    /opt/perl-5.8.2/lib/5.8.2/i686-linux-thread-multi
    /opt/perl-5.8.2/lib/5.8.2
    /opt/perl-5.8.2/lib/site_perl/5.8.2/i686-linux-thread-multi
    /opt/perl-5.8.2/lib/site_perl/5.8.2
    /opt/perl-5.8.2/lib/site_perl
    .




** ** **  PRIVILEGED AND CONFIDENTIAL  ** ** **
This email transmission contains privileged and confidential information 
intended only for the use of the individual or entity named above.  Any 
unauthorized review, use, disclosure or distribution is prohibited and 
may be a violation of law.  If you are not the intended recipient or a 
person responsible for delivering this message to an intended recipient, 
please delete the email and immediately notify the sender via the email 
return address or mailto:[EMAIL PROTECTED]  Thank you.

#!/usr/local/bin/perl -w
use strict;
use threads;
use Net::SNPP;
use Net::SNPP::Server;

my $server = threads->create( \&make_server );
sleep 1;
my $client = threads->create( \&make_client );

$client->join();
$server->join();

exit 0;

sub make_server {
    my $server = Net::SNPP::Server->new(
        Port => 20001,
        BindTo => 'localhost'
    );
    my $client = $server->client();
    $server->handle_client( $client );
}

sub make_client {
    threads->self->yield;
    my $client = Net::SNPP->new( 'localhost', Port=>20001 );
    $client->send( Pager=>5555555555, Message=>"TEST" );
    $client->quit;
}

Reply via email to