test Cache::Memcached::Fast fails on Solaris 10, x86

alex at owal.co.uk alex at owal.co.uk
Fri May 23 09:13:59 UTC 2008


Hi Folks,

I'm trying to use Cache::Memcached::Fast on Solaris 10, x86 (not Sparc)
for 64 bit perl. It compiles but doesnt pass all the tests. I'd love to
hear suggestions on how to diagnose my problem.

I'm using cpan to fetch/build Cache::Memcached::Fast and I think this is
using the same C++ flags which were used to build perl itself. Most
notably  -m64


First question is why am I getting this message when connecting to the
single test server. Why does it say listening to 2 servers?

t/01-connect......# Connected to 2 memcached servers, lowest version 1.2.5

Did the server have to be started up listening on localhost:DEFAULTPORT or
realhostname:DEFAULTPORT ? Is it thinking that both exist? Is it magically
finding a memcached server on another machine? (I have three going, but I
seem to have the same message if I stop the other servers)

The first error I get is

t/commands........NOK 24/66#   Failed test at t/commands.t line 56.
#          got: '0'
#     expected: '100'


which is presumably a show-stopper. lines 55 and 56 of t/commands.t are


@res = $Memd::memd->set_multi(map { [$_, $_] } @keys);
is(@res, count);






As far as I know the server is ok - it works ok with the pure perl version.

In fact most of the test seemed to work... I can supply the debug log from
the memcached server - except it is 140K so I didnt cut and paste it into
the email :-)

Any suggestions?

Thanks

Alex






cpan[5]> test Cache::Memcached::Fast
Running test for module 'Cache::Memcached::Fast'
Running make for K/KR/KROKI/Cache-Memcached-Fast-0.10.tar.gz
Checksum for
/home/mclintoa/.cpan/sources/authors/id/K/KR/KROKI/Cache-Memcached-Fast-0.10.tar.gz
ok
x Cache-Memcached-Fast-0.10, 0 bytes, 0 tape blocks
x Cache-Memcached-Fast-0.10/typemap, 842 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/ppport.h, 154956 bytes, 303 tape blocks
x Cache-Memcached-Fast-0.10/META.yml, 361 bytes, 1 tape blocks
x Cache-Memcached-Fast-0.10/MANIFEST, 538 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/lib, 0 bytes, 0 tape blocks
x Cache-Memcached-Fast-0.10/lib/Cache, 0 bytes, 0 tape blocks
x Cache-Memcached-Fast-0.10/lib/Cache/Memcached, 0 bytes, 0 tape blocks
x Cache-Memcached-Fast-0.10/lib/Cache/Memcached/Fast.pm, 37614 bytes, 74
tape blocks
x Cache-Memcached-Fast-0.10/README, 3602 bytes, 8 tape blocks
x Cache-Memcached-Fast-0.10/Changes, 10338 bytes, 21 tape blocks
x Cache-Memcached-Fast-0.10/src, 0 bytes, 0 tape blocks
x Cache-Memcached-Fast-0.10/src/reply.kw, 659 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/src/client.c, 46207 bytes, 91 tape blocks
x Cache-Memcached-Fast-0.10/src/genparser.pl, 3795 bytes, 8 tape blocks
x Cache-Memcached-Fast-0.10/src/connect.c, 3811 bytes, 8 tape blocks
x Cache-Memcached-Fast-0.10/src/gencrc32.pl, 2161 bytes, 5 tape blocks
x Cache-Memcached-Fast-0.10/src/dispatch_key.c, 8450 bytes, 17 tape blocks
x Cache-Memcached-Fast-0.10/src/connect.h, 1132 bytes, 3 tape blocks
x Cache-Memcached-Fast-0.10/src/dispatch_key.h, 1774 bytes, 4 tape blocks
x Cache-Memcached-Fast-0.10/src/array.h, 2022 bytes, 4 tape blocks
x Cache-Memcached-Fast-0.10/src/Makefile.PL, 1226 bytes, 3 tape blocks
x Cache-Memcached-Fast-0.10/src/client.h, 4547 bytes, 9 tape blocks
x Cache-Memcached-Fast-0.10/src/array.c, 1428 bytes, 3 tape blocks
x Cache-Memcached-Fast-0.10/Makefile.PL, 623 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/script, 0 bytes, 0 tape blocks
x Cache-Memcached-Fast-0.10/script/benchmark.pl, 9268 bytes, 19 tape blocks
x Cache-Memcached-Fast-0.10/Fast.xs, 31370 bytes, 62 tape blocks
x Cache-Memcached-Fast-0.10/t, 0 bytes, 0 tape blocks
x Cache-Memcached-Fast-0.10/t/serialize.t, 1071 bytes, 3 tape blocks
x Cache-Memcached-Fast-0.10/t/00-load.t, 192 bytes, 1 tape blocks
x Cache-Memcached-Fast-0.10/t/key_ref.t, 552 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/t/utf8.t, 464 bytes, 1 tape blocks
x Cache-Memcached-Fast-0.10/t/pod.t, 221 bytes, 1 tape blocks
x Cache-Memcached-Fast-0.10/t/01-connect.t, 318 bytes, 1 tape blocks
x Cache-Memcached-Fast-0.10/t/big_value.t, 971 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/t/nowait.t, 992 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/t/commands.t, 4609 bytes, 10 tape blocks
x Cache-Memcached-Fast-0.10/t/noreply.t, 900 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/t/namespace.t, 506 bytes, 1 tape blocks
x Cache-Memcached-Fast-0.10/t/pod-coverage.t, 551 bytes, 2 tape blocks
x Cache-Memcached-Fast-0.10/t/02-isa.t, 231 bytes, 1 tape blocks
x Cache-Memcached-Fast-0.10/t/Memd.pm, 2302 bytes, 5 tape blocks

  CPAN.pm: Going to build K/KR/KROKI/Cache-Memcached-Fast-0.10.tar.gz

Checking if your kit is complete...
Looks good
'INSTALLHTMLDIR' is not a known MakeMaker parameter name.
'INSTALLSITEHTMLDIR' is not a known MakeMaker parameter name.
'INSTALLSITESCRIPT' is not a known MakeMaker parameter name.
'INSTALLVENDORHTMLDIR' is not a known MakeMaker parameter name.
Writing Makefile for Cache::Memcached::Fast::libclient
Writing Makefile for Cache::Memcached::Fast
cp lib/Cache/Memcached/Fast.pm blib/lib/Cache/Memcached/Fast.pm
cd src && /usr/ccs/bin/make LIB="" LIBPERL_A="libperl.a"
LINKTYPE="dynamic" OPTIMIZE="-O"
PREFIX="/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8"
/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/bin/perl genparser.pl
reply.kw parse_keyword.c parse_keyword.h
gcc -c  -I.  -m64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"
-fPIC
"-I/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/i86pc-solaris-64/CORE"
  parse_keyword.c
/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/bin/perl gencrc32.pl
compute_crc32.c compute_crc32.h
gcc -c  -I.  -m64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"
-fPIC
"-I/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/i86pc-solaris-64/CORE"
  compute_crc32.c
gcc -c  -I.  -m64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"
-fPIC
"-I/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/i86pc-solaris-64/CORE"
  array.c
gcc -c  -I.  -m64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"
-fPIC
"-I/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/i86pc-solaris-64/CORE"
  client.c
gcc -c  -I.  -m64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"
-fPIC
"-I/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/i86pc-solaris-64/CORE"
  connect.c
gcc -c  -I.  -m64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"
-fPIC
"-I/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/i86pc-solaris-64/CORE"
  dispatch_key.c
gar cr libclient.a parse_keyword.o compute_crc32.o  array.o  client.o 
connect.o  dispatch_key.o
granlib libclient.a
rm -rf ../blib/arch/auto/Cache/Memcached/Fast/libclient/libclient.a
/usr/sfw/bin/gar cr
../blib/arch/auto/Cache/Memcached/Fast/libclient/libclient.a
parse_keyword.o compute_crc32.o  array.o  client.o  connect.o 
dispatch_key.o && granlib
../blib/arch/auto/Cache/Memcached/Fast/libclient/libclient.a
chmod 755 ../blib/arch/auto/Cache/Memcached/Fast/libclient/libclient.a
/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/bin/perl
/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/ExtUtils/xsubpp 
-typemap
/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/ExtUtils/typemap
-typemap typemap  Fast.xs > Fast.xsc && mv Fast.xsc Fast.c
gcc -c    -m64 -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O    -DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"
-fPIC
"-I/apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/lib/5.8.8/i86pc-solaris-64/CORE"
  Fast.c
Running Mkbootstrap for Cache::Memcached::Fast ()
chmod 644 Fast.bs
rm -f blib/arch/auto/Cache/Memcached/Fast/Fast.so
gcc  -shared -G -m64 -L/usr/local/lib Fast.o  -o
blib/arch/auto/Cache/Memcached/Fast/Fast.so src/libclient.a    \
        \

chmod 755 blib/arch/auto/Cache/Memcached/Fast/Fast.so
cp Fast.bs blib/arch/auto/Cache/Memcached/Fast/Fast.bs
chmod 644 blib/arch/auto/Cache/Memcached/Fast/Fast.bs
Manifying blib/man3/Cache::Memcached::Fast.3
  KROKI/Cache-Memcached-Fast-0.10.tar.gz
  /usr/ccs/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/bin/perl
"-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')"
t/*.t
t/00-load.........ok 1/1# Testing Cache::Memcached::Fast 0.10, Perl
5.008008, /apps/tools/toolset4/SunOS.5.10.i386/perl-5.8.8/bin/perl
t/00-load.........ok
t/01-connect......# Connected to 2 memcached servers, lowest version 1.2.5
t/01-connect......ok
t/02-isa..........ok
t/big_value.......ok
t/commands........ok 1/66
t/commands........NOK 24/66#   Failed test at t/commands.t line 56.
#          got: '0'
#     expected: '100'

t/commands........NOK 27/66#   Failed test at t/commands.t line 60.
#          got: '0'
#     expected: '100'

#   Failed test 'Number of entries in result'
t/commands........NOK 30/66#   at t/commands.t line 71.
#          got: '0'
#     expected: '100'

#   Failed test at t/commands.t line 76.
t/commands........NOK 31/66#          got: '0'
#     expected: '100'

#   Failed test 'Store'
#   at t/commands.t line 83.
t/commands........NOK 32/66
#   Failed test 'Append'
#   at t/commands.t line 84.
t/commands........NOK 33/66
#   Failed test 'Fetch'
#   at t/commands.t line 85.
t/commands........NOK 34/66#          got: undef
#     expected: 'value-append'

#   Failed test 'Prepend'
#   at t/commands.t line 86.
t/commands........NOK 35/66
#   Failed test 'Fetch'
#   at t/commands.t line 87.
t/commands........NOK 36/66#          got: undef
#     expected: 'prepend-value-append'

#   Failed test 'Gets'
#   at t/commands.t line 90.
t/commands........NOK 37/66
#   Failed test 'The object isa ARRAY'
#   at t/commands.t line 91.
t/commands........NOK 38/66#     The object isn't defined
Can't use an undefined value as an ARRAY reference at t/commands.t line 92.
# Looks like you planned 66 tests but only ran 38.
# Looks like you failed 11 tests of 38 run.
# Looks like your test died just after 38.
t/commands........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 24, 27, 30-66
        Failed 39/66 tests, 40.91% okay
t/key_ref.........ok
t/namespace.......ok
t/noreply.........ok 1/3
#   Failed test 'Number of entries in result'
t/noreply.........NOK 2/3#   at t/noreply.t line 36.
#          got: '0'
#     expected: '100'

#   Failed test at t/noreply.t line 41.
t/noreply.........NOK 3/3#          got: '0'
#     expected: '100'
# Looks like you failed 2 tests of 3.
t/noreply.........dubious
        Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 2-3
        Failed 2/3 tests, 33.33% okay
t/nowait..........
#   Failed test 'Fetched all keys'
#   at t/nowait.t line 37.
t/nowait..........ok 1/5#          got: '0'
#     expected: '1000'
t/nowait..........NOK 2/5
#   Failed test 'Match results'
#   at t/nowait.t line 42.
t/nowait..........NOK 3/5#          got: '0'
#     expected: '1000'
# Looks like you failed 2 tests of 5.
t/nowait..........dubious
        Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 2-3
        Failed 2/5 tests, 60.00% okay
t/pod-coverage....skipped
        all skipped: Test::Pod::Coverage 1.08 required for testing POD
coverage
t/pod.............skipped
        all skipped: Test::Pod 1.22 required for testing POD
t/serialize.......ok
t/utf8............ok
Failed Test  Stat Wstat Total Fail  List of Failed
-------------------------------------------------------------------------------
t/commands.t  255 65280    66   67  24 27 30-66
t/noreply.t     2   512     3    2  2-3
t/nowait.t      2   512     5    2  2-3
2 tests skipped.
Failed 3/13 test scripts. 43/103 subtests failed.
Files=13, Tests=103,  4 wallclock secs ( 0.75 cusr +  0.54 csys =  1.29 CPU)
Failed 3/13 test programs. 43/103 subtests failed.
*** Error code 255
make: Fatal error: Command failed for target `test_dynamic'
  KROKI/Cache-Memcached-Fast-0.10.tar.gz
  /usr/ccs/bin/make test -- NOT OK
Failed during this command:
 KROKI/Cache-Memcached-Fast-0.10.tar.gz       : make_test NO
















lab class   1: chunk size    104 perslab 10082
slab class   2: chunk size    136 perslab  7710
slab class   3: chunk size    176 perslab  5957
slab class   4: chunk size    224 perslab  4681
slab class   5: chunk size    280 perslab  3744
slab class   6: chunk size    352 perslab  2978
slab class   7: chunk size    440 perslab  2383
slab class   8: chunk size    552 perslab  1899
slab class   9: chunk size    696 perslab  1506
slab class  10: chunk size    872 perslab  1202
slab class  11: chunk size   1096 perslab   956
slab class  12: chunk size   1376 perslab   762
slab class  13: chunk size   1720 perslab   609
slab class  14: chunk size   2152 perslab   487
slab class  15: chunk size   2696 perslab   388
slab class  16: chunk size   3376 perslab   310
slab class  17: chunk size   4224 perslab   248
slab class  18: chunk size   5280 perslab   198
slab class  19: chunk size   6600 perslab   158
slab class  20: chunk size   8256 perslab   127
slab class  21: chunk size  10320 perslab   101
slab class  22: chunk size  12904 perslab    81
slab class  23: chunk size  16136 perslab    64
slab class  24: chunk size  20176 perslab    51
slab class  25: chunk size  25224 perslab    41
slab class  26: chunk size  31536 perslab    33
slab class  27: chunk size  39424 perslab    26
slab class  28: chunk size  49280 perslab    21
slab class  29: chunk size  61600 perslab    17
slab class  30: chunk size  77000 perslab    13
slab class  31: chunk size  96256 perslab    10
slab class  32: chunk size 120320 perslab     8
slab class  33: chunk size 150400 perslab     6
slab class  34: chunk size 188000 perslab     5
slab class  35: chunk size 235000 perslab     4
slab class  36: chunk size 293752 perslab     3
slab class  37: chunk size 367192 perslab     2
slab class  38: chunk size 458992 perslab     2
<4 server listening
<7 server listening
<8 send buffer was 57344, now 2097152
<8 server listening (udp)
<9 new client connection
<10 new client connection
<9 version
>9 VERSION 1.2.5
<10 version
>10 VERSION 1.2.5
<9 connection closed.
<10 connection closed.
<9 new client connection
<10 new client connection
<9 version
>9 VERSION 1.2.5
<10 version
>10 VERSION 1.2.5
<9 connection closed.
<10 connection closed.
<9 new client connection
<10 new client connection
<9 version
>9 VERSION 1.2.5
<10 version
>10 VERSION 1.2.5
<10 set Cache::Memcached::Fast/8849/big_value 0 0 2000000
>10 SERVER_ERROR object too large for cache
<10 set Cache::Memcached::Fast/8849/big_value 0 0 500000
>10 STORED
<10 get Cache::Memcached::Fast/8849/big_value
>10 sending key Cache::Memcached::Fast/8849/big_value
>10 END
<10 set Cache::Memcached::Fast/8849/big_value 2 0 518
>10 STORED
<10 get Cache::Memcached::Fast/8849/big_value
>10 sending key Cache::Memcached::Fast/8849/big_value
>10 END
<10 delete Cache::Memcached::Fast/8849/big_value 0
>10 DELETED
<9 connection closed.
<10 connection closed.
<9 new client connection
<10 new client connection
<9 version
>9 VERSION 1.2.5
<10 version
>10 VERSION 1.2.5
<9 delete Cache::Memcached::Fast/8850/commands 0
>9 NOT_FOUND
<9 add Cache::Memcached::Fast/8850/commands 0 0 2
>9 STORED
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 set Cache::Memcached::Fast/8850/commands 0 0 2
>9 STORED
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 replace Cache::Memcached::Fast/8850/commands 0 0 2
>9 STORED
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 incr Cache::Memcached::Fast/8850/commands 1
>9 1
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 incr Cache::Memcached::Fast/8850/commands 5
>9 6
<9 incr Cache::Memcached::Fast/8850/no-such-key 5
>9 NOT_FOUND
<9 incr Cache::Memcached::Fast/8850/no-such-key 5
>9 NOT_FOUND
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 decr Cache::Memcached::Fast/8850/commands 1
>9 5
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 decr Cache::Memcached::Fast/8850/commands 2
>9 3
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 decr Cache::Memcached::Fast/8850/commands 100
>9 0
<9 decr Cache::Memcached::Fast/8850/commands 100
>9 0
<9 get Cache::Memcached::Fast/8850/commands
>9 sending key Cache::Memcached::Fast/8850/commands
>9 END
<9 connection closed.
<10 connection closed.
<9 new client connection
<10 new client connection
<10 connection closed.
<9 connection closed.
<9 new client connection
<10 new client connection
<10 connection closed.
<9 connection closed.
<9 new client connection
<10 new client connection
<9 version
>9 VERSION 1.2.5
<10 version
>10 VERSION 1.2.5
<9 set Cache::Memcached::Fast/8851/key_ref 0 0 15
>9 STORED
<9 get Cache::Memcached::Fast/8851/key_ref
>9 sending key Cache::Memcached::Fast/8851/key_ref
>9 END
<9 delete Cache::Memcached::Fast/8851/key_ref 0
>9 DELETED
<9 connection closed.
<10 connection closed















More information about the memcached mailing list