On Sun, 30 Nov 2014 17:36:04 +0100, Alessandro Ghedini wrote: > On dom, nov 30, 2014 at 03:06:55 +0100, Tobias Frost wrote: > > Am Sonntag, den 30.11.2014, 00:21 -0800 schrieb Tom Lee:
> > > Also, I feel like the "serious" severity is overstating the issue > > > given that 0.11.0-4 builds fine in buildd/sbuild. Alessandro pointed > > > out the periodic rebuilds would have revealed this issue otherwise. > > > > > > > > If there are no objections I'd like to propose we adjust the severity > > > of this bug to "normal" & leave the fix for this particular bug until > > > after the Jessie freeze. > > > > Here I can reprodcue the FTBFS locally with pbuilder 0.215+nmu3, so > > I disagree. It maybe has not been detected *yet*? > > What does this "yet" even mean? Except inside pbuilder, hiredis builds fine > [1]. > The fact that it fails *only* inside pbuilder (and the fact that hiredis is > not > the only package in this situation) suggests that this is indeed a pbuilder > bug. > I really don't see how this is release critical in any way on the part of the > hiredis package. While I tend to agree in general, here's an additional data point: I rebuilt 0.11.0-4 in my sid amd64 cowbuilder chroot, which has USENETWORK=yes (due to #753944) but firewalls off everything except localhost during build. And in this environment I see a test failure: make check make[2]: Entering directory '/tmp/buildd/hiredis-0.11.0' echo \ "daemonize yes\n" \ "pidfile /tmp/hiredis-test-redis.pid\n" \ "port 56379\n" \ "bind 127.0.0.1\n" \ "unixsocket /tmp/hiredis-test-redis.sock" \ | redis-server - ./hiredis-test -h 127.0.0.1 -p 56379 -s /tmp/hiredis-test-redis.sock || \ ( kill `cat /tmp/hiredis-test-redis.pid` && false ) #01 Format command without interpolation: PASSED #02 Format command with %s string interpolation: PASSED #03 Format command with %s and an empty string: PASSED #04 Format command with an empty string in between proper interpolations: PASSED #05 Format command with %b string interpolation: PASSED #06 Format command with %b and an empty string: PASSED #07 Format command with literal %: PASSED #08 Format command with printf-delegation (int): PASSED #09 Format command with printf-delegation (char): PASSED #10 Format command with printf-delegation (short): PASSED #11 Format command with printf-delegation (long): PASSED #12 Format command with printf-delegation (long long): PASSED #13 Format command with printf-delegation (unsigned int): PASSED #14 Format command with printf-delegation (unsigned char): PASSED #15 Format command with printf-delegation (unsigned short): PASSED #16 Format command with printf-delegation (unsigned long): PASSED #17 Format command with printf-delegation (unsigned long long): PASSED #18 Format command with printf-delegation (float): PASSED #19 Format command with printf-delegation (double): PASSED #20 Format command with invalid printf format: PASSED #21 Format command by passing argc/argv without lengths: PASSED #22 Format command by passing argc/argv with lengths: PASSED #23 Error handling in reply parser: PASSED #24 Memory cleanup in reply parser: PASSED #25 Set error on nested multi bulks with depth > 7: PASSED #26 Works with NULL functions for reply: PASSED #27 Works when a single newline (\r\n) covers two calls to feed: PASSED #28 Don't reset state after protocol error: PASSED #29 Don't do empty allocation for empty multi bulk: PASSED #30 Returns error when host cannot be resolved: FAILED #31 Returns error when the unix socket path doesn't accept connections: PASSED [..] which seems to be the same as what Daniel originally reported. Adding a printf statement to test.c shows: #30 Returns error when host cannot be resolved: FAILED ERROR: Temporary failure in name resolution test.c currently looks for "Name or service not known" or "Can't resolve: idontexist.local" but not for what I get here ... Not sure what the best way forward is; adding a test for "Temporary failure in name resolution" might be an option (and works unsurprisingly): #v+ --- a/test.c +++ b/test.c @@ -286,7 +286,8 @@ c = redisConnect((char*)"idontexist.local", 6379); test_cond(c->err == REDIS_ERR_OTHER && (strcmp(c->errstr,"Name or service not known") == 0 || - strcmp(c->errstr,"Can't resolve: idontexist.local") == 0)); + strcmp(c->errstr,"Can't resolve: idontexist.local") == 0 || + strcmp(c->errstr,"Temporary failure in name resolution") == 0)); redisFree(c); /*test("Returns error when the port is not open: "); #v- But maybe there are better ways to fix this. Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Spider Murphy Gang: Rock'n Roll Rendevouz
signature.asc
Description: Digital Signature