2011-04-06 3 views
2

L'interruption du programme ci-dessous avec Ctrl + C provoque une "erreur de segmentation" avec Perl 5.10.0. Cela fonctionne correctement avec perl 5.8.8. Une idée pourquoi?Perl 5.10.0 Gestionnaire de signal Problème

#!/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; 

(programme de prise Problem with perl signal INT)

Le Perl 5.10 version est:

$ 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 
... 

La distribution linux:

$ 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 

Merci

+4

Je vous recommande fortement de publier ce problème sur http://www.perlmonks.org/ au lieu d'ici. Il y a beaucoup plus de Perl qui peuvent le tester sur beaucoup plus de plates-formes, et qui peuvent connaître des bugs comme celui-ci. S'il s'agit toujours d'un bogue dans les plates-formes Perl actuelles, il devrait être définitivement signalé avec l'utilitaire 'perlbug'. – btilly

+0

Pourquoi 5.10.0? Avez-vous essayé 5.10.1 ou même 5.12.3? – Ether

+0

non. C'est la dernière fois que nous avons accès à nos systèmes. Je pourrais construire le mien mais je le ferais presque en dernier recours. – beluchin

Répondre

0

Vous êtes Je vais devoir fournir plus de détails, tels que le système d'exploitation/la version que vous utilisez, si vous utilisez perl, perlbrew, perlbrew, perlbrew, etc. Si vous utilisez Perl 5.12.3 à partir de Perlbrew sur Snow Leopard, ne peut pas reproduire le problème.

Je voudrais aussi suivre la suggestion de demander sur perlmonks.org, aussi.

+0

une distribution linux particulière? Je peux essayer de lancer un VM et lancer perl actif là-bas et voir ce qui se passe – BadFileMagic

+0

juste essayé sur Perl 5.12.3 -comme prévu que cela a fonctionné sans problèmes. Il doit y avoir un bug dans Perl 5.10.0 lié à cela. Merci à tous. – beluchin

Questions connexes