Schrift
[thread]1415[/thread]

Hab mal wieder nen Segfault mit pure-Perl erzeugt

Leser: 1


<< >> 9 Einträge, 1 Seite
Ishka
 2003-11-18 23:53
#13179 #13179
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Hi,
und zwar mit
perl -le '$x="1" x $ARGV[0];print "Primzahl" if $x!~m#^(..+)\1+$#' 8093
naja - zumindestens auf einer
'This is perl, v5.8.0 built for i586-linux-thread-multi'
Maschine. Auf
'This is perl, v5.6.1 built for i386-linux'
hat das keinen Segfault erzeugt. Könnt ihr das mal bei euch austesten und wie schauts da aus?
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
pq
 2003-11-19 00:16
#13180 #13180
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
This is perl, v5.8.0 built for i686-linux
This is perl, v5.6.1 built for i586-linux

kein segfault für beide versionen...
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Ishka
 2003-11-19 14:45
#13181 #13181
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
so wie ich das sehe unterscheiden die sich nur um thread-multi..
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
esskar
 2003-11-19 15:20
#13182 #13182
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Ishka,19.11.2003, 13:45]so wie ich das sehe unterscheiden die sich nur um thread-multi..[/quote]
könnte natürlich sein!!!

habt ihr euer zeug selbst kompiliert?

unter "This is perl, v5.8.0 built for MSWin32-x86-multi-thread"
läuft es zwar ohne ergebnis aber auch ohne seq.fault

bzw. testet es mal unter 5.8.2
Relais
 2003-11-19 15:49
#13183 #13183
User since
2003-08-06
2254 Artikel
ModeratorIn
[Homepage] [default_avatar]
Auch kein Problem bei: This is perl, v5.8.1 built for i686-linux

Es liegt also hochvermutlich am "...-thread-multi".
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
Ishka
 2003-11-19 15:54
#13184 #13184
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Der Thread-Multi mit Segfault ist auf der LMU München in den Cipräumen der Fakultät Physik installiert. Der andere ist bei mir zuhause, Standarddebianinstalation - also in beiden Fällen nein.

Ich habs jetzt noch in der Informatik ausgetestet (This is perl, v5.8.0 built for i586-linux-thread-multi) kein Segfault und korrektes Ergebnis 'Primzahl'

Am thread-multi liegts damit mal nicht - zumindestens nicht ausschließlich
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
esskar
 2003-11-19 16:03
#13185 #13185
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
hmmm... bei mir kommt zwar kein seg fault, aber auch nicht das ergebnis primzahl!
Ishka
 2003-11-19 16:06
#13186 #13186
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ich habs jetzt auch kurz mit nem anderen Programm nachgerechnet - es ist wirklich eine Primzahl und nicht nur nach diesem Perl-Algo.

Ist irgendwie merkwürdig...
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
esskar
 2003-11-19 16:18
#13187 #13187
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ja... hab nicht alle " in ' umgewandelt

jetzt gehts
<< >> 9 Einträge, 1 Seite



View all threads created 2003-11-18 23:53.