This queue is for tickets about the IO-AIO CPAN distribution.

Report information
The Basics

Nobody in particular
p.limorenko [...]

(no value)
Broken in:
(no value)
Fixed in:
(no value)

Subject: Issue
Date: Wed, 16 Dec 2015 15:46:25 +0300
From: Pavel Limorenko <>
Hi, developers.
It seems like I found a bug in IO::AIO module, which was reproduced by me on CentOS 7 Linux distribution. The following environment:

uname -a
Linux mymachine 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi

So, a little perl script to reproduce:

use strict;
use warnings;

use AnyEvent;
use AnyEvent::IO;

warn $AnyEvent::VERSION;

my $cv = AnyEvent->condvar();
AnyEvent::IO::aio_stat ('/etc/hosts', sub { warn "i'm free!::: @_"; $cv->send() });
my $pid = fork;
defined $pid or die $!;
exit if $pid;

$cv = AnyEvent->condvar();
AnyEvent::IO::aio_stat ('/etc/hosts', sub { warn "i'm free!2::: @_"; $cv->send() });

The output is the following:

7.11 at line 9.
4.32 at line 10.
i'm free!::: 1 at line 12.

Where is the second message? :)
Also I tried this one script on my Centos 6 machine, where my big application worked just fine,
(with environment:
uname -a
Linux 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

perl -v
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
and the output was expectable:

7.04 at line 9.
Use of uninitialized value $IO::AIO::VERSION in warn at line 10.
Warning: something's wrong at line 10.
i'm free!::: 2050 11273496 33188 1 0 0 0 190 1450185241 1450185236 1450185236 4096 8 at line 12.
i'm free!2::: 2050 11273496 33188 1 0 0 0 190 1450185241 1450185236 1450185236 4096 8 at line 19.

(warnings are present (as I understand) because there is no standalone module IO::AIO in 7.04 version of AnyEvent, it is included somewhere).

Anyway, problem exists.
My little research showed that before forking there one extra thread in perl process (called perl/eio). After fork done there is only one thread in process. In Centos 6 there is no any extra thread. Also I tried to use on CentOS 7 old version of AnyEvent and IO::AIO (as on CentOS 6, 7.04) -- the result is the same.

I think something went wrong :)
Thanks for reading me. I hope this would help.

Best regards, Pavel.
Subject: Re: [ #110377] Issue
Date: Wed, 16 Dec 2015 19:53:46 +0100
To: Pavel Limorenko via RT <>
From: Marc Lehmann <>
Hi! Please send your bug report to the official contact/author address for the module in question (or send it to, that's fine as well). What follows is the rationale for this request, you don't have to read it if you don't care. Why is this necessary? has many deficiencies which makes it tedious and hard to use, increasing the workload on the people who provide all the perl modules you probably appreciate (and that is really to be avoided - module authors should be able to invest all their time into improving their modules and not fighting with's bugs). Still, for some people, is useful to have, and some people even like it and really want to use it. That is fine, too. Unfortunately, the designers of didn't make their "service" optional - you can neither opt-in nor opt-out of as a module author. Just like a spammer, forces its "service" (whether wanted or unwanted) on everybody. Just like a spammer, they don't care for the people they actively hurt. Just like a spammer, they don't don't care to fix these issues and make their "service" ethically acceptable. You cannot even configure it to redirect tickets to somewhere else. Unfortunately, ignoring is not an option either: for people reporting possible bugs there is no indication that their report will be ignored, and for module authors it means they miss potentially vital bug reports such as yours (and of course it's a great impression if has lots of bug reports that are unanswered, making a module look unmaintained when in fact the opposite might be true). I am sorry that this wasted a bit of your time, but please understand that I am just as much a victim as you are - the problem is the unethical stance of the providers who force their "service" on everybody. Please redirect your bug report as stated in the beginning of this mail, and please consider petitioning the providers to stop their unethical behaviour and allow opt-in, opt-out, or some redirect option. One last issue: many people mail me that this can be "fixed" by including the bugtracker element in my module meta file. This is not true: 1. This field only affects and maybe similar services. (Many people confuse with for some reason). 2. It doesn't even work (there are still links to displayed). 3. Even if does no longer display the link, it doesn't actually affect (and tests have shown that people go to regardless) Even *iff* would start listening on the bugtracker field, however, it's still wrong. I have a lot of modules, and each time a service like comes out, I would have to make dummy releases for all my modules. This not only creates a lot of extra work for me (I take releases very seriously) but also users, who would wonder why there is a new release. Thanks a lot, Marc Lehmann <> Last updated: 2012-04-22

This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with to