Bug#821233: perlbal: FTBFS: Unable to start socket: Address already in use
Control: reopen -1 Control: severity -1 important On Sun, Apr 17, 2016 at 12:41:15AM +0200, gregor herrmann wrote: > Control: tag -1 + unreproducible > > On Sat, 16 Apr 2016 23:23:50 +0100, Chris Lamb wrote: > > > perlbal fails to build from source in unstable/amd64: > > > Didn't get 200 OK: GET /reqdecr,status HTTP/1.0 > > Unable to start socket: Address already in use > > # Looks like your test exited with 29 before it could output anything. > > t/32-selector.t .. > > 1..38 > > Dubious, test returned 29 (wstat 7424, 0x1d00) > > Failed 38/38 subtests > > The tests pass for me, both during build and in autopkgtest. It has just failed on ci.debian.net in the same way for the first time in a year or so. I can (eventually) reproduce it locally by running t/32-selector.t in a loop. Caught it with strace, and it looks like - the main process checks that the local port (in my case 60070) is free in Perlbal::Test::test_port() by making a new socket there and closing it immediately - later, in Perlbal::Test::WebServer::start_webserver() a server child process is forked off and then the main process tries to connect it. It gets a connection on something which doesn't respond properly but rather echoes the request back - in parallel but a bit later, the child process starts a server but gets EADDRINUSE from bind(2). I'm not aware of having any other process running that's greedy for local ports, and it seems really improbable that something would hit by chance in the window between the first check and the actual use. I wonder if the kernel is just slow to actually release the port after the first check. But surely at least the connect(2) call should have failed when the port was already closed. And why does the peer look like an echo service? I'm reopening but downgrading this. Perhaps we should just have start_webserver() retry a couple of times somehow if it fails the first time. -- Niko Tyni nt...@debian.org
Processed: Re: Bug#821233: perlbal: FTBFS: Unable to start socket: Address already in use
Processing control commands: > reopen -1 Bug #821233 {Done: Chris Lamb } [src:perlbal] perlbal: FTBFS: Unable to start socket: Address already in use Bug reopened Ignoring request to alter fixed versions of bug #821233 to the same values previously set > severity -1 important Bug #821233 [src:perlbal] perlbal: FTBFS: Unable to start socket: Address already in use Severity set to 'important' from 'serious' -- 821233: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=821233 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#821233: perlbal: FTBFS: Unable to start socket: Address already in use
> The tests pass for me, both during build and in autopkgtest. The failed on yesterday's sid, but pass today. :) Closing in Bcc.. Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
Processed: Re: Bug#821233: perlbal: FTBFS: Unable to start socket: Address already in use
Processing control commands: > tag -1 + unreproducible Bug #821233 [src:perlbal] perlbal: FTBFS: Unable to start socket: Address already in use Added tag(s) unreproducible. -- 821233: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=821233 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#821233: perlbal: FTBFS: Unable to start socket: Address already in use
Control: tag -1 + unreproducible On Sat, 16 Apr 2016 23:23:50 +0100, Chris Lamb wrote: > perlbal fails to build from source in unstable/amd64: > Didn't get 200 OK: GET /reqdecr,status HTTP/1.0 > Unable to start socket: Address already in use > # Looks like your test exited with 29 before it could output anything. > t/32-selector.t .. > 1..38 > Dubious, test returned 29 (wstat 7424, 0x1d00) > Failed 38/38 subtests The tests pass for me, both during build and in autopkgtest. Cheers, gregor -- .''`. Homepage https://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - https://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Donovan: Suzanne signature.asc Description: Digital Signature
Bug#821233: perlbal: FTBFS: Unable to start socket: Address already in use
Source: perlbal Version: 1.80-3 Severity: serious Justification: fails to build from source User: reproducible-bui...@lists.alioth.debian.org Usertags: ftbfs X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org Dear Maintainer, perlbal fails to build from source in unstable/amd64: [..] ok 5 - single GET okay ok 6 - got signal ok 7 - 200 to POST w/ pipelined GET after ok 8 - didn't get signal from GET after POST ok 9 - 200 to POST w/ pipelined GET after ok 10 - didn't get signal from GET after POST ok 11 - single GET okay ok 12 - pipelined when not expecting it ok Didn't get 200 OK: GET /reqdecr,status HTTP/1.0 Unable to start socket: Address already in use # Looks like your test exited with 29 before it could output anything. t/32-selector.t .. 1..38 Dubious, test returned 29 (wstat 7424, 0x1d00) Failed 38/38 subtests t/35-reproxy.t ... ok 1 - web servers started beginning run ok 2 - perlbal started ok 3 - status response ok ok 4 - file good via disk ok 5 - file good via network ok 6 - reproxy file ok 7 - ... and keep-alives are on ok 8 - reproxy file ok 9 - ... and keep-alives are on ok 10 - 2 on same conn ok 11 - reproxy URL ok 12 - response code is 200 ok 13 - ... and keep-alives are on ok 14 - reproxy URL ok 15 - response code is 200 ok 16 - ... and keep-alives are on ok 17 - 4 on same conn ok 18 - reproxy URL ok 19 - 204 response code is 200 ok 20 - ... and keep-alives are on ok 21 - reproxy URL ok 22 - 204 response code is 200 ok 23 - ... and keep-alives are on ok 24 - Prior to first hit, counter should be zero. ok 25 - reproxy with cache: One ok 26 - ... and keep-alives are on ok 27 - Got a response ok 28 - reproxy with cache ims, got 304 correctly: One ok 29 - ... and keep-alives are on ok 30 - First hit to populate the cache. ok 31 - reproxy with cache: Two ok 32 - ... and keep-alives are on ok 33 - Got a response ok 34 - reproxy with cache ims, got 304 correctly: Two ok 35 - ... and keep-alives are on ok 36 - Second hit should be cached. ok 37 - Prior to third hit, counter should still be 1. ok 38 - reproxy with cache: Three ok 39 - ... and keep-alives are on ok 40 - Got a response ok 41 - reproxy with cache ims, got 304 correctly: Three ok 42 - ... and keep-alives are on ok 43 - Third hit isn't cached, now 2. ok 44 - reproxy with cache: Four ok 45 - ... and keep-alives are on ok 46 - Got a response ok 47 - reproxy with cache ims, got 304 correctly: Four ok 48 - ... and keep-alives are on ok 49 - Forth hit should be cached again, still 2. ok 50 - status ok ok 51 - status ok ok 52 - reproxy file ok 53 - ... and keep-alives are on ok 54 - reproxy URL ok 55 - response code is 200 ok 56 - ... and keep-alives are on ok 57 - status ok ok 58 - reproxy URL ok 59 - response code is 200 ok 60 - ... and keep-alives are on ok 61 - reproxy URL ok 62 - response code is 200 ok 63 - ... and keep-alives are on ok 64 - reproxy file ok 65 - ... and keep-alives are on ok 66 - reproxy file ok 67 - ... and keep-alives are on ok 68 - reproxy URL ok 69 - response code is 200 ok 70 - ... and keep-alives are on ok 71 - reproxy file ok 72 - ... and keep-alives are on ok 73 - status ok ok 74 - AIO mode none: 9 transitions ok 75 - status ok ok 76 - status ok ok 77 - reproxy file ok 78 - ... and keep-alives are on ok 79 - reproxy URL ok 80 - response code is 200 ok 81 - ... and keep-alives are on ok 82 - status ok ok 83 - reproxy URL ok 84 - response code is 200 ok 85 - ... and keep-alives are on ok 86 - reproxy URL ok 87 - response code is 200 ok 88 - ... and keep-alives are on ok 89 - reproxy file ok 90 - ... and keep-alives are on ok 91 - reproxy file ok 92 - ... and keep-alives are on ok 93 - reproxy URL ok 94 - response code is 200 ok 95 - ... and keep-alives are on ok 96 - reproxy file ok 97 - ... and keep-alives are on ok 98 - status ok ok 99 - AIO mode ioaio: 9 transitions ok 100 - reproxy URL w/ dead one first ok 101 - ... and keep-alives are on ok 102 - reproxy URL w/ 404 one first ok 103 - no response body when req method is HEAD 1..103 ok t/40-ranges.t 1..35 beginning run ok 1 - perlbal started ok 2 - backend port added ok 3 - status response ok ok 4 - file good via disk ok 5 - file good via network ok 6 - http/none: range bytes=0-6 ok 7 - is partial ok 8 - http/none: range bytes=31- ok 9 - is partial ok 10 - http/none: can't satisify ok 11 - http/none: can't satisify ok 12 - http/ioaio: range bytes=0-6 ok 13 - is partial ok 14 - http/ioaio: range bytes=31- ok 15 - is partial ok 16 - http/ioaio: can't satisify ok 17 - http/ioaio: can't satisify ok 18 - rp_file/none: range bytes=0-6 ok 19 - is partial ok 20 - rp_file/none: range bytes=31- ok 21 - is partial ok 22 - rp_file/none: ca