Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Devel-Cover CPAN distribution.

Report information
The Basics
Id: 58996
Status: resolved
Priority: 0/
Queue: Devel-Cover

People
Owner: Nobody in particular
Requestors: gene [...] digilicious.com
jkeenan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.64
Fixed in: (no value)



Subject: IPC::Run in a BEGIN{} block crashes Devel::Cover
$ perl -MDevel::Cover run.pl error: Illegal seek at run.pl line 13 main::BEGIN() called at run.pl line 14 eval {...} called at run.pl line 14 BEGIN failed--compilation aborted at run.pl line 14. Devel::Cover 0.64: Collecting coverage data for branch, condition, pod, statement, subroutine and time. Selecting packages matching: Ignoring packages matching: /Devel/Cover[./] Ignoring packages in: . /usr/lib/perl5/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi Devel::Cover: Writing coverage database to /home/gene/src/cover_db/runs/1277934484.21728.31485 ---------------------------- ------ ------ ------ ------ ------ ------ - ----- File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ - ----- run.pl 100.0 50.0 n/a 100.0 n/a 100.0 96.2 Total 100.0 50.0 n/a 100.0 n/a 100.0 96.2 ---------------------------- ------ ------ ------ ------ ------ ------ - ----- [gene@mt src]$ ls -l core.21729 -rw-------. 1 gene gene 15921152 2010-06-30 14:48 core.21729 [gene@mt src]$ gdb `which perl` core.21729 GNU gdb (GDB) Fedora (7.0.1-48.fc12) Copyright (C) 2009 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-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/perl...Reading symbols from /usr/lib/debug/usr/bin/perl5.10.0.debug...done. done. Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/CORE/libperl.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/CORE/libperl.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/CORE/libperl.so Reading symbols from /lib64/libresolv-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libresolv-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libresolv-2.11.2.so Reading symbols from /lib64/libnsl-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libnsl-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libnsl-2.11.2.so Reading symbols from /lib64/libdl-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libdl-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libdl-2.11.2.so Reading symbols from /lib64/libm-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libm-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libm-2.11.2.so Reading symbols from /lib64/libcrypt-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libcrypt-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libcrypt-2.11.2.so Reading symbols from /lib64/libutil-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libutil-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libutil-2.11.2.so Reading symbols from /lib64/libpthread-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libpthread-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libpthread-2.11.2.so Reading symbols from /lib64/libc-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/libc-2.11.2.so.debug...done. done. Loaded symbols for /lib64/libc-2.11.2.so Reading symbols from /lib64/ld-2.11.2.so...Reading symbols from /usr/lib/debug/lib64/ld-2.11.2.so.debug...done. done. Loaded symbols for /lib64/ld-2.11.2.so Reading symbols from /lib64/libfreebl3.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libfreebl3.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/B/B.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/B/B.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/B/B.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Cwd/Cwd.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Cwd/Cwd.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Cwd/Cwd.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/List/Util/Util.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/List/Util/Util.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/List/Util/Util.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Digest/MD5/MD5.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Digest/MD5/MD5.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Digest/MD5/MD5.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/IO/IO.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/IO/IO.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/IO/IO.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Fcntl/Fcntl.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Fcntl/Fcntl.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Fcntl/Fcntl.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Storable/Storable.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Storable/Storable.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Storable/Storable.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/File/Glob/Glob.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/File/Glob/Glob.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/File/Glob/Glob.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Data/Dumper/Dumper.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Data/Dumper/Dumper.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/Data/Dumper/Dumper.so Reading symbols from /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux- thread-multi/auto/Devel/Cover/Cover.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux- thread-multi/auto/Devel/Cover/Cover.so Reading symbols from /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/POSIX/POSIX.so...Reading symbols from /usr/lib/debug/usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/POSIX/POSIX.so.debug...done. done. Loaded symbols for /usr/lib64/perl5/5.10.0/x86_64-linux-thread- multi/auto/POSIX/POSIX.so Reading symbols from /lib/modules/2.6.32.14- 127.fc12.x86_64/vdso/vdso.so...Reading symbols from /usr/lib/debug/lib/modules/2.6.32.14- 127.fc12.x86_64/vdso/vdso.so.debug...done. done. Loaded symbols for /lib/modules/2.6.32.14-127.fc12.x86_64/vdso/vdso.so Core was generated by `perl -MDevel::Cover run.pl'. Program terminated with signal 11, Segmentation fault. #0 0x00007f224e3667d6 in XS_Devel__Cover_get_ends () from /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread- multi/auto/Devel/Cover/Cover.so Missing separate debuginfos, use: debuginfo-install nss-softokn-freebl- 3.12.6-2.fc12.1.x86_64 perl-Devel-Cover-0.64-3.fc12.x86_64 (gdb) where #0 0x00007f224e3667d6 in XS_Devel__Cover_get_ends () from /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread- multi/auto/Devel/Cover/Cover.so #1 0x00000035e52bb12a in Perl_pp_entersub (my_perl=0x7f0010) at pp_hot.c:2850 #2 0x00007f224e361e1c in ?? () from /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread- multi/auto/Devel/Cover/Cover.so #3 0x00000035e52f80b5 in S_docatch (my_perl=<value optimized out>, o=<value optimized out>) at pp_ctl.c:2678 #4 0x00007f224e36448b in ?? () from /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread- multi/auto/Devel/Cover/Cover.so #5 0x00000035e52b60e6 in Perl_call_sv (my_perl=<value optimized out>, sv=0x113e8c0, flags=<value optimized out>) at perl.c:2638 #6 0x00007f224e364b67 in ?? () from /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread- multi/auto/Devel/Cover/Cover.so #7 0x00000035e52b652d in Perl_call_sv (my_perl=<value optimized out>, sv=0x155e448, flags=<value optimized out>) at perl.c:2653 #8 0x00000035e52b6afd in Perl_call_list (my_perl=<value optimized out>, oldscope=<value optimized out>, paramList=<value optimized out>) at perl.c:5146 #9 0x00000035e525e357 in S_process_special_blocks (my_perl=0x7f0010, fullname=<value optimized out>, gv=0x811ef0, cv=0x155e448) at op.c:5643 #10 0x00000035e526ca5f in Perl_newATTRSUB (my_perl=0x7f0010, floor=<value optimized out>, o=<value optimized out>, proto=<value optimized out>, attrs=<value optimized out>, block=<value optimized out>) at op.c:5616 #11 0x00000035e525c608 in Perl_yyparse (my_perl=0x7f0010) at perly.y:551 #12 0x00000035e52b4899 in S_parse_body (my_perl=0x7f0010, env=<value optimized out>, xsinit=<value optimized out>) at perl.c:2237 #13 0x00000035e52b780e in perl_parse (my_perl=<value optimized out>, xsinit=<value optimized out>, argc=<value optimized out>, argv=0x7fff946ed778, env=<value optimized out>) at perl.c:1657 #14 0x0000000000400c7f in main (argc=3, argv=0x7fff946ed778, env=0x7fff946ed798) at perlmain.c:111 (gdb)
Subject: run.pl
#!/usr/bin/env perl use strict; use warnings; use Carp; use English qw( -no_match_vars ); # Avoids regex performance penalty use IPC::Run qw( run timeout ); BEGIN { my @cmd = qw(/bin/true); my ( $in, $out, $err ); run \@cmd, \$in, \$out, \$err or confess("error: $OS_ERROR"); }
From: gene [...] digilicious.com
On Wed Jun 30 17:50:13 2010, genehightower wrote: Show quoted text
> $ perl -MDevel::Cover run.pl > error: Illegal seek at run.pl line 13 > main::BEGIN() called at run.pl line 14 > eval {...} called at run.pl line 14 > BEGIN failed--compilation aborted at run.pl line 14. > Devel::Cover 0.64: Collecting coverage data for branch, condition, pod,
This problem seems to have been fixed on the new version, 0.67. Thanks!
OP satisfied. I confirmed his result. $ cat 58996_ipc_run.pl #!/usr/local/bin/perl use strict; use warnings; use 5.010_001; BEGIN { use IPC::Run; } say "Hello world"; $ perl -MDevel::Cover 58996_ipc_run.pl Devel::Cover 1.01: Collecting coverage data for branch, condition, pod, statement, subroutine and time. Selecting packages matching: Ignoring packages matching: /Devel/Cover[./] Ignoring packages in: /usr/local/lib/perl5/site_perl/5.16.0/i686-linux /usr/local/lib/perl5/site_perl/5.16.0 /usr/local/lib/perl5/5.16.0/i686-linux /usr/local/lib/perl5/5.16.0 /usr/local/lib/perl5/site_perl/5.14.0 /usr/local/lib/perl5/site_perl/5.12.0 /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/site_perl/5.10.0 /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl Hello world Devel::Cover: Writing coverage database to /home/jimk/learn/perl/Devel-Cover/58996/cover_db/runs/1364783146.8241.56930 ---------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ ------ 58996_ipc_run.pl 100.0 n/a n/a 100.0 n/a 100.0 100.0 Total 100.0 n/a n/a 100.0 n/a 100.0 100.0 ---------------------------- ------ ------ ------ ------ ------ ------ ------ Closing ticket.