On Mon Oct 04 17:42:10 2004, jgmyers@proofpoint.com wrote: > This is a bug report for perl from jgmyers@proofpoint.com, > generated with the help of perlbug 1.35 running under perl v5.8.5. > > > ----------------------------------------------------------------- > [Please enter your report here] > > The following test program crashes on a multiprocessor box. > > Removing either the line that sets $g_bar or the call to > utf8:upgrade() makes the crash go away. > > use threads; > > my $g_foo = "abcd\n"; > > my $g_bar; > ($g_bar) = $g_foo =~ /(.*)/; > > sub init { > my $thr; > > for (my $i = 0; $i < 8; $i++) { > $thr = threads->new(\&task); > } > > foreach $thr (threads->list) { > if ($thr->tid && !threads::equal($thr, threads->self)) { > $thr->join; > } > } > } > > sub task { > print "task starting\n"; > for (my $i = 1; $i < 10000; $i++) { > my $str = "foo=bar baz\n"; > utf8::upgrade($str); > if ($str =~ /^([^=]+)=(.*)$/) { > my $a = $1; > } > if ($str =~ /^(foo)(\w*)/) { > my $a = $1; > } > } > } > > init(); > > I'm no longer seeing this failure with threaded 5.8.8 or bleadperl. Can anyone else see this problem anymore? Steve PetersThread Previous