Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prob w/dtrace.t test #16188

Open
p5pRT opened this issue Oct 8, 2017 · 5 comments
Open

prob w/dtrace.t test #16188

p5pRT opened this issue Oct 8, 2017 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented Oct 8, 2017

Migrated from rt.perl.org#132243 (status was 'open')

Searchable as RT132243$

@p5pRT
Copy link
Author

p5pRT commented Oct 8, 2017

From perl-diddler@tlinx.org

Created by perl-diddler@tlinx.org

In running the tests after building perl -- test 'dtrace.t failed.
(t/run/dtrace.t)

Running it manually, I get​:

Ishtar​:perl/perl-5.26.0/t> sudo perl run/dtrace.t
1..0 # Skip Apparently can't probe using /usr/bin/dtrace (perhaps you need root?)​: ('/usr/bin/dtrace', 'invalid option', '-qnBEGIN')
Usage /usr/bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]

---
It seems that the test used invalid options for this dtrace (I can't find
how to find a version). It isn't clear to me where the problem is,
perhaps the test writer might know what's going on?

Perl Info

Flags:
    category=install
    severity=low

Site configuration information for perl 5.26.0:

Configured by law at Sat Oct  7 15:42:15 PDT 2017.

Summary of my perl5 (revision 5 version 26 subversion 0) configuration:
   
  Platform:
    osname=linux
    osvers=4.13.5-isht-van
    archname=x86_64-linux-thread-multi-ld
    uname='linux ishtar 4.13.5-isht-van #2 smp preempt thu oct 5 15:26:06 pdt 2017 x86_64 gnulinux '
    config_args=''
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=define
    usemymalloc=n
    default_inc_excludes_dot=undef
    bincompat5005=undef
  Compiler:
    cc='gcc'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-explicit -I/home/perl/perl-5.26.0/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-explicit -I/home/perl/perl-5.26.0/include'
    ccversion=''
    gccversion='7.1.0'
    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='long double'
    nvsize=16
    Off_t='off_t'
    lseeksize=8
    alignbytes=16
    prototype=define
  Linker and Libraries:
    ld='gcc'
    ldflags ='-fstack-protector-explicit -I/home/perl/perl-5.26.0/include'
    libpth=/usr/local/lib //lib /usr/lib64/gcc/x86_64-pc-linux-gnu/7/include-fixed /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64
    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=true
    libperl=libperl-5.26.0.so
    gnulibc_version='2.19'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E -Wl,-rpath,/home/perl/perl-5.26.0/usr/lib/5.26.0/x86_64-linux-thread-multi-ld/CORE'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2'



@INC for perl 5.26.0:
    lib
    /home/perl/perl-5.26.0/usr/lib/site_perl/5.26.0/x86_64-linux-thread-multi-ld
    /home/perl/perl-5.26.0/usr/lib/site_perl/5.26.0
    /home/perl/perl-5.26.0/usr/lib/5.26.0/x86_64-linux-thread-multi-ld
    /home/perl/perl-5.26.0/usr/lib/5.26.0


Environment for perl 5.26.0:
    HOME=/home/law
    LANG (unset)
    LANGUAGE (unset)
    LC_COLLATE=C
    LC_CTYPE=en_US.UTF-8
    LC_MESSAGES=C
    LC_MONETARY=C
    LC_NUMERIC=C
    LC_TIME=C
    LD_LIBRARY_PATH=/home/perl/perl-5.26.0:/home/perl/perl-5.26.0/usr/lib
    LOGDIR (unset)
    PATH=/home/perl/perl-5.26.0/usr/bin:/home/perl/perl-5.26.0:/sbin:/home/law/bin/lib:/home/law/bin:/usr/local/bin:/usr/bin:/bin:/opt/kde3/bin:/usr/sbin:.:/etc/local/func_lib:/home/law/lib
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Oct 8, 2017

From @jkeenan

On Sun, 08 Oct 2017 03​:03​:28 GMT, LAWalsh wrote​:

This is a bug report for perl from perl-diddler@​tlinx.org,
generated with the help of perlbug 1.40 running under perl 5.26.0.

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

In running the tests after building perl -- test 'dtrace.t failed.
(t/run/dtrace.t)

Running it manually, I get​:

Ishtar​:perl/perl-5.26.0/t> sudo perl run/dtrace.t
1..0 # Skip Apparently can't probe using /usr/bin/dtrace (perhaps you
need root?)​: ('/usr/bin/dtrace', 'invalid option', '-qnBEGIN')
Usage /usr/bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o
<File>]

---
It seems that the test used invalid options for this dtrace (I can't
find
how to find a version). It isn't clear to me where the problem is,
perhaps the test writer might know what's going on?

Are you sure that you actually have 'dtrace' available on that machine? (I am told that 'strace' is much more common on linux that 'dtrace'.)

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Oct 8, 2017

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Oct 8, 2017

From perl-diddler@tlinx.org

Are you sure that you actually have 'dtrace' available on that
machine? (I am told that 'strace' is much more common on linux that
'dtrace'.)

Thank you very much.


strace is likely to be on every linux development machine​: it's the system call tracer.

The output I included from the dtrace program uses "dtrace" 3 times.
(It's also nothing like strace)...

FWIW -- they are for completely different purposes.

'dtrace' gathers information comming back from "systemtap" probe points.
It's from package​:
  systemtap-sdt-devel-3.1-1.2.x86_64

FYI -- dtrace's help​:

dtrace --help
Usage /usr/bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]
Where -h builds a systemtap header file from the .d file
  -C when used with -h, also run cpp preprocessor
  -o specifies an explicit output file name,
  the default for -G is file.o and -h is file.h
  -I when running cpp pass through this -I include Path
  -s specifies the name of the .d input file
  -G builds a stub file.o from file.d,
  which is required by some packages that use dtrace.

I'm guessing maybe the test tests output coming from a different
version, but have only used dtrace a few times, so don't know its history...

@p5pRT
Copy link
Author

p5pRT commented Oct 8, 2017

From @tonycoz

On Sun, Oct 08, 2017 at 02​:19​:45AM -0700, Linda Walsh via RT wrote​:

Are you sure that you actually have 'dtrace' available on that
machine? (I am told that 'strace' is much more common on linux that
'dtrace'.)

Thank you very much.
----

strace is likely to be on every linux development machine​: it's the system call tracer.

The output I included from the dtrace program uses "dtrace" 3 times.
(It's also nothing like strace)...

FWIW -- they are for completely different purposes.

'dtrace' gathers information comming back from "systemtap" probe points.
It's from package​:
systemtap-sdt-devel-3.1-1.2.x86_64

FYI -- dtrace's help​:

dtrace --help
Usage /usr/bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]
Where -h builds a systemtap header file from the .d file
-C when used with -h, also run cpp preprocessor
-o specifies an explicit output file name,
the default for -G is file.o and -h is file.h
-I when running cpp pass through this -I include Path
-s specifies the name of the .d input file
-G builds a stub file.o from file.d,
which is required by some packages that use dtrace.

I'm guessing maybe the test tests output coming from a different
version, but have only used dtrace a few times, so don't know its history...

The tests should probably be skipped or replaced with systemtap
specific tests on Linux.

Systemtap's dtrace emulation only supports the binary build steps, not
the use of probes that a native (freebsd, OS X, Solaris) dtrace
supports.

Tony

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants