usleep segfaulting

Bug #1290735 reported by Florian Engelmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

OS: Ubuntu Trusty Tahr 14.04
Kernel: 3.13.0-16-generic #36-Ubuntu SMP Tue Mar 4 23:02:40 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Package: libc6
Source: eglibc
Version: 2.19-0ubuntu2
Replaces: libc6-amd64
Provides: glibc-2.19-1

In addition to the gdb trace in attachment , below the code

Perl Code (xs)

void SV_Usleep(unsigned int t)
   PREINIT:
   PPCODE:

   usleep((useconds_t)t);

C-Code (generated)

XS_EUPXS(XS_SysView__Extent_SV_Usleep); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_SysView__Extent_SV_Usleep)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv, "t");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
#line 441 "Extent.xs"
#line 792 "Extent.c"
        unsigned int t = (unsigned int)SvUV(ST(0))
;
#line 443 "Extent.xs"
   usleep((useconds_t)t);
#line 797 "Extent.c"
        PUTBACK;
        return;
    }
}

============== gdb =========================
 gdb ../bin/perl core
GNU gdb (Ubuntu 7.7-0ubuntu3) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../bin/perl...done.
[New LWP 16769]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Core was generated by `/opt/SysView/bin/perl /opt/SysView/script/SVdequeue.pl'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f56a6375f79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb)
(gdb) where
#0 0x00007f56a6375f79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f56a6379388 in __GI_abort () at abort.c:89
#2 0x00007f56a63b30a4 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f56a64bf1b5 "*** %s ***: %s terminated\n")
    at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007f56a644a8ec in __GI___fortify_fail (msg=<optimized out>) at fortify_fail.c:37
#4 0x00007f56a644a7fd in ____longjmp_chk () at ../sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S:100
#5 0x00007f56a644a759 in __longjmp_chk (env=0x1, val=1) at ../setjmp/longjmp.c:38
#6 0x00007f56a51c3ec9 in sigtimeout () from /opt/SysView/lib/libSVutils.so.1
#7 <signal handler called>
#8 0x00007f56a6400b80 in __nanosleep_nocancel () at ../sysdeps/unix/syscall-template.S:81
#9 0x00007f56a6432154 in usleep (useconds=<optimized out>) at ../sysdeps/unix/sysv/linux/usleep.c:32
#10 0x00007f56a55cf709 in XS_SysView__Extent_SV_Usleep ()
   from /opt/SysView/lib/perl5/site_perl/5.18.2/x86_64-linux-thread-multi/auto/SysView/Extent/Extent.so
#11 0x00007f56a67c63f6 in Perl_pp_entersub () from /opt/SysView/lib/perl5/5.18.2/x86_64-linux-thread-multi/CORE/libperl.so
#12 0x00007f56a67bea16 in Perl_runops_standard () from /opt/SysView/lib/perl5/5.18.2/x86_64-linux-thread-multi/CORE/libperl.so
#13 0x00007f56a67573d4 in perl_run () from /opt/SysView/lib/perl5/5.18.2/x86_64-linux-thread-multi/CORE/libperl.so
#14 0x0000000000400e19 in main ()
(gdb)
#0 0x00007f56a6375f79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f56a6379388 in __GI_abort () at abort.c:89
#2 0x00007f56a63b30a4 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f56a64bf1b5 "*** %s ***: %s terminated\n")
    at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007f56a644a8ec in __GI___fortify_fail (msg=<optimized out>) at fortify_fail.c:37
#4 0x00007f56a644a7fd in ____longjmp_chk () at ../sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S:100
#5 0x00007f56a644a759 in __longjmp_chk (env=0x1, val=1) at ../setjmp/longjmp.c:38
#6 0x00007f56a51c3ec9 in sigtimeout () from /opt/SysView/lib/libSVutils.so.1
#7 <signal handler called>
#8 0x00007f56a6400b80 in __nanosleep_nocancel () at ../sysdeps/unix/syscall-template.S:81
#9 0x00007f56a6432154 in usleep (useconds=<optimized out>) at ../sysdeps/unix/sysv/linux/usleep.c:32
#10 0x00007f56a55cf709 in XS_SysView__Extent_SV_Usleep ()
   from /opt/SysView/lib/perl5/site_perl/5.18.2/x86_64-linux-thread-multi/auto/SysView/Extent/Extent.so
#11 0x00007f56a67c63f6 in Perl_pp_entersub () from /opt/SysView/lib/perl5/5.18.2/x86_64-linux-thread-multi/CORE/libperl.so
#12 0x00007f56a67bea16 in Perl_runops_standard () from /opt/SysView/lib/perl5/5.18.2/x86_64-linux-thread-multi/CORE/libperl.so
#13 0x00007f56a67573d4 in perl_run () from /opt/SysView/lib/perl5/5.18.2/x86_64-linux-thread-multi/CORE/libperl.so
#14 0x0000000000400e19 in main ()

======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7409f)[0x7f6a367fc09f]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f6a368938ec]
/lib/x86_64-linux-gnu/libc.so.6(+0x10b7fd)[0x7f6a368937fd]
/lib/x86_64-linux-gnu/libc.so.6(__longjmp_chk+0x29)[0x7f6a36893759]
/opt/SysView/lib/libSVutils.so.1(+0x1ec9)[0x7f6a3560cec9]
/lib/x86_64-linux-gnu/libc.so.6(+0x36ff0)[0x7f6a367beff0]
/lib/x86_64-linux-gnu/libc.so.6(nanosleep+0x10)[0x7f6a36849b80]
/lib/x86_64-linux-gnu/libc.so.6(usleep+0x34)[0x7f6a3687b154]
/opt/SysView/lib/perl5/site_perl/5.18.2/x86_64-linux-thread-multi/auto/SysView/Extent/Extent.so(+0x3709)[0x7f6a35a18709]

Revision history for this message
Florian Engelmann (engelmann) wrote :
Download full text (4.2 KiB)

It looks like this does not happen on an AMD CPU but it does happen on the following HW:

    description: Rack Mount Chassis
    product: ProLiant DL380p Gen8 (653200-B21)
    vendor: HP
    serial: xxxxxxxxxxxxxxxxxxxxxxxx
    width: 64 bits
    capabilities: smbios-2.7 dmi-2.7 vsyscall32
    configuration: boot=normal chassis=rackmount family=ProLiant sku=653200-B21 uuid=36353332-3030-435A-3233-35303xxxxxxxxx
  *-core
       description: Motherboard
       physical id: 0
     *-firmware
          description: BIOS
          vendor: HP
          physical id: 0
          version: P70
          date: 09/18/2013
          size: 64KiB
          capacity: 8128KiB
          capabilities: pci pnp upgrade shadowing escd cdboot bootselect edd int13floppy360 int13floppy1200 int13floppy720 int5printscreen int9keyboard int14serial int17printer int10video acpi usb biosbootspecification netboot
     *-cpu:0
          description: CPU
          product: Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz
          vendor: Intel Corp.
          physical id: 400
          bus info: cpu@0
          version: Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz
          slot: Proc 1
          size: 1200MHz
          capacity: 1200MHz
          width: 64 bits
          clock: 100MHz
          capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms cpufreq
          configuration: cores=8 enabledcores=8 threads=16
        *-cache:0
             description: L1 cache
             physical id: 710
             slot: Processor 1 Internal L1 Cache
             size: 256KiB
             capacity: 384KiB
             capabilities: burst internal write-back data
        *-cache:1
             description: L2 cache
             physical id: 720
             slot: Processor 1 Internal L2 Cache
             size: 2MiB
             capacity: 3MiB
             capabilities: burst internal write-back
        *-cache:2
             description: L3 cache
             physical id: 730
             slot: Processor 1 Internal L3 Cache
             size: 25MiB
             capacity: 30MiB
             capabilities: burst internal write-back
     *-cpu:1
          description: CPU
          product: Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz
          vendor: Intel Corp.
          physical id: 401
          bus info: cpu@1
          version: Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz
          slot: Proc 2
          size: 1200MHz
          capacity: 1200MHz
          width: 64 bits
          clock: 100MHz
          capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc arch_perfmon pebs bts rep_go...

Read more...

Anders (eddiedog988)
Changed in eglibc (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.