Hi,

I have a strange phenomenon: The test t/binary.t fails from 1.4.4 for
me on Solaris 9 Sparc with Sun Studio 12. I nailed it down to this
commit causing the failure:
  
https://github.com/memcached/memcached/commit/5100e7af8802b8170adb8a7fc66232481048eab2#L1R2404
These two lines with APPEND_STAT seem to push something over the edge.
If I comment these two lines out the test binary.t succeeds. Adding
and deleting some of the APPEND_STAT lines breaks the test at
different places. With the lines from the commit that is

#   Failed test 'Expected read length'
#   at t/binary.t line 542.
#          got: '13'
#     expected: '24'

It looks like it is from the stat lines. When I print what is received
(added by me) the last receives look like this:

...
V: 129, 16, 0, 15, 0, 0, 0, 0, 0, 0, 0, 16, 156, 190, 138, 30, 0, 0,
0, 0, 0, 0, 0, 0
V: 129, 16, 0, 19, 0, 0, 0, 0, 0, 0, 0, 20, 156, 190, 138, 30, 0, 0,
0, 0, 0, 0, 0, 0
V: 129, 16, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 156, 190, 138, 30, 0, 0, 0,
0, 0, 0, 0, 0
V: 129, 16, 0, 11, 0, 0, 0, 0, 0, 0, 0, 12, 156, 190, 138, 30, 0, 0,
0, 0, 0, 0, 0, 0
V: 129, 16, 0, 5, 0, 0, 0, 0, 0, 0, 0, 6, 156, 190, 138, 30, 0, 0, 0,
0, 0, 0, 0, 0
V: 129, 16, 0, 10, 0, 0, 0, 0, 0, 0, 0, 11, 156, 190, 138, 30, 0, 0,
0, 0, 0, 0, 0, 0
V: 129, 16, 0, 11, 0, 0, 0, 0, 0, 0, 0, 12, 156, 190, 138, 30, 0, 0,
0, 0, 0, 0, 0, 0
V: 129, 16, 0, 9, 0, 0, 0, 0, 0, 0, 0, 10, 156, 190, 138, 30, 0, 0, 0,
0, 0, 0, 0, 0
V: 129, 16, 0, 9, 0, 0, 0, 0, 0, 0, 0, 10, 156, 190, 138, 30, 0, 0, 0,
0, 0, 0, 0, 0

#   Failed test 'Expected read length'
#   at t/binary.t line 542.
#          got: '13'
#     expected: '24'
V: 129, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156

That means the keylen is 0, which I don't understand. Strangely this
bug only appears on Solaris Sparc, not Solaris x86. I suspect some
kind of memory corruption.

The memcached code is complete new for me and I would need some advice
where this could come from.


Best regards

  -- Dago

Reply via email to