plack / Plack

PSGI toolkit and server adapters
http://plackperl.org/
Other
486 stars 214 forks source link

Warning with Plack::App::WrapCGI and perl 5.20.0 #468

Closed eserte closed 9 years ago

eserte commented 10 years ago

There are new warnings when using Plack::App::WrapCGI with perl 5.20.0:

Use of uninitialized value in syswrite at /home/travis/perl5/perlbrew/perls/5.20/lib/site_perl/5.20.0/Plack/App/WrapCGI.pm line 56, <$io> line 1.

The same system does not emit these warnings on perl 5.18.2 or older.

Please let me hear if you need more details.

miyagawa commented 9 years ago

I can't seem to be able to reproduce.

rshingleton commented 9 years ago

e15:46:26 Use of uninitialized value in syswrite at /home/perl5/perls/mod_perl-5.20.0/lib/site_perl/5.20.0/Plack/App/WrapCGI.pm line 56, <$io> line 1.

I'm experiencing the same issue.

miyagawa commented 9 years ago

I cannot reproduce the same error and "I'm having the same issue" is not a helpful report at all.

rshingleton commented 9 years ago

You're right, I apologize for my lack of information. I was trying to point out that this was not a lone occurrence.

I get the error on any request to a wrapped cgi call.

System Info: CentOS release 5.8 (Final)

PerlBrew install: perl-5.20.0 Installed with the following options: -n --switch -D-A -Dccflags=-fPIC -f -Duseshrplib

Known Perl Non-Standard Modules: Dancer Net::LDAP Archive::Zip Authen::SASL JSON SOAP::Lite Spreadsheet::ParseExcel Spreadsheet::XLSX XML::Simple Plack::Runner YAML Dancer::Session::Storable Template Dancer::Template::TemplateToolkit MooX MooX::Singleton DateTime DateTime::Format::MySQL Class::HPLOO::Base DBD DBD::mysql FindBin Plack::Handler::Apache2 FCGI Starman Daemon::Control Plack::App::CGIBin Plack::Builder CGI::Emulate::PSGI CGI::Compile DBIx::Connector DBIx::Simple DBIx::Custom Net::SSH::Perl Net::SCP Net::OpenSSH Plack::Middleware::XForwardedFor

Installed system packages (yum list installed): Loaded plugins: fastestmirror, security Packages GConf2.i386 2.14.0-9.el5
GConf2.x86_64 2.14.0-9.el5
MAKEDEV.x86_64 3.23-1.2
NetworkManager.i386 1:0.7.0-13.el5
NetworkManager.x86_64 1:0.7.0-13.el5
NetworkManager-glib.i386 1:0.7.0-13.el5
NetworkManager-glib.x86_64 1:0.7.0-13.el5
ORBit2.i386 2.14.3-5.el5
ORBit2.x86_64 2.14.3-5.el5
OpenIPMI.x86_64 2.0.16-12.el5
OpenIPMI-libs.x86_64 2.0.16-12.el5
SysVinit.x86_64 2.86-17.el5
TIVsm-API64.x86_64 6.3.0-0
TIVsm-BA.x86_64 6.3.0-0
Xaw3d.x86_64 1.5E-10.1
acl.x86_64 2.2.39-8.el5
acpid.x86_64 1.0.4-12.el5
alsa-lib.i386 1.0.17-1.el5
alsa-lib.x86_64 1.0.17-1.el5
amtu.x86_64 1.0.6-2.el5
anacron.x86_64 2.3-45.el5.centos
aspell.i386 12:0.60.3-12
aspell.x86_64 12:0.60.3-12
aspell-en.x86_64 50:6.0-2.1
at.x86_64 3.1.8-84.el5
atk.i386 1.12.2-1.fc6
atk.x86_64 1.12.2-1.fc6
attr.x86_64 2.4.32-1.1
audiofile.i386 1:0.2.6-5
audiofile.x86_64 1:0.2.6-5
audit.x86_64 1.8-2.el5
audit-libs.i386 1.8-2.el5
audit-libs.x86_64 1.8-2.el5
audit-libs-python.x86_64 1.8-2.el5
authconfig.x86_64 5.3.21-7.el5
autofs.x86_64 1:5.0.1-0.rc2.163.el5
avahi.i386 0.6.16-10.el5_6
avahi.x86_64 0.6.16-10.el5_6
avahi-glib.i386 0.6.16-10.el5_6
avahi-glib.x86_64 0.6.16-10.el5_6
basesystem.noarch 8.0-5.1.1.el5.centos
bash.x86_64 3.2-33.el5_10.4
bc.x86_64 1.06-21
bind-libs.x86_64 30:9.3.6-20.P1.el5
bind-utils.x86_64 30:9.3.6-20.P1.el5
binutils.x86_64 2.17.50.0.6-20.el5
bitstream-vera-fonts.noarch 1.10-7
bluez-gnome.x86_64 0.5-5.fc6
bluez-libs.x86_64 3.7-1.1
bluez-utils.x86_64 3.7-2.2.el5.centos
bzip2.x86_64 1.0.3-6.el5_5
bzip2-libs.i386 1.0.3-6.el5_5
bzip2-libs.x86_64 1.0.3-6.el5_5
cadaver.x86_64 0.22.3-4.el5
cairo.i386 1.2.4-5.el5
cairo.x86_64 1.2.4-5.el5
ccid.x86_64 1.3.8-1.el5
centos-release.x86_64 10:5-8.el5.centos
centos-release-notes.x86_64 5.8-0
checkpolicy.x86_64 1.33.1-6.el5
chef.x86_64 11.8.0-1.el5
chkconfig.x86_64 1.3.30.2-2.el5
chkfontpath.x86_64 1.10.1-1.1
conman.x86_64 0.1.9.2-8.el5
coolkey.i386 1.1.0-15.el5
coolkey.x86_64 1.1.0-15.el5
coreutils.x86_64 5.97-34.el5
cpio.x86_64 2.6-23.el5_4.1
cpp.x86_64 4.1.2-54.el5
cpuspeed.x86_64 1:1.2.1-10.el5
cracklib.i386 2.8.9-3.3
cracklib.x86_64 2.8.9-3.3
cracklib-dicts.x86_64 2.8.9-3.3
crash.x86_64 5.1.8-1.el5.centos
crontabs.noarch 1.10-8
cryptsetup-luks.i386 1.0.3-8.el5
cryptsetup-luks.x86_64 1.0.3-8.el5
cups-libs.i386 1:1.3.7-30.el5
cups-libs.x86_64 1:1.3.7-30.el5
curl.x86_64 7.15.5-15.el5
cyrus-sasl.x86_64 2.1.22-7.el5_8.1
cyrus-sasl-devel.x86_64 2.1.22-7.el5_8.1
cyrus-sasl-lib.i386 2.1.22-7.el5_8.1
cyrus-sasl-lib.x86_64 2.1.22-7.el5_8.1
cyrus-sasl-plain.i386 2.1.22-7.el5_8.1
cyrus-sasl-plain.x86_64 2.1.22-7.el5_8.1
db4.i386 4.3.29-10.el5_5.2
db4.x86_64 4.3.29-10.el5_5.2
dbus.x86_64 1.1.2-16.el5_7
dbus-glib.i386 0.73-10.el5_5
dbus-glib.x86_64 0.73-10.el5_5
dbus-libs.i386 1.1.2-16.el5_7
dbus-libs.x86_64 1.1.2-16.el5_7
dbus-python.x86_64 0.70-9.el5_4
desktop-file-utils.x86_64 0.10-7
device-mapper.i386 1.02.67-2.el5
device-mapper.x86_64 1.02.67-2.el5
device-mapper-event.x86_64 1.02.67-2.el5
device-mapper-multipath.x86_64 0.4.7-48.el5
dhclient.x86_64 12:3.0.5-31.el5
dhcpv6-client.x86_64 1.0.10-20.el5
diffutils.x86_64 2.8.1-15.2.3.el5
dmidecode.x86_64 1:2.11-1.el5
dmraid.x86_64 1.0.0.rc13-65.el5
dmraid-events.x86_64 1.0.0.rc13-65.el5
dnsmasq.x86_64 2.45-1.1.el5_3
dos2unix.x86_64 3.1-27.2.el5
dosfstools.x86_64 2.11-9.el5
dump.x86_64 0.4b41-6.el5
e2fsprogs.x86_64 1.39-36.el5_9
e2fsprogs-devel.x86_64 1.39-36.el5_9
e2fsprogs-libs.i386 1.39-36.el5_9
e2fsprogs-libs.x86_64 1.39-36.el5_9
ecryptfs-utils.i386 75-8.el5
ecryptfs-utils.x86_64 75-8.el5
ed.x86_64 0.2-39.el5_2
eject.x86_64 2.1.5-4.2.el5
elfutils-libelf.x86_64 0.137-3.el5
elinks.x86_64 0.11.1-6.el5_4.1
emacs.x86_64 21.4-24.el5
emacs-common.x86_64 21.4-24.el5
emacs-leim.x86_64 21.4-24.el5
emacspeak.noarch 23.0-3.el5
esound.i386 1:0.2.36-4
esound.x86_64 1:0.2.36-4
ethtool.x86_64 6-4.el5
expat.i386 1.95.8-11.el5_8
expat.x86_64 1.95.8-11.el5_8
expat-devel.i386 1.95.8-11.el5_8
expat-devel.x86_64 1.95.8-11.el5_8
fbset.x86_64 2.1-22
file.x86_64 4.17-21
filesystem.x86_64 2.4.0-3.el5.centos
findutils.x86_64 1:4.2.27-6.el5
finger.x86_64 0.17-33
fipscheck.x86_64 1.2.0-1.el5
fipscheck-lib.x86_64 1.2.0-1.el5
firefox.i386 24.2.0-1.0.1.el5.centos
firefox.x86_64 24.2.0-1.0.1.el5.centos
firstboot-tui.x86_64 1.4.27.9-1.el5.centos
fontconfig.i386 2.4.1-7.el5
fontconfig.x86_64 2.4.1-7.el5
freetype.i386 2.2.1-28.el5_7.2
freetype.x86_64 2.2.1-28.el5_7.2
ftp.x86_64 0.17-37.el5
gamin.i386 0.1.7-10.el5
gamin.x86_64 0.1.7-10.el5
gamin-python.x86_64 0.1.7-10.el5
gawk.x86_64 3.1.5-15.el5
gcc.x86_64 4.1.2-54.el5
gcc-c++.x86_64 4.1.2-54.el5
gdbm.i386 1.8.0-28.el5
gdbm.x86_64 1.8.0-28.el5
gdbm-devel.i386 1.8.0-28.el5
gdbm-devel.x86_64 1.8.0-28.el5
gettext.x86_64 0.17-1.el5
giflib.x86_64 4.1.3-7.3.3.el5
glib2.i386 2.12.3-4.el5_3.1
glib2.x86_64 2.12.3-4.el5_3.1
glibc.i686 2.5-118.el5_10.2
glibc.x86_64 2.5-118.el5_10.2
glibc-common.x86_64 2.5-118.el5_10.2
glibc-devel.x86_64 2.5-118.el5_10.2
glibc-headers.x86_64 2.5-118.el5_10.2
gmp.i386 4.1.4-10.el5
gmp.x86_64 4.1.4-10.el5
gmp-devel.i386 4.1.4-10.el5
gmp-devel.x86_64 4.1.4-10.el5
gnome-desktop.i386 2.16.0-1.el5.centos.1
gnome-desktop.x86_64 2.16.0-1.el5.centos.1
gnome-keyring.i386 0.6.0-1.fc6
gnome-keyring.x86_64 0.6.0-1.fc6
gnome-mime-data.x86_64 2.4.2-3.1
gnome-mount.x86_64 0.5-3.el5
gnome-vfs2.i386 2.16.2-12.el5_9
gnome-vfs2.x86_64 2.16.2-12.el5_9
gnupg.x86_64 1.4.5-14.el5_5.1
gnutls.i386 1.4.1-3.el5_4.8
gnutls.x86_64 1.4.1-3.el5_4.8
gpm.i386 1.20.1-74.1
gpm.x86_64 1.20.1-74.1
grep.x86_64 2.5.1-55.el5
groff.x86_64 1.18.1.1-13.el5
grub.x86_64 0.97-13.5
gskcrypt64.x86_64 8.0-14.11
gskssl64.x86_64 8.0-14.11
gtk2.i386 2.10.4-21.el5_7.7
gtk2.x86_64 2.10.4-21.el5_7.7
gtk2-engines.x86_64 2.8.0-3.el5
gzip.x86_64 1.3.5-13.el5.centos
hal.i386 0.5.8.1-62.el5
hal.x86_64 0.5.8.1-62.el5
hdparm.x86_64 6.6-2
hesiod.x86_64 3.1.0-8
hicolor-icon-theme.noarch 0.9-2.1
hmaccalc.x86_64 0.9.6-4.el5
htmlview.noarch 4.0.0-2.el5
hwdata.noarch 0.213.26-1.el5
ifd-egate.x86_64 0.05-17.el5
info.x86_64 4.8-14.el5
initscripts.x86_64 8.45.42-1.el5.centos
iproute.x86_64 2.6.18-13.el5
ipsec-tools.x86_64 0.6.5-14.el5_5.5
iptables.x86_64 1.3.5-9.1.el5
iptables-ipv6.x86_64 1.3.5-9.1.el5
iptstate.x86_64 1.4-2.el5
iputils.x86_64 20020927-46.el5
irda-utils.x86_64 0.9.17-2.fc6
irqbalance.x86_64 2:0.55-15.el5
iscsi-initiator-utils.x86_64 6.2.0.872-13.el5
jwhois.x86_64 3.2.3-12.el5
kbd.x86_64 1.12-21.el5
kernel.x86_64 2.6.18-308.el5
kernel-headers.x86_64 2.6.18-371.3.1.el5
keyutils.x86_64 1.2-1.el5
keyutils-libs.i386 1.2-1.el5
keyutils-libs.x86_64 1.2-1.el5
keyutils-libs-devel.x86_64 1.2-1.el5
kpartx.x86_64 0.4.7-48.el5
krb5-devel.x86_64 1.6.1-70.el5_9.2
krb5-libs.i386 1.6.1-70.el5_9.2
krb5-libs.x86_64 1.6.1-70.el5_9.2
krb5-workstation.x86_64 1.6.1-70.el5_9.2
ksh.x86_64 20100621-5.el5
kudzu.x86_64 1.2.57.1.26-3.el5.centos
less.x86_64 436-9.el5
lftp.x86_64 3.7.11-7.el5
libFS.x86_64 1.0.0-3.1
libICE.i386 1.0.1-2.1
libICE.x86_64 1.0.1-2.1
libIDL.i386 0.8.7-1.fc6
libIDL.x86_64 0.8.7-1.fc6
libSM.i386 1.0.1-3.1
libSM.x86_64 1.0.1-3.1
libX11.i386 1.0.3-11.el5_7.1
libX11.x86_64 1.0.3-11.el5_7.1
libX11-devel.x86_64 1.0.3-11.el5_7.1
libXTrap.x86_64 1.0.0-3.1
libXau.i386 1.0.1-3.1
libXau.x86_64 1.0.1-3.1
libXau-devel.x86_64 1.0.1-3.1
libXaw.x86_64 1.0.2-8.1
libXcursor.i386 1.1.7-1.2
libXcursor.x86_64 1.1.7-1.2
libXdmcp.i386 1.0.1-2.1
libXdmcp.x86_64 1.0.1-2.1
libXdmcp-devel.x86_64 1.0.1-2.1
libXext.i386 1.0.1-2.1
libXext.x86_64 1.0.1-2.1
libXfixes.i386 4.0.1-2.1
libXfixes.x86_64 4.0.1-2.1
libXfont.x86_64 1.2.2-1.0.4.el5_7
libXfontcache.x86_64 1.0.2-3.1
libXft.i386 2.1.10-1.1
libXft.x86_64 2.1.10-1.1
libXi.i386 1.0.1-4.el5_4
libXi.x86_64 1.0.1-4.el5_4
libXinerama.i386 1.0.1-2.1
libXinerama.x86_64 1.0.1-2.1
libXmu.x86_64 1.0.2-5
libXpm.x86_64 3.5.5-3
libXrandr.i386 1.1.1-3.3
libXrandr.x86_64 1.1.1-3.3
libXrender.i386 0.9.1-3.1
libXrender.x86_64 0.9.1-3.1
libXres.x86_64 1.0.1-3.1
libXt.i386 1.0.2-3.2.el5
libXt.x86_64 1.0.2-3.2.el5
libXtst.i386 1.0.1-3.1
libXtst.x86_64 1.0.1-3.1
libXv.x86_64 1.0.1-4.1
libXxf86dga.x86_64 1.0.1-3.1
libXxf86misc.x86_64 1.0.1-3.1
libXxf86vm.x86_64 1.0.1-3.1
libacl.i386 2.2.39-8.el5
libacl.x86_64 2.2.39-8.el5
libaio.i386 0.3.106-5
libaio.x86_64 0.3.106-5
libart_lgpl.i386 2.3.17-4
libart_lgpl.x86_64 2.3.17-4
libattr.i386 2.4.32-1.1
libattr.x86_64 2.4.32-1.1
libbonobo.i386 2.16.0-1.1.el5_5.1
libbonobo.x86_64 2.16.0-1.1.el5_5.1
libbonoboui.i386 2.16.0-1.fc6
libbonoboui.x86_64 2.16.0-1.fc6
libcap.i386 1.10-26
libcap.x86_64 1.10-26
libdaemon.i386 0.10-5.el5
libdaemon.x86_64 0.10-5.el5
libdmx.x86_64 1.0.2-3.1
libdrm.x86_64 2.0.2-1.1
libevent.x86_64 1.4.13-1
libfontenc.x86_64 1.0.2-2.2.el5
libgcc.i386 4.1.2-54.el5
libgcc.x86_64 4.1.2-54.el5
libgcrypt.i386 1.4.4-5.el5
libgcrypt.x86_64 1.4.4-5.el5
libglade2.i386 2.6.0-2
libglade2.x86_64 2.6.0-2
libgnome.i386 2.16.0-6.el5
libgnome.x86_64 2.16.0-6.el5
libgnomecanvas.i386 2.14.0-4.1
libgnomecanvas.x86_64 2.14.0-4.1
libgnomeui.i386 2.16.0-5.el5
libgnomeui.x86_64 2.16.0-5.el5
libgomp.x86_64 4.4.6-3.el5.1
libgpg-error.i386 1.4-2
libgpg-error.x86_64 1.4-2
libgssapi.x86_64 0.10-2
libhugetlbfs.i386 1.3-8.2.el5
libhugetlbfs.x86_64 1.3-8.2.el5
libidn.x86_64 0.6.5-1.1
libjpeg.i386 6b-37
libjpeg.x86_64 6b-37
libnotify.x86_64 0.4.2-6.el5
libpcap.x86_64 14:0.9.4-15.el5
libpng.i386 2:1.2.10-7.1.el5_7.5
libpng.x86_64 2:1.2.10-7.1.el5_7.5
libselinux.i386 1.33.4-5.7.el5
libselinux.x86_64 1.33.4-5.7.el5
libselinux-devel.x86_64 1.33.4-5.7.el5
libselinux-python.x86_64 1.33.4-5.7.el5
libselinux-utils.x86_64 1.33.4-5.7.el5
libsemanage.x86_64 1.9.1-4.4.el5
libsepol.i386 1.15.2-3.el5
libsepol.x86_64 1.15.2-3.el5
libsepol-devel.x86_64 1.15.2-3.el5
libstdc++.i386 4.1.2-54.el5
libstdc++.x86_64 4.1.2-54.el5
libstdc++-devel.x86_64 4.1.2-54.el5
libsysfs.x86_64 2.1.0-1.el5
libtermcap.i386 2.0.8-46.1
libtermcap.x86_64 2.0.8-46.1
libtiff.i386 3.8.2-7.el5_6.7
libtiff.x86_64 3.8.2-7.el5_6.7
libusb.i386 0.1.12-6.el5
libusb.x86_64 0.1.12-6.el5
libuser.x86_64 0.54.7-2.1.el5_5.2
libutempter.i386 1.1.4-4.el5
libutempter.x86_64 1.1.4-4.el5
libvolume_id.i386 095-14.27.el5_7.1
libvolume_id.x86_64 095-14.27.el5_7.1
libwnck.x86_64 2.16.0-4.fc6
libxkbfile.x86_64 1.0.3-3.1
libxml2.i386 2.6.26-2.1.21.el5_9.3
libxml2.x86_64 2.6.26-2.1.21.el5_9.3
libxml2-python.x86_64 2.6.26-2.1.12.el5_7.2
libxslt.x86_64 1.1.17-4.el5_8.3
logrotate.x86_64 3.7.4-12
logwatch.noarch 7.3-9.el5_6
lsof.x86_64 4.78-6
lvm2.x86_64 2.02.88-7.el5
m2crypto.x86_64 0.16-8.el5
m4.x86_64 1.4.5-3.el5.1
mailcap.noarch 2.1.23-1.fc6
mailx.x86_64 8.1.1-44.2.2
make.x86_64 1:3.81-3.el5
man.x86_64 1.6d-2.el5
man-pages.noarch 2.39-20.el5
man-pages-overrides.noarch 5.8.3-2.el5
mcelog.x86_64 1:0.9pre-1.32.el5
mcstrans.x86_64 0.2.11-3.el5
mesa-libGL.x86_64 6.5.1-7.11.el5_9
mesa-libGL-devel.x86_64 6.5.1-7.11.el5_9
mgetty.x86_64 1.1.33-9.fc6
microcode_ctl.x86_64 2:1.17-1.56.el5
mingetty.x86_64 1.07-5.2.2
mkbootdisk.x86_64 1.5.3-2.1
mkinitrd.i386 5.1.19.6-75.el5
mkinitrd.x86_64 5.1.19.6-75.el5
mktemp.x86_64 3:1.5-24.el5
mlocate.x86_64 0.15-1.el5.2
module-init-tools.x86_64 3.3-0.pre3.1.60.el5_5.1
mozldap.x86_64 6.0.5-1.el5
mtools.x86_64 3.9.10-2.fc6
mtr.x86_64 2:0.71-3.1
mysql.i386 5.0.95-5.el5_9
mysql.x86_64 5.0.95-5.el5_9
mysql-devel.i386 5.0.95-5.el5_9
mysql-devel.x86_64 5.0.95-5.el5_9
nano.x86_64 1.3.12-1.1
nash.x86_64 5.1.19.6-75.el5
nc.x86_64 1.84-10.fc6
ncompress.x86_64 4.2.4-47
ncurses.i386 5.5-24.20060715
ncurses.x86_64 5.5-24.20060715
neon.x86_64 0.25.5-10.el5_4.1
net-snmp-libs.x86_64 1:5.3.2.2-17.el5
net-tools.x86_64 1.60-82.el5
newt.x86_64 0.52.2-15.el5
nfs-utils.x86_64 1:1.0.9-60.el5
nfs-utils-lib.x86_64 1.0.8-7.9.el5
notification-daemon.x86_64 0.3.5-9.el5
nrpe.x86_64 2.12-12.el5
nscd.x86_64 2.5-118.el5_10.2
nspr.i386 4.10.2-2.el5_10
nspr.x86_64 4.10.2-2.el5_10
nss.i386 3.15.3-4.el5_10
nss.x86_64 3.15.3-4.el5_10
nss-tools.x86_64 3.15.3-4.el5_10
nss_db.i386 2.2-35.4.el5_5
nss_db.x86_64 2.2-35.4.el5_5
nss_ldap.i386 253-49.el5
nss_ldap.x86_64 253-49.el5
ntp.x86_64 4.2.2p1-17.el5.centos
ntsysv.x86_64 1.3.30.2-2.el5
numactl.i386 0.9.8-12.el5_6
numactl.x86_64 0.9.8-12.el5_6
oddjob.x86_64 0.27-12.el5
oddjob-libs.x86_64 0.27-12.el5
openldap.i386 2.3.43-25.el5_8.1
openldap.x86_64 2.3.43-25.el5_8.1
openldap24-libs.i386 2.4.23-5.el5
openldap24-libs.x86_64 2.4.23-5.el5
openldap24-libs-devel.i386 2.4.23-5.el5
openldap24-libs-devel.x86_64 2.4.23-5.el5
openssh.x86_64 4.3p2-82.el5
openssh-clients.x86_64 4.3p2-82.el5
openssh-server.x86_64 4.3p2-82.el5
openssl.i686 0.9.8e-26.el5_9.1
openssl.x86_64 0.9.8e-26.el5_9.1
openssl-devel.i386 0.9.8e-26.el5_9.1
openssl-devel.x86_64 0.9.8e-26.el5_9.1
openssl097a.i386 0.9.7a-11.el5_8.2
openssl097a.x86_64 0.9.7a-11.el5_8.2
pam.i386 0.99.6.2-6.el5_5.2
pam.x86_64 0.99.6.2-6.el5_5.2
pam_ccreds.i386 3-5
pam_ccreds.x86_64 3-5
pam_krb5.i386 2.2.14-22.el5
pam_krb5.x86_64 2.2.14-22.el5
pam_passwdqc.i386 1.0.2-1.2.2
pam_passwdqc.x86_64 1.0.2-1.2.2
pam_pkcs11.i386 0.5.3-26.el5
pam_pkcs11.x86_64 0.5.3-26.el5
pam_smb.i386 1.1.7-7.2.1
pam_smb.x86_64 1.1.7-7.2.1
pango.i386 1.14.9-8.el5.centos.3
pango.x86_64 1.14.9-8.el5.centos.3
parted.i386 1.8.1-29.el5
parted.x86_64 1.8.1-29.el5
passwd.x86_64 0.73-2
patch.x86_64 2.5.4-31.el5
pax.x86_64 3.4-2.el5_4
pciutils.x86_64 3.1.7-5.el5
pcmciautils.x86_64 014-5
pcre.x86_64 6.6-6.el5_6.1
pcsc-lite.x86_64 1.4.4-4.el5_5
pcsc-lite-libs.x86_64 1.4.4-4.el5_5
perl.x86_64 4:5.8.8-38.el5
perl-Bit-Vector.x86_64 6.4-2.2.2.1
perl-Carp-Clan.noarch 5.3-1.2.1
perl-Compress-Zlib.x86_64 1.42-1.fc6
perl-DBD-MySQL.x86_64 3.0007-2.el5
perl-DBD-Pg.x86_64 1.49-4.el5_8
perl-DBI.x86_64 1.52-2.el5
perl-Date-Calc.x86_64 5.4-1.2.2.1
perl-HTML-Parser.x86_64 3.55-1.fc6
perl-HTML-Tagset.noarch 3.10-2.1.1
perl-String-CRC32.x86_64 1.4-2.fc6
perl-URI.noarch 1.35-3
perl-libwww-perl.noarch 5.805-1.1.1
pinfo.x86_64 0.6.9-1.fc6
pkinit-nss.x86_64 0.7.6-1.el5
pm-utils.x86_64 0.99.3-10.el5.centos
policycoreutils.x86_64 1.33.12-14.8.el5
popt.i386 1.10.2.3-34.el5
popt.x86_64 1.10.2.3-34.el5
portmap.x86_64 4.0-65.2.2.1
postfix.x86_64 2:2.3.3-6.el5
postgresql-libs.x86_64 8.1.23-6.el5_8
ppp.x86_64 2.4.4-2.el5
prelink.x86_64 0.4.0-2.el5
procmail.x86_64 3.22-17.1.el5.centos
procps.x86_64 3.2.7-18.el5
psacct.x86_64 6.3.2-44.el5
psgml.noarch 1.2.5-4.3
psmisc.x86_64 22.2-7.el5_6.2
pygobject2.x86_64 2.12.1-5.el5
python.x86_64 2.4.3-56.el5
python-elementtree.x86_64 1.2.6-5
python-iniparse.noarch 0.2.3-4.el5
python-libs.x86_64 2.4.3-56.el5
python-simplejson.x86_64 2.0.9-8.el5
python-sqlite.x86_64 1.1.7-1.2.1
python-urlgrabber.noarch 3.1.0-6.el5
quota.x86_64 1:3.13-5.el5
rdate.x86_64 1.4-8.el5
rdist.x86_64 1:6.1.5-44
readahead.x86_64 1:1.3-8.el5
readline.i386 5.1-3.el5
readline.x86_64 5.1-3.el5
redhat-artwork.x86_64 5.1.0-28.el5.centos
redhat-logos.noarch 4.9.99-11.el5.centos
redhat-menus.noarch 6.7.8-3.el5
rhpl.x86_64 0.194.1-2
rmt.x86_64 0.4b41-6.el5
rng-utils.x86_64 1:2.0-5.el5
rootfiles.noarch 8.1-1.1.1
rp-pppoe.x86_64 3.5-32.1
rpm.x86_64 4.4.2.3-34.el5
rpm-libs.x86_64 4.4.2.3-34.el5
rpm-python.x86_64 4.4.2.3-34.el5
rsh.x86_64 0.17-40.el5_7.1
rsync.x86_64 3.0.6-4.el5_7.1
rsyslog.x86_64 3.22.1-7.el5
screen.x86_64 4.0.3-4.el5
sed.x86_64 4.1.5-8.el5
selinux-policy.noarch 2.4.6-327.el5
selinux-policy-targeted.noarch 2.4.6-327.el5
setarch.x86_64 2.0-1.1
setools.x86_64 3.0-3.el5
setserial.x86_64 2.17-19.2.2
setup.noarch 2.5.58-9.el5
setuptool.x86_64 1.19.2-1.el5.centos
sgml-common.noarch 0.6.3-18
sgpio.x86_64 1.2.0_10-2.el5
shadow-utils.x86_64 2:4.0.17-20.el5
shared-mime-info.x86_64 0.19-5.el5
slang.x86_64 2.0.6-4.el5
slrn.x86_64 0.9.8.1pl1-1.2.2
smartmontools.x86_64 1:5.38-3.el5
sos.noarch 1.7-9.62.el5
specspo.noarch 13-1.el5.centos
sqlite.i386 3.3.6-7
sqlite.x86_64 3.3.6-7
startup-notification.i386 0.8-4.1
startup-notification.x86_64 0.8-4.1
stunnel.x86_64 4.15-2.el5.1
sudo.x86_64 1.7.2p1-13.el5
svrcore.i386 4.0.4-3.el5
svrcore.x86_64 4.0.4-3.el5
symlinks.x86_64 1.2-24.2.2
sysfsutils.x86_64 2.1.0-1.el5
sysklogd.x86_64 1.4.1-46.el5
syslinux.x86_64 3.11-7
sysstat.x86_64 7.0.2-12.el5
system-config-network-tui.noarch 1.3.99.21-1.el5
system-config-securitylevel-tui.x86_64 1.6.29.1-6.el5
talk.x86_64 0.17-31.el5
tar.x86_64 2:1.15.1-31.el5
tcl.x86_64 8.4.13-4.el5
tclx.x86_64 8.4.0-5.fc6
tcp_wrappers.i386 7.6-40.7.el5
tcp_wrappers.x86_64 7.6-40.7.el5
tcpdump.x86_64 14:3.9.4-15.el5
tcsh.x86_64 6.14-17.el5_5.2
telnet.x86_64 1:0.17-39.el5
termcap.noarch 1:5.5-1.20060701.1
time.x86_64 1.7-27.2.2
tk.x86_64 8.4.13-5.el5_1.1
tmpwatch.x86_64 2.9.7-1.1.el5.5
traceroute.x86_64 3:2.0.1-6.el5
tree.x86_64 1.5.0-4
trousers.i386 0.3.1-4.el5
trousers.x86_64 0.3.1-4.el5
ttmkfdir.x86_64 3.0.9-23.el5
tzdata.x86_64 2011l-4.el5
udev.x86_64 095-14.27.el5_7.1
udftools.x86_64 1.0.0b3-0.1.el5
unix2dos.x86_64 2.2-26.2.3.el5
unzip.x86_64 5.52-3.el5
usbutils.x86_64 0.71-2.1
usermode.x86_64 1.88-3.el5.2
util-linux.x86_64 2.13-0.59.el5
vconfig.x86_64 1.9-3
vim-common.x86_64 2:7.0.109-7.el5
vim-enhanced.x86_64 2:7.0.109-7.el5
vim-minimal.x86_64 2:7.0.109-7.el5
virt-what.x86_64 1.11-2.el5
vixie-cron.x86_64 4:4.1-81.el5
wget.x86_64 1.11.4-2.el5_4.1
which.x86_64 2.16-7
wireless-tools.i386 1:28-2.el5
wireless-tools.x86_64 1:28-2.el5
words.noarch 3.0-9.1
wpa_supplicant.x86_64 1:0.5.10-9.el5
xinetd.x86_64 2:2.3.14-20.el5_10
xkeyboard-config.noarch 0.8-10.el5
xorg-x11-drv-evdev.x86_64 1:1.0.0.5-5.el5
xorg-x11-drv-keyboard.x86_64 1.1.0-3
xorg-x11-drv-mouse.x86_64 1.1.1-1.1
xorg-x11-drv-vesa.x86_64 1.3.0-8.3.el5
xorg-x11-drv-void.x86_64 1.1.0-3.1
xorg-x11-filesystem.noarch 7.1-2.fc6
xorg-x11-font-utils.x86_64 1:7.1-3
xorg-x11-fonts-ISO8859-1-75dpi.noarch 7.1-2.1.el5
xorg-x11-fonts-base.noarch 7.1-2.1.el5
xorg-x11-proto-devel.x86_64 7.1-13.el5
xorg-x11-server-Xdmx.x86_64 1.1.1-48.101.0.1.el5.centos.2
xorg-x11-server-Xephyr.x86_64 1.1.1-48.101.0.1.el5.centos.2
xorg-x11-server-Xnest.x86_64 1.1.1-48.101.0.1.el5.centos.2
xorg-x11-server-Xorg.x86_64 1.1.1-48.101.0.1.el5.centos.2
xorg-x11-server-Xvfb.x86_64 1.1.1-48.101.0.1.el5.centos.2
xorg-x11-server-Xvnc-source.x86_64 1.1.1-48.101.0.1.el5.centos.2
xorg-x11-server-sdk.x86_64 1.1.1-48.101.0.1.el5.centos.2
xorg-x11-server-utils.x86_64 7.1-5.el5_6.2
xorg-x11-util-macros.x86_64 1.0.2-4.fc6
xorg-x11-utils.x86_64 7.1-2.fc6
xorg-x11-xauth.x86_64 1:1.0.1-2.1
xorg-x11-xfs.x86_64 1:1.0.2-5.el5_6.1
xorg-x11-xkb-utils.x86_64 1.0.2-2.1
yp-tools.x86_64 2.9-2.el5
ypbind.x86_64 3:1.19-12.el5_6.1
yum.noarch 3.2.22-39.el5.centos
yum-fastestmirror.noarch 1.1.16-21.el5.centos
yum-metadata-parser.x86_64 1.1.2-3.el5.centos
yum-security.noarch 1.1.16-21.el5.centos
yum-updatesd.noarch 1:0.9-2.el5
zip.x86_64 2.31-2.el5
zlib.i386 1.2.3-7.el5
zlib.x86_64 1.2.3-7.el5
zlib-devel.x86_64 1.2.3-7.el5

miyagawa commented 9 years ago

Show me the code, and how you run the app (which server options, command line args).

frioux commented 9 years ago

I think you all have an old version of plack. This was fixed in august: https://metacpan.org/changes/distribution/Plack#L28

frioux commented 9 years ago

Ok, if you guys are still having the issue after ensuring you are at the latest version of Plack, I suspect that the fix will be to change line 56ff to be:

        my $v = do {
            local $/;
            my $fh = $env->{'psgi.input'};
            <$fh>;
        };
        syswrite($stdinw, $v) if defined $v;
rshingleton commented 9 years ago

I was a minor revision behind on Plack, but still experienced the issue after updating: Successfully installed Plack-1.0033 (upgraded from 1.0031)

On your suggestion, I modified Plack/App/WrapCGI.pm to the following and it seems to have resolved the issue:

        my $v = do{
            local $/;
            my $fh = $env->{'psgi.input'};
            <$fh>;
        };
        syswrite($stdinw, $v) if defined $v;

        #syswrite($stdinw, do {
        #    local $/;
        #    my $fh = $env->{'psgi.input'};
        #    <$fh>;
        #});
        # close STDIN so child will stop waiting
        close $stdinw;
miyagawa commented 9 years ago

@frioux could you open a pull request so that your contribution can be correctly credited?

@rshingleton let me ask you one last time: what is your server environment (web server, PSGI server) and what kind of requests cause that warning?

eserte commented 9 years ago

I am not rshingleton, and I was never asked for details (see the very first post in this issue), but nevertheless I'll point you to my problematic project:

Sorry, it's a large project, so maybe not suitable for debugging...

miyagawa commented 9 years ago

@eserte it will be appreciated if you can replicate the problem with a few lines of code.

frioux commented 9 years ago

https://github.com/plack/Plack/pull/484

miyagawa commented 9 years ago

@eserte when I wrote "I cannot reproduce" I implied "re-open the issue with more details if you can reliably reproduce". It's my bad that I wasn't explicit about it, but when you report a bug, consider that there's no too much information.

eserte commented 9 years ago

I found out that it has to be starman. I cannot reproduce the issue with the standard plackup server. The following is enough to reproduce the problem (remember, perl 5.20.x is needed):

use Plack::Builder;
use Plack::App::WrapCGI;

builder {
    mount '/' => Plack::App::WrapCGI->new(
        script  => 'test.cgi',
        execute => 1,
    )->to_app;
};
#!/usr/bin/perl

use strict;
use CGI ':standard';

print header;
print "hello\n";

__END__

With starman I see the following warnings:

$ perl5.20.1 -S starman
2014/12/17-23:31:52 Starman::Server (type Net::Server::PreFork) starting! pid(49709)
Resolved [*]:5000 to [0.0.0.0]:5000, IPv4
Binding to TCP port 5000 on host 0.0.0.0 with IPv4
Setting gid to "1000 1000 1000 0 5 1023 1024"
Use of uninitialized value in syswrite at /usr/perl5.20.1/lib/site_perl/5.20.1/Plack/App/WrapCGI.pm line 56, <$io> line 1.
Use of uninitialized value in syswrite at /usr/perl5.20.1/lib/site_perl/5.20.1/Plack/App/WrapCGI.pm line 56, <$io> line 1.
miyagawa commented 9 years ago

@eserte thanks, I just was able to reproduce it as well.

rshingleton commented 9 years ago

First, thanks for all the input and sorry for the lack of detail on my part. I've been in and out of meetings and code work all day while following this, so my attention has been somewhat split.

I am running this in Starman (Starman 0.4011) as well. Any request seems to cause the error, post, get, etc.

I tested with @eserte's example and get the same result (error message).