2011-04-06 4 views
2

아래 프로그램을 Ctrl + C로 중단하면 perl 5.10.0에서 "세그먼트 오류"가 발생합니다. perl 5.8.8에서 올바르게 작동합니다. 왜 그런가?Perl 5.10.0 신호 처리기 문제

#!/usr/bin/perl 

# just changing the shebang line to use perl 5.10.0 causes it to seg fault 
# when interrupted with Ctrl + C 

use strict; 
use warnings; 

$SIG{INT}=\&clean; 

sub clean { 
    print 'caught'; 
} 
sleep 10; 

(Problem with perl signal INT에서 가져온 프로그램)

펄 5.10 버전은 다음과 같습니다

$ perl5.10.0 -v 

This is perl, v5.10.0 built for i686-linux-thread-multi 
(with 3 registered patches, see perl -V for more detail) 

Copyright 1987-2007, Larry Wall 

Binary build 1002 [283697] provided by ActiveState http://www.ActiveState.com 
Built Jan 10 2008 07:35:18 
... 

리눅스 배포판 :

$ cat /proc/version 
Linux version 2.6.18-128.7.1.el5 ([email protected]) 
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Aug 19 04:00:49 EDT 2009 

감사합니다 당신이있어

+4

이 문제는 http://www.perlmonks.org/에 게시하는 것이 좋습니다. 거기에는 더 많은 플랫폼에서 테스트 할 수있는 Perl 사용자가 많이 있으며 이런 버그에 대해 누가 알 것입니다. 현재의 Perl 플랫폼에서 여전히 버그 인 경우, perlbug 유틸리티를 사용하여 확실히보고해야합니다. – btilly

+0

왜 5.10.0입니까? 5.10.1 또는 5.12.3을 시도 했습니까? – Ether

+0

그것이 우리 시스템에서 액세스 할 수있는 최신 정보입니다. 나는 내 자신을 만들 수 있지만 나는 최후의 수단으로 그것을 거의 할 것이다. – beluchin

답변

0

사용중인 운영 체제/버전, 시스템 perl, perlbrew, active perl 등을 사용하는지 여부와 같은 몇 가지 세부 정보를 제공해야 할 것입니다.이 작업을 Snow Leopard의 Perlbrew에서 만든 Perl 5.12.3에 대해 시도하면 문제를 재현 할 수 없습니다.

나는 또한 perlmonks.org에 묻는 제안을 따를 것입니다.

+0

특정 리눅스 배포판? 내가 VM을 시도하고 거기에 능동적 인 펄을 던져 어떤 일이 일어나는 지 알 수있다. – BadFileMagic

+0

은 Perl 5.12.3에서이 플러그인을 사용해 보았는데, 문제없이 작동 할 것으로 기대된다. Perl 5.10.0에는 이와 관련된 버그가있을 것입니다. 다들 감사 해요. – beluchin