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
