Re: [perl #37190] -DT -e 'use warnings;' crashes

2005-09-19 Thread Rafael Garcia-Suarez
Nicholas Clark (via RT) wrote:
 Using -DT with use warnings; goes bang on OS X. I was able to get out of
 memory failures on FreeBSD, but everything works on x86/Linux, at least for
 me. I guess x86/Linux is just lucky - this seems to be a real bug, although
 quite where, I'm not sure.
 
 Starting gdb as gdb --args ./perl -Ilib -DT -e 'use warnings;'
 and running the program gives:

Moreover, this makes valgrind crash, giving this warning before hanging
and eating all CPU :

==13290== Warning: set address range perms: large range 171544052, a 0, v 1



Re: [perl #37190] -DT -e 'use warnings;' crashes

2005-09-19 Thread Dave Mitchell
On Sat, Sep 17, 2005 at 11:31:11AM -0700, Nicholas Clark wrote:
 Using -DT with use warnings; goes bang on OS X. I was able to get out of
 memory failures on FreeBSD, but everything works on x86/Linux, at least for
 me. I guess x86/Linux is just lucky - this seems to be a real bug, although
 quite where, I'm not sure.

It looks like its crashing in code I wrote, so its probably my fault.
If you don't mind waiting for a couple of weeks, I'll try to have a look
somretime.

-- 
Thank God I'm an atheist.


[perl #37190] -DT -e 'use warnings;' crashes

2005-09-17 Thread via RT
# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #37190]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37190 


This is a bug report for perl from [EMAIL PROTECTED],
generated with the help of perlbug 1.35 running under perl vv5.9.3.


-
[Please enter your report here]

Using -DT with use warnings; goes bang on OS X. I was able to get out of
memory failures on FreeBSD, but everything works on x86/Linux, at least for
me. I guess x86/Linux is just lucky - this seems to be a real bug, although
quite where, I'm not sure.

Starting gdb as gdb --args ./perl -Ilib -DT -e 'use warnings;'
and running the program gives:

Program received signal EXC_BAD_ACCESS, Could not access memory.
0x8ab0 in __memcpy ()
(gdb) where
#0  0x8ab0 in __memcpy ()
#1  0x00065390 in Perl_sv_catpvn_flags (my_perl=0x800200, dsv=0x815060, 
sstr=0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15, 
slen=4235230, flags=2) at sv.c:4723
#2  0x0013eadc in S_tokereport (my_perl=0x800200, s=0x81384e , # [0..46]\n, 
rv=40) at toke.c:327
#3  0x00146628 in Perl_yylex (my_perl=0x800200) at toke.c:2517
#4  0x0019304c in Perl_yyparse (my_perl=0x800200) at perly.c:412
#5  0x000efa90 in S_doeval (my_perl=0x800200, gimme=0, startop=0x0, 
outside=0x0, seq=0) at pp_ctl.c:2954
#6  0x000f20ac in Perl_pp_require (my_perl=0x800200) at pp_ctl.c:3411
#7  0x00173420 in Perl_runops_debug (my_perl=0x800200) at dump.c:1597
#8  0x00032500 in S_call_body (my_perl=0x800200, myop=0xbfffe540, is_eval=0 
'\0') at perl.c:2617
#9  0x00031f70 in Perl_call_sv (my_perl=0x800200, sv=0x810220, flags=6) at 
perl.c:2546
#10 0x00038c2c in S_call_list_body (my_perl=0x800200, cv=0x810220) at 
perl.c:5123
#11 0x0003861c in Perl_call_list (my_perl=0x800200, oldscope=2, 
paramList=0x8102f0) at perl.c:5062
#12 0x000212c4 in Perl_newATTRSUB (my_perl=0x800200, floor=112, o=0x405d70, 
proto=0x0, attrs=0x0, block=0x405e00) at op.c:4541
#13 0x0001b33c in Perl_utilize (my_perl=0x800200, aver=1, floor=112, 
version=0x0, idop=0x405b60, arg=0x0) at op.c:3079
#14 0x001945ac in Perl_yyparse (my_perl=0x800200) at perly.y:382
#15 0x00030730 in S_parse_body (my_perl=0x800200, env=0x0, xsinit=0x2c04 
xs_init) at perl.c:2133
#16 0x0002edc0 in perl_parse (my_perl=0x800200, xsinit=0x2c04 xs_init, 
argc=5, argv=0xb6fc, env=0x0) at perl.c:1540
#17 0x2b74 in main (argc=5, argv=0xb6fc, env=0xb714) at 
perlmain.c:101
(gdb) up
#1  0x00065390 in Perl_sv_catpvn_flags (my_perl=0x800200, dsv=0x815060, 
sstr=0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15, 
slen=4235230, flags=2) at sv.c:4723
4723Move(sstr, SvPVX(dsv) + dlen, slen, char);
(gdb) p sstr
$1 = 0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15
(gdb) p slen
$2 = 4235230

I suspect that this length has something to do with the out of memory on
FreeBSD. I've no idea what the pattern in the memory pointed to by sstr
represents.

Nicholas Clark

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

Configured by nick at Sat Sep 17 18:27:53 BST 2005.

Summary of my perl5 (revision 5 version 9 subversion 3) configuration:
  Platform:
osname=darwin, osvers=7.9.0, archname=darwin-thread-multi-2level
uname='darwin ship-in-a-bottle 7.9.0 darwin kernel version 7.9.0: wed mar 
30 20:11:17 pst 2005; root:xnuxnu-517.12.7.obj~1release_ppc power macintosh 
powerpc '
config_args='-Dusedevel=y -Dcc=ccache gcc -Dld=gcc -Ubincompat5005 
-Uinstallusrbinperl [EMAIL PROTECTED] [EMAIL PROTECTED] -Doptimize=-g 
-Dusethreads=y -Uuse64bitint -Duselargefiles -Dprefix=~/Sandpit/blead25436 -de'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='ccache gcc', ccflags ='-fno-common -DPERL_DARWIN -no-cpp-precomp 
-DDEBUGGING -fno-strict-aliasing -pipe',
optimize='-g',
cppflags='-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp 
-DDEBUGGING -fno-strict-aliasing -pipe'
ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1666)', 
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
alignbytes=8, prototype=define
  Linker and Libraries:
ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lc
perllibs=-ldl -lm -lc

Re: [perl #37190] -DT -e 'use warnings;' crashes

2005-09-17 Thread Rick Delaney
On Sat, Sep 17, 2005 at 11:31:11AM -0700, Nicholas Clark wrote:
 (gdb) up
 #1  0x00065390 in Perl_sv_catpvn_flags (my_perl=0x800200, dsv=0x815060, 
 sstr=0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15, 
 slen=4235230, flags=2) at sv.c:4723
 4723Move(sstr, SvPVX(dsv) + dlen, slen, char);
 (gdb) p sstr
 $1 = 0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15
 (gdb) p slen
 $2 = 4235230
 
 I suspect that this length has something to do with the out of memory on
 FreeBSD. I've no idea what the pattern in the memory pointed to by sstr
 represents.

The pattern is the bits for which warning categories are set, or
WARN_ALLstring.  The length should be WARNsize (12).

-- 
Rick Delaney
[EMAIL PROTECTED]