Bug#821233: perlbal: FTBFS: Unable to start socket: Address already in use

2016-04-21 Thread Niko Tyni
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

2016-04-21 Thread Debian Bug Tracking System
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

2016-04-17 Thread Chris Lamb
> 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

2016-04-16 Thread Debian Bug Tracking System
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

2016-04-16 Thread gregor herrmann
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

2016-04-16 Thread Chris Lamb
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