develooper Front page | perl.perl5.porters | Postings from August 2017

[perl #131975] duplicate stack extend reporting for xsubs

Thread Previous
From:
Tony Cook
Date:
August 28, 2017 03:58
Subject:
[perl #131975] duplicate stack extend reporting for xsubs
Message ID:
rt-4.0.24-27065-1503892728-1064.131975-75-0@perl.org
# New Ticket Created by  Tony Cook 
# Please include the string:  [perl #131975]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131975 >


This is a bug report for perl from tony@develop-help.com,
generated with the help of perlbug 1.40 running under perl 5.27.4.


-----------------------------------------------------------------
[Please describe your issue here]

This is just an RFC for the attached patch, which I'll apply on no
negative comments.

Dave's patches to Perl_runops_debug() have been great for reporting XS
code that doesn't properly extend the stack.

Unfortunately tracking down the location of the fault in complex code
can be difficult with the message reported by the run loop.

The attacked patch adds a similar check to pp_entersub when calling
XSUBs and reports the name of the XSUB to make it simpler to track
down the fault.

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=low
---
Site configuration information for perl 5.27.4:

Configured by tony at Mon Aug 28 11:55:58 AEST 2017.

Summary of my perl5 (revision 5 version 27 subversion 4) configuration:
  Derived from: 43272d222fe12f33c708d42b2a71af36cc92e4bd
  Platform:
    osname=linux
    osvers=3.16.0-4-amd64
    archname=x86_64-linux
    uname='linux mars 3.16.0-4-amd64 #1 smp debian 3.16.43-2+deb8u1 (2017-06-18) x86_64 gnulinux '
    config_args='-des -Dusedevel -DDEBUGGING -Doptimize=-O0 -g -Dprefix=/home/tony/perl/blead'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
    optimize='-O0 -g'
    cppflags='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='4.9.2'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.19.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.19'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O0 -g -L/usr/local/lib -fstack-protector-strong'

Locally applied patches:
    uncommitted-changes

---
@INC for perl 5.27.4:
    /home/tony/perl/blead/lib/site_perl/5.27.4/x86_64-linux
    /home/tony/perl/blead/lib/site_perl/5.27.4
    /home/tony/perl/blead/lib/5.27.4/x86_64-linux
    /home/tony/perl/blead/lib/5.27.4

---
Environment for perl 5.27.4:
    HOME=/home/tony
    LANG=en_AU.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/tony/perl5/perlbrew/bin:/home/tony/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    PERLBREW_BASHRC_VERSION=0.43
    PERLBREW_HOME=/home/tony/.perlbrew
    PERLBREW_MANPATH=
    PERLBREW_PATH=/home/tony/perl5/perlbrew/bin
    PERLBREW_ROOT=/home/tony/perl5/perlbrew
    PERLBREW_VERSION=0.67
    PERL_BADLANG (unset)
    SHELL=/bin/bash

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About