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
Id:
81117
Status:
resolved
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Requestors:
steve [...] telsatbb.vu
Cc:
AdminCc:

BugTracker
Severity:
(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: <bug-Time-HiRes@rt.cpan.org>
From: "Steve \(Telsat Broadband\)" <steve@telsatbb.vu>

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/myscript.pm line 759.

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

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

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

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

 

 

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

 

usleep(100000);

 

 

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.

 

Cheers.

Steve.

 

 

 

 

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:

  

  Platform:

    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 -Dlibperl=libperl.so.5.14.2 -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

  Compiler:

    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, libperl=libperl.so.5.14.2

    gnulibc_version='2.13'

  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):

  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV

                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP

                        PERL_PRESERVE_IVUV USE_64_BIT_INT USE_ITHREADS

                        USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF

                        USE_REENTRANT_API

  Locally applied patches:

        DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 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 - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check.

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

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

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

        DEBPKG:debian/libperl_embed_doc - http://bugs.debian.org/186778 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 - http://bugs.debian.org/517938 http://bugs.debian.org/495826 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 - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy

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

        DEBPKG:fixes/net_smtp_docs - [rt.cpan.org #36038] http://bugs.debian.org/100195 Document the Net::SMTP 'Port' option

        DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local

        DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 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 - http://bugs.debian.org/580034 Point users to Debian packages of deprecated core modules

        DEBPKG:fixes/hurd-ccflags - [a190e64] http://bugs.debian.org/587901 [perl #92244] Make hints/gnu.sh append to $ccflags rather than overriding them

        DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 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] http://bugs.debian.org/624460 [perl #89478] Append CFLAGS and LDFLAGS to their Config.pm counterparts in EU::CBuilder

        DEBPKG:fixes/module-build-home-directory - http://bugs.debian.org/624850 [rt.cpan.org #67893] Fix failing tilde test when run under a UID without a passwd entry

        DEBPKG:debian/patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.14.2-13 in patchlevel.h

        DEBPKG:fixes/h2ph-multiarch - [e7ec705] http://bugs.debian.org/625808 [perl #90122] Make h2ph correctly search gcc include directories

        DEBPKG:fixes/index-tainting - [3b36395] http://bugs.debian.org/291450 [perl #64804] RT 64804: tainting with index() of a constant

        DEBPKG:fixes/document_makemaker_ccflags - http://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}

        DEBPKG:fixes/sys-syslog-socket-timeout-kfreebsd.patch - http://bugs.debian.org/627821 [rt.cpan.org #69997] Use a socket timeout on GNU/kFreeBSD to catch ICMP port unreachable messages

        DEBPKG:fixes/hurd-hints - http://bugs.debian.org/636609 Improve general GNU hints, needed for GNU/Hurd.

        DEBPKG:fixes/pod_fixes - [7698aed] http://bugs.debian.org/637816 Fix typos in several pod/perl*.pod files

        DEBPKG:debian/find_html2text - http://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text

        DEBPKG:fixes/digest_eval_hole - http://bugs.debian.org/644108 Close the eval "require $module" security hole in Digest->new($algorithm)

        DEBPKG:fixes/hurd-ndbm - [f0d0a20] [perl #102680] http://bugs.debian.org/645989 Add GNU/Hurd hints for NDBM_File

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

        DEBPKG:fixes/hurd-largefile - [1fda587] [perl #103014] http://bugs.debian.org/645790 enable LFS on GNU/Hurd

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

        DEBPKG:fixes/hurd_skip_itimer_virtual - [rt.cpan.org #72754] http://bugs.debian.org/650094 Skip interval timer tests in Time::HiRes on GNU/Hurd

        DEBPKG:debian/hurd_test_skip_sigdispatch - http://bugs.debian.org/650188 Disable failing GNU/Hurd tests op/sigdispatch.t

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

        DEBPKG:debian/hurd_test_skip_pipe - http://bugs.debian.org/650187 Disable failing GNU/Hurd tests io/pipe.t

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

        DEBPKG:fixes/manpage_name_CPAN - http://bugs.debian.org/650448 [rt.cpan.org #73396] cpan/CPAN: add NAME headings in modules with POD

        DEBPKG:fixes/manpage_name_CPANPLUS - http://bugs.debian.org/650450 [rt.cpan.org #73398] cpan/CPANPLUS: add NAME headings in modules with POD

        DEBPKG:fixes/manpage_name_Test-Harness - http://bugs.debian.org/650451 [rt.cpan.org #73399] cpan/Test-Harness: add NAME headings in modules with POD

        DEBPKG:fixes/manpage_name_Term-UI - http://bugs.debian.org/650452 [rt.cpan.org #73400] cpan/Term-UI: add NAME headings in modules with POD

        DEBPKG:fixes/podlators_ae_ligature_fallback - http://bugs.debian.org/652851 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] [rt.cpan.org #73447] [rt.cpan.org #73446] Fix POD formatting in Term-Cap and Pod-Parser

        DEBPKG:fixes/cgi_no_shellwords_pl - Use Text::ParseWords instead of shellwords.pl

        DEBPKG:fixes/path_max_fallback - [perl #109262] http://bugs.debian.org/656869 Don't use _POSIX_PATH_MAX as a fallback PATH_MAX

        DEBPKG:debian/makemaker-pasthru - http://bugs.debian.org/660195 [rt.cpan.org #28632] Make EU::MM pass LD through to recursive Makefile.PL invocations

        DEBPKG:fixes/propagate_tainted_errors.patch - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663158 [perl #111654] properly propagate tainted errors

        DEBPKG:debian/perl5db-x-terminal-emulator.patch - http://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl

        DEBPKG:fixes/socket_cache_propagate - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659075 [rt.cpan.org #61577] [perl #112736] sockdomain and socktype undef on newly accepted sockets

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

  Built under linux

  Compiled at Sep  6 2012 22:39:29

  @INC:

    /etc/perl

    /usr/local/lib/perl/5.14.2

    /usr/local/share/perl/5.14.2

    /usr/lib/perl5

    /usr/share/perl5

    /usr/lib/perl/5.14

    /usr/share/perl/5.14

    /usr/local/lib/site_perl

    .

Subject: Re: [rt.cpan.org #81117] Use of uninitialized value in string ne
Date: Sat, 17 Aug 2013 20:51:50 +0100
To: "Steve (Telsat Broadband) via RT" <bug-Time-HiRes@rt.cpan.org>
From: Zefram <zefram@fysh.org>
Steve (Telsat Broadband) via RT wrote:
Show quoted text
>Use of uninitialized value in string ne at /etc/mydaemon/myscript.pm 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 rt.cpan.org to rt-cpan-admin@bestpractical.com.