Subject: | Problem with $object->channel_list |
I ran the sample anyeventirccl in AnyEvent::IRC-0.7 (after changing only
the destination ircd) with the #test channel containing one member
(teh_test), and cycled that user a few times with the script running and
got these (presumably) incorrect results:
registered!
HASH(0x84c13500) += #test,net_irc3
chans: #test
nicks:
HASH(0x8916c5a0) += #test,teh_test
chans: HASH(0x84c13500);#test
nicks:
HASH(0x85a5dcc0) -= #test,teh_test
chans: HASH(0x8916c5a0);HASH(0x84c13500);#test
nicks:
HASH(0x8916c5e0) += #test,teh_test
chans: HASH(0x85a5dcc0);HASH(0x8916c5a0);HASH(0x84c13500);#test
nicks:
HASH(0x8798e2f0) -= #test,teh_test
chans:
HASH(0x85a5dcc0);HASH(0x8916c5a0);HASH(0x84c13500);#test;HASH(0x8916c5e0)
nicks:
HASH(0x82a7c6b0) += #test,teh_test
chans:
HASH(0x85a5dcc0);HASH(0x8916c5a0);HASH(0x84c13500);#test;HASH(0x8798e2f0);HASH(0x8916c5e0)
nicks:
Each time the client cycled, the channel_list becomes more and more
filled with hashrefs and nicks remains blank.
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=openbsd, osvers=4.4, archname=i386-openbsd
uname='openbsd'
config_args='-dsE -Dopenbsd_distribution=defined -Dmksymlinks'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
$ uname -a
OpenBSD godzilla.bsdhosting.local 4.4 GENERIC#1076 i386
ircd version:
Server irc.bsdhosting.local: Unreal3.2.7. FhiXeOoE [OpenBSD
godzilla.bsdhosting.local 4.4 GENERIC#1076 i386=2309]
Data::Dump ing the $self->channel_list on each cycle reveals:
{
'HASH(0x7d0262d0)' => {},
'HASH(0x89451a20)' => {},
'HASH(0x82634aa0)' => {},
'HASH(0x82634210)' => {},
'#test' => {
'teh_test' => {},
'net_irc3' => {}
},
'HASH(0x87f0f6a0)' => {}
};
(one HASH for each JOIN/cycle)
and $chan is set to:
{
'params' => [
'#test'
],
'command' => 'JOIN',
'prefix' => 'teh_test!jamesw@under-7C4EADFC'
};
on the join and
{
'params' => [
'#test',
'cycle'
],
'command' => 'PART',
'prefix' => 'teh_test!jamesw@under-7C4EADFC'
};
on part