With 2.4.7 happens every time when running 'make test'.
Linux 3.0.0-12-virtual #20-Ubuntu SMP Fri Oct 7 18:19:02 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Snippet below, and full output here: https://gist.github.com/1738975
[4697] 04 Feb 17:02:09 * Saving the final RDB snapshot before exiting.
Logged warnings (pid 4685): [4685] 04 Feb 17:02:09 # Received SIGTERM, scheduling shutdown...
Logged warnings (pid 4652): [4652] 04 Feb 17:02:10 # Received SIGTERM, scheduling shutdown...
[exception]: Executing test client: Bad protocol, as reply type byte. Bad protocol, as reply type byte
Comment From: ElliotChong
Seeing the same issue in 2.4.8
Comment From: sebastiansito
Same here in 2.4.8. Barebone EC2 Linux Ami with make and gcc installed.
Comment From: coling
Yup same here it seems. x86_64 if it matters & gcc-4.7.1
Comment From: meltzerj
same error on EC2 Linux... have you guys found this error to have an impact?
Comment From: coling
To be honest found it to be temperamental, likely timing based. Some builds it passed, some it failed. I've updated to latest stable here and the build passed. Not tried any more on our build cluster yet (one build was enough!)
Comment From: meltzerj
It actually threw this error on the latest stable version for me (v. 2.4.15). Which version are you using?
Comment From: meltzerj
I also just built v. 2.2.15 and same error. I'm on an Amazon Linux AMI micro instance.
Comment From: coling
I was using 2.4.7 when I saw the error but it was sporadic. Some builds had the error some didn't. I've not seen the error with 2.4.15 but I suspect it would show up again if I did enough builds.
Comment From: jamesstarr
I see the same flaky behavior coling describes, where some time the unit test pass. I am building 2.4.15.
Comment From: zuthan
I just got this same error: Executing test client: Bad protocol, '' as reply type byte. when trying to build 2.5.12 (2.6 RC6). The next time I tried to build I got a different error (might be completely unrelated).
Comment From: pjungwir
I just saw this error running make test on 2.6.0-rc8, here:
[exception]: Executing test client: Bad protocol, '' as reply type byte.
Bad protocol, '' as reply type byte
while executing
"::redis::redis_read_reply $fd"
(procedure "::redis::__dispatch__" line 23)
invoked from within
"[srv $level "client"] {*}$args"
(procedure "r" line 7)
invoked from within
"r -1 debug digest"
. . .
This is on a 64-bit Ubuntu 12.04 LTS EC2 image.
Comment From: quanticle
I'm running Ubuntu 12.04 LTS 32 bit on a VirtualBox VM and I'm compiling Redis 2.6.2. For me, the error occurs every time I run make test.
[exception]: Executing test client: Bad protocol, '' as reply type byte.
Bad protocol, '' as reply type byte
while executing
"::redis::redis_read_reply $fd"
(procedure "::redis::__dispatch__" line 23)
invoked from within
"[srv $level "client"] {*}$args"
(procedure "r" line 7)
invoked from within
"r -1 debug digest"
("uplevel" body line 6)
invoked from within
"uplevel 1 $code"
(procedure "test" line 29)
invoked from within
"test {MASTER and SLAVE consistency with expire} {
createComplexDataset r $numops useexpire
after 4000 ;# Make sure everything ..."
("uplevel" body line 10)
invoked from within
"uplevel 1 $code "
(procedure "start_server" line 3)
invoked from within
"start_server {} {
test {First server should have role slave after SLAVEOF} {
r -1 slaveof [srv 0 host] [srv 0 port]
af..."
("uplevel" body line 2)
invoked from within
"uplevel 1 $code "
(procedure "start_server" line 3)
invoked from within
"start_server {tags {"repl"}} {
start_server {} {
test {First server should have role slave after SLAVEOF} {
r -1 slaveof [srv ..."
(file "tests/integration/replication-3.tcl" line 1)
invoked from within
"source $path"
(procedure "execute_tests" line 4)
invoked from within
"execute_tests $data"
(procedure "test_client_main" line 9)
invoked from within
"test_client_main $::test_server_port "
make[1]: *** [test] Error 1
make[1]: Leaving directory `/home/quanticle/redis-2.6.2/redis-2.6.2/src'
make: *** [test] Error 2
Comment From: soiitaire
same error on centos 6.3 in VirtualBox
Comment From: pmontrasio
Same error with version 2.6.6 on Debian 6.0.6 32-bit in VirtualBox 4.2.6
Comment From: sente
Ubuntu 12.04 LTS 64bit reporting in
Comment From: jaivikram
Same error on Ubuntu12.04 LTS 64bit on Amazon ec2
Comment From: antirez
I've a Virtual Box Linux instance, I'm trying there to see if I can reproduce it, Thanks.
Comment From: antirez
I can't reproduce, but I made a change in the github 2.6 branch that may fix this issue. Please could you try? Thank you.
Comment From: pjungwir
Hi @antirez, I thought I'd pop onto one of my EC2 instances and test 2.6.10, but it seemed to require a lot more work to build than before. I had to run make in each deps/* dir individually, and it looks like I need to run make install in each one before running tests. Is this expected? I don't see any notes about this in the README.
Comment From: badboy
@pjungwir That's definitely not expected. make in the main directory should build all dependencies, make install should install the redis-server and redis-cli binary (which are self-contained, no extra installed packages needed).
Just tried make on a clean git checkout and it worked just fine.
Comment From: pjungwir
Okay, just built 2.6.10 on a fresh instance (still Ubuntu 12.04 64-bit), and this time simple make did the trick, and all tests passed. I remember the first time around I did something like this:
$ make
make not found
$ sudo apt-get install make
$ make
cc not found
$ sudo apt-get install build-essential
$ make
jemalloc.h not found
On yet another fresh instance, I confirmed that if I try building before installing build-essential, it gets the source repo into a weird state where it fails due to these missing dependencies. make clean doesn't fix it, but make distclean does. Not sure you care, but perhaps it will help someone else who hits that problem: install build-essential first, and if you forget, do a distclean.
Thanks for Redis, btw. It's great software!
Comment From: l0b0
Another failure on Amazon EC2 Red Hat Enterprise Linux 6.4 64 bit micro instance (maybe it's running out of memory?):
make -C /.../redis
cd /.../redis
./runtest
...
[exception]: Executing test client: Bad protocol, as reply type byte.
Bad protocol, as reply type byte
while executing
"::redis::redis_read_reply $fd"
(procedure "::redis::__dispatch__" line 23)
invoked from within
"[srv $level "client"] {*}$args"
(procedure "r" line 7)
invoked from within
"r -1 debug digest"
("uplevel" body line 4)
invoked from within
"uplevel 1 $code"
(procedure "test" line 29)
invoked from within
"test {MASTER and SLAVE dataset should be identical after complex ops} {
createComplexDataset r 10000
after 500
if ..."
("uplevel" body line 8)
invoked from within
"uplevel 1 $code "
(procedure "start_server" line 3)
invoked from within
"start_server {} {
test {First server should have role slave after SLAVEOF} {
r -1 slaveof [srv 0 host] [srv 0 port]
af..."
("uplevel" body line 2)
invoked from within
"uplevel 1 $code "
(procedure "start_server" line 3)
invoked from within
"start_server {tags {"repl"}} {
start_server {} {
test {First server should have role slave after SLAVEOF} {
r -1 slaveof [srv ..."
(file "tests/integration/replication-2.tcl" line 1)
invoked from within
"source $path"
(procedure "execute_tests" line 4)
invoked from within
"execute_tests $data"
(procedure "test_client_main" line 9)
invoked from within
"test_client_main $::test_server_port "
Tried to killall redis-server, make distclean and make clean before rerunning, but got the same result.
Comment From: yoav-steinberg
Closing this, very old, doesn't happen on our CI.