Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Time-HiRes CPAN distribution.

Report information
The Basics

Nobody in particular
steve [...]

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

Subject: Use of uninitialized value in string ne
Date: Mon, 12 Nov 2012 22:28:21 +1100
To: <>
From: "Steve \(Telsat Broadband\)" <>

Hi Maintainer;


I’ve been using Time::HiRes for some time now and I’m reporting this strange bug that I’ve come across.  In one of my scripts I require very small pauses (around 100ms) waiting for other operations to complete.  While watching one of these processes go though I noticed hundreds of these errors popping up:


Use of uninitialized value in string ne at /etc/mydaemon/ line 759.

Use of uninitialized value in string ne at /etc/mydaemon/ line 759.

Use of uninitialized value in string ne at /etc/mydaemon/ line 759.

Use of uninitialized value in string ne at /etc/mydaemon/ line 759.

Use of uninitialized value in string ne at /etc/mydaemon/ line 759.



Now, in this script the only code at all that is on line 759 is this:





At the beginning of the script I’m using:


#!/usr/bin/perl –wT


use strict;

use LockFile::Simple;

use FileHandle;

use Getopt::Long;

use IPC::Cache;

use IPC::Shareable;

use Time::HiRes qw(usleep);



I’ve tried narrowing down the error but I can’t seem to replicate it except for when the actual program is running.  I should also mention that at the point where this occurs it’s on a child thread started by a ‘fork()’ call as all connections are handled separately (with a limitation on the number of threads).


If there’s anything else I can help with, let me know.  I’ve included the relevant system information below.








The distro is:


Debian Wheezy 7.0



The kernel is:


Linux rgw001 3.1.1 #2 SMP Fri Nov 18 23:44:34 VUT 2011 i686 GNU/Linux



Here is the PERL version info:


Summary of my perl5 (revision 5 version 14 subversion 2) configuration:



    osname=linux, osvers=3.2.0-3-686-pae, archname=i486-linux-gnu-thread-multi-64int

    uname='linux callisto 3.2.0-3-686-pae #1 smp mon jul 23 03:50:34 utc 2012 i686 gnulinux '

    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Dldflags= -Wl,-z,relro -Dlddlflags=-shared -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.14 -Darchlib=/usr/lib/perl/5.14 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.14.2 -Dsitearch=/usr/local/lib/perl/5.14.2 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -des'

    hint=recommended, useposix=true, d_sigaction=define

    useithreads=define, usemultiplicity=define

    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef

    use64bitint=define, use64bitall=undef, uselongdouble=undef

    usemymalloc=n, bincompat5005=undef


    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',

    optimize='-O2 -g',

    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include'

    ccversion='', gccversion='4.7.1', gccosandvers=''

    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678

    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12

    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8

    alignbytes=4, prototype=define

  Linker and Libraries:

    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'

    libpth=/usr/local/lib /lib/i386-linux-gnu /lib/../lib /usr/lib/i386-linux-gnu /usr/lib/../lib /lib /usr/lib

    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt

    perllibs=-ldl -lm -lpthread -lc -lcrypt

    libc=, so=so, useshrplib=true,


  Dynamic Linking:

    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'

    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector'



Characteristics of this binary (from libperl):






  Locally applied patches:

        DEBPKG:debian/arm_thread_stress_timeout - Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts

        DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.

        DEBPKG:debian/db_file_ver - Remove overly restrictive DB_File version check.

        DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.

        DEBPKG:debian/enc2xs_inc - Tweak enc2xs to follow symlinks and ignore missing @INC directories.

        DEBPKG:debian/errno_ver - Remove Errno version check due to upgrade problems with long-running processes.

        DEBPKG:debian/libperl_embed_doc - Note that libperl-dev package is required for embedded linking

        DEBPKG:fixes/respect_umask - Respect umask during installation

        DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories

        DEBPKG:debian/extutils_set_libperl_path - EU:MM: Set location of libperl.a to /usr/lib

        DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor

        DEBPKG:debian/prefix_changes - Fiddle with *PREFIX and variables written to the makefile

        DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.

        DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.

        DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.

        DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.

        DEBPKG:debian/m68k_thread_stress - Disable some threads tests on m68k for now due to missing TLS.

        DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian

        DEBPKG:debian/module_build_man_extensions - Adjust Module::Build manual page extensions for the Debian Perl policy

        DEBPKG:debian/prune_libs - Prune the list of libraries wanted to what we actually need.

        DEBPKG:fixes/net_smtp_docs - [ #36038] Document the Net::SMTP 'Port' option

        DEBPKG:debian/perlivp - Make perlivp skip include directories in /usr/local

        DEBPKG:debian/cpanplus_definstalldirs - Configure CPANPLUS to use the site directories by default.

        DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl.

        DEBPKG:debian/deprecate-with-apt - Point users to Debian packages of deprecated core modules

        DEBPKG:fixes/hurd-ccflags - [a190e64] [perl #92244] Make hints/ append to $ccflags rather than overriding them

        DEBPKG:debian/squelch-locale-warnings - Squelch locale warnings in Debian package maintainer scripts

        DEBPKG:debian/skip-upstream-git-tests - Skip tests specific to the upstream Git repository

        DEBPKG:fixes/extutils-cbuilder-cflags - [011e8fb] [perl #89478] Append CFLAGS and LDFLAGS to their counterparts in EU::CBuilder

        DEBPKG:fixes/module-build-home-directory - [ #67893] Fix failing tilde test when run under a UID without a passwd entry

        DEBPKG:debian/patchlevel - List packaged patches for 5.14.2-13 in patchlevel.h

        DEBPKG:fixes/h2ph-multiarch - [e7ec705] [perl #90122] Make h2ph correctly search gcc include directories

        DEBPKG:fixes/index-tainting - [3b36395] [perl #64804] RT 64804: tainting with index() of a constant

        DEBPKG:fixes/document_makemaker_ccflags - [ #68613] Document that CCFLAGS should include $Config{ccflags}

        DEBPKG:fixes/sys-syslog-socket-timeout-kfreebsd.patch - [ #69997] Use a socket timeout on GNU/kFreeBSD to catch ICMP port unreachable messages

        DEBPKG:fixes/hurd-hints - Improve general GNU hints, needed for GNU/Hurd.

        DEBPKG:fixes/pod_fixes - [7698aed] Fix typos in several pod/perl*.pod files

        DEBPKG:debian/find_html2text - Configure CPAN::Distribution with correct name of html2text

        DEBPKG:fixes/digest_eval_hole - Close the eval "require $module" security hole in Digest->new($algorithm)

        DEBPKG:fixes/hurd-ndbm - [f0d0a20] [perl #102680] Add GNU/Hurd hints for NDBM_File

        DEBPKG:fixes/sysconf.t-posix - [8040185] [perl #102888] Fix hang in ext/POSIX/t/sysconf.t on GNU/Hurd

        DEBPKG:fixes/hurd-largefile - [1fda587] [perl #103014] enable LFS on GNU/Hurd

        DEBPKG:debian/hurd_test_todo_syslog - Disable failing GNU/Hurd tests in cpan/Sys-Syslog/t/syslog.t

        DEBPKG:fixes/hurd_skip_itimer_virtual - [ #72754] Skip interval timer tests in Time::HiRes on GNU/Hurd

        DEBPKG:debian/hurd_test_skip_sigdispatch - Disable failing GNU/Hurd tests op/sigdispatch.t

        DEBPKG:debian/hurd_test_skip_stack - Disable failing GNU/Hurd tests dist/threads/t/stack.t

        DEBPKG:debian/hurd_test_skip_pipe - Disable failing GNU/Hurd tests io/pipe.t

        DEBPKG:debian/hurd_test_skip_io_pipe - Disable failing GNU/Hurd tests dist/IO/t/io_pipe.t

        DEBPKG:fixes/manpage_name_CPAN - [ #73396] cpan/CPAN: add NAME headings in modules with POD

        DEBPKG:fixes/manpage_name_CPANPLUS - [ #73398] cpan/CPANPLUS: add NAME headings in modules with POD

        DEBPKG:fixes/manpage_name_Test-Harness - [ #73399] cpan/Test-Harness: add NAME headings in modules with POD

        DEBPKG:fixes/manpage_name_Term-UI - [ #73400] cpan/Term-UI: add NAME headings in modules with POD

        DEBPKG:fixes/podlators_ae_ligature_fallback - Fix the ASCII fallback string for AE

        DEBPKG:fixes/fsf_postal_address - [de89470] Update references to the FSF's postal address

        DEBPKG:fixes/cpan_module_pod_fixes - [perl #106870] [ #73447] [ #73446] Fix POD formatting in Term-Cap and Pod-Parser

        DEBPKG:fixes/cgi_no_shellwords_pl - Use Text::ParseWords instead of

        DEBPKG:fixes/path_max_fallback - [perl #109262] Don't use _POSIX_PATH_MAX as a fallback PATH_MAX

        DEBPKG:debian/makemaker-pasthru - [ #28632] Make EU::MM pass LD through to recursive Makefile.PL invocations

        DEBPKG:fixes/propagate_tainted_errors.patch - [perl #111654] properly propagate tainted errors

        DEBPKG:debian/perl5db-x-terminal-emulator.patch - Invoke x-terminal-emulator rather than xterm in

        DEBPKG:fixes/socket_cache_propagate - [ #61577] [perl #112736] sockdomain and socktype undef on newly accepted sockets

        DEBPKG:fixes/ipc_open3 - [perl #114454] IPC::Open3::open3(..., '-') broken

  Built under linux

  Compiled at Sep  6 2012 22:39:29











Subject: Re: [ #81117] Use of uninitialized value in string ne
Date: Sat, 17 Aug 2013 20:51:50 +0100
To: "Steve (Telsat Broadband) via RT" <>
From: Zefram <>
Steve (Telsat Broadband) via RT wrote:
Show quoted text
>Use of uninitialized value in string ne at /etc/mydaemon/ line 759.
Show quoted text
>Now, in this script the only code at all that is on line 759 is this: > >usleep(100000);
The warning can't come from usleep, and must be misattributed to that line. This would happen if some code runs during the sleep and triggers the warning but doesn't qualify as a separate Perl statement. The warning indicates that the code in question does have its own ops, including a string ne. (If the warning came from usleep, or from other code that doesn't have its own ops, the warning would say "in subroutine entry".) You should look first at signal handlers, then at destructors and other code that gets run implicitly. One of these will be generating the warning. -zefram

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

Please report any issues with to