Closed p5pRT closed 10 years ago
The following script causes a segmentation fault:
#!/usr/bin/env perl
use strict; use I18N::Langinfo qw(langinfo CODESET);
my $encoding = langinfo CODESET; print "Encoding: $encoding\n";
my $agrave = chr(0xe0); my $str = "A grave = '$agrave'"; print "Test 1\n"; print STDERR " print: $str\n"; print "Test 2\n"; warn " warn: $str\n"; binmode STDERR\, ":encoding($encoding)"; print "Test 3\n"; print STDERR " print: $str\n"; print "Test 4\n"; warn " warn: $str\n";
$ ./warntest Encoding: ISO-8859-1 Test 1 print: A grave = 'à' Test 2 warn: A grave = 'à' Test 3 print: A grave = 'à' Test 4 zsh: segmentation fault (core dumped) ./warntest
The backtrace:
(gdb) bt #0 0xb7e6effc in _int_malloc () from /lib/i686/cmov/libc.so.6 #1 0xb7e70d0e in malloc () from /lib/i686/cmov/libc.so.6 #2 0x080ac83f in Perl_safesysmalloc () #3 0x080cae8c in Perl_sv_grow () #4 0x080cafa3 in Perl_newSV () #5 0xb7ba6fd3 in ?? () from /usr/lib/perl/5.8/auto/Encode/Encode.so #6 0x0814e008 in ?? () #7 0x00000401 in ?? () #8 0x00000000 in ?? ()
There seems to be something wrong with the backtrace. With 5.8.7\, there was an infinite recursion\, as shown by:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343831
On Thu Jun 14 03:57:22 2007\, vincent \<!-- x --> at vinc17.org wrote:
This is a bug report for perl from vincent \<!-- x --> at vinc17.org\, generated with the help of perlbug 1.35 running under perl v5.8.8.
----------------------------------------------------------------- [Please enter your report here]
The following script causes a segmentation fault:
#!/usr/bin/env perl
use strict; use I18N::Langinfo qw(langinfo CODESET);
my $encoding = langinfo CODESET; print "Encoding: $encoding\n";
my $agrave = chr(0xe0); my $str = "A grave = '$agrave'"; print "Test 1\n"; print STDERR " print: $str\n"; print "Test 2\n"; warn " warn: $str\n"; binmode STDERR\, ":encoding($encoding)"; print "Test 3\n"; print STDERR " print: $str\n"; print "Test 4\n"; warn " warn: $str\n";
$ ./warntest Encoding: ISO-8859-1 Test 1 print: A grave = 'à' Test 2 warn: A grave = 'à' Test 3 print: A grave = 'à' Test 4 zsh: segmentation fault (core dumped) ./warntest
The backtrace:
(gdb) bt #0 0xb7e6effc in _int_malloc () from /lib/i686/cmov/libc.so.6 #1 0xb7e70d0e in malloc () from /lib/i686/cmov/libc.so.6 #2 0x080ac83f in Perl_safesysmalloc () #3 0x080cae8c in Perl_sv_grow () #4 0x080cafa3 in Perl_newSV () #5 0xb7ba6fd3 in ?? () from /usr/lib/perl/5.8/auto/Encode/Encode.so #6 0x0814e008 in ?? () #7 0x00000401 in ?? () #8 0x00000000 in ?? ()
There seems to be something wrong with the backtrace. With 5.8.7\, there was an infinite recursion\, as shown by:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343831
I can't reproduce this problem\, but I also don't know what version of Encode you're using. Please reply to this email with the output from...
perl -MEncode -wle'print $Encode::VERSION'
Thanks!
The RT System itself - Status changed from 'new' to 'open'
On 2007-06-29 09:05:41 -0700\, Steve Peters via RT wrote:
I can't reproduce this problem\, but I also don't know what version of Encode you're using. Please reply to this email with the output from...
perl \-MEncode \-wle'print $Encode​::VERSION'
$ perl -MEncode -wle'print $Encode::VERSION' 2.12
Note: the module is provided by the Debian perl package (current perl package version: 5.8.8-7).
-- Vincent Lefèvre \vincent@​vinc17\.org - Web: \<http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: \<http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP\, ENS-Lyon)
Note: this is even worse with the C locale:
vin% locale LANG=POSIX LC_CTYPE=en_US.ISO8859-1 LC_NUMERIC="POSIX" LC_TIME=en_DK LC_COLLATE=POSIX LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= vin% ./warntest Encoding: ISO-8859-1 Test 1 print: A grave = 'à' Test 2 warn: A grave = 'à' Test 3 print: A grave = 'à' Test 4 zsh: segmentation fault (core dumped) ./warntest vin% LC_ALL=C ./warntest Encoding: ANSI_X3.4-1968 Test 1 print: A grave = 'à' Test 2 warn: A grave = 'à' Test 3 zsh: segmentation fault (core dumped) LC_ALL=C ./warntest vin%
-- Vincent Lefèvre \vincent@​vinc17\.org - Web: \<http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: \<http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP\, ENS-Lyon)
On Fri Jun 29 09:25:45 2007\, vincent \<!-- x --> at vinc17.org wrote:
On 2007-06-29 09:05:41 -0700\, Steve Peters via RT wrote:
I can't reproduce this problem\, but I also don't know what version of Encode you're using. Please reply to this email with the output from...
perl \-MEncode \-wle'print $Encode​::VERSION'
$ perl -MEncode -wle'print $Encode::VERSION' 2.12
Note: the module is provided by the Debian perl package (current perl package version: 5.8.8-7).
Can you replicate the problem with the most recent version available on CPAN (2.23)?
On 2007-06-29 13:58:10 -0700\, Steve Peters via RT wrote:
Can you replicate the problem with the most recent version available on CPAN (2.23)?
Same problem (here under Mac OS X):
prunille% perl -MEncode -wle'print $Encode::VERSION' 2.23 prunille% ./warntest Encoding: ISO8859-1 Test 1 print: A grave = 'à' Test 2 warn: A grave = 'à' Test 3 print: A grave = 'à' Test 4 zsh: segmentation fault ./warntest prunille% LC_ALL=C ./warntest Encoding: US-ASCII Test 1 print: A grave = 'à' Test 2 warn: A grave = 'à' Test 3 zsh: segmentation fault LC_ALL=C ./warntest prunille%
-- Vincent Lefèvre \vincent@​vinc17\.org - Web: \<http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: \<http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP\, ENS-Lyon)
With perl 5.10.0 and 5.10.1\, I no longer get a segmentation fault\, but the result of Test 4 is incorrect:
Encoding: ISO-8859-1 [...] Test 4 warn: A grave = '\x{09ca}
without a newline\, and under UTF-8 locales:
Encoding: UTF-8 [...] Test 4 warn: A grave = '\xE0'
-- Vincent Lefèvre \vincent@​vinc17\.net - Web: \<http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: \<http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / Arénaire project (LIP\, ENS-Lyon)
On Thu Oct 29 08:56:06 2009\, vincent@vinc17.net wrote:
With perl 5.10.0 and 5.10.1\, I no longer get a segmentation fault\, but the result of Test 4 is incorrect:
Encoding: ISO-8859-1 [...] Test 4 warn: A grave = '\x{09ca}
without a newline\, and under UTF-8 locales:
Encoding: UTF-8 [...] Test 4 warn: A grave = '\xE0'
There has been no correspondence in this RT in more than four years.
Tonight I built Perl blead with -Dusethreads and -Duselargefiles on the Dromedary server\, then ran the OP's program. This was the output:
##### $ ./perl -Ilib ../p5p/43214-langinfo.pl Encoding: UTF-8 Test 1 print: A grave = '?' Test 2 warn: A grave = '?' Test 3 print: A grave = 'à' Test 4 warn: A grave = 'à' #####
Is there still a problem which needs addressing?
Thank you very much. Jim Keenan
On 2013-12-15 18:58:28 -0800\, James E Keenan via RT wrote:
Is there still a problem which needs addressing?
No\, everything is OK (both with ISO-8859-1 and with UTF-8) in Debian/unstable\, using perl v5.18.1.
This bug can be closed.
-- Vincent Lefèvre \vincent@​vinc17\.net - Web: \<http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: \<http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP\, ENS-Lyon)
On Mon Dec 16 10:18:03 2013\, vincent@vinc17.net wrote:
On 2013-12-15 18:58:28 -0800\, James E Keenan via RT wrote:
Is there still a problem which needs addressing?
No\, everything is OK (both with ISO-8859-1 and with UTF-8) in Debian/unstable\, using perl v5.18.1.
This bug can be closed.
Closing per request from OP.
Thank you very much. Jim Keenan
@jkeenan - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#43214 (status was 'resolved')
Searchable as RT43214$