develooper Front page | perl.perl5.porters | Postings from August 2008

Re: RF help with a v5.10 Heisenbug, please?

From:
Craig A. Berry
Date:
August 3, 2008 17:04
Subject:
Re: RF help with a v5.10 Heisenbug, please?
Message ID:
c9ab31fc0808031704m35b97ac9h45efc28956376385@mail.gmail.com
On Wed, Jul 30, 2008 at 3:29 PM, Tom Christiansen <tchrist@perl.com> wrote:
>  Once I'd installed 5.10.0, the following start-up line in my .tcshrc
> hangs forever with perl running unchecked until I kill it--but only about
> one time in 30 or 100, or some high number I can't count.
>
>    set path = `echo $path | tr ' ' '\12' | perl -nle 'print if -d and ($dev,$ino) = stat(_) and not $seen{$dev,$ino}++'`
>
> Specifically, the perl line is
>
>     perl -nle 'print if -d and ($dev,$ino) = stat(_) and not $seen{$dev,$ino}++'
>
> The failure never, ever happened before 5.10, and now it happens
> a few times a day (I shell out to {!}afmt paragraphs in vi.)
>
> What may have changed in 5.10 to cause that line to execute
> differently?

One difference with 5.10 is that PerlIO uses Unix I/O as its lowest
layer rather than stdio, so your print statement is probably doing a
write() rather than an fwrite().  I have no idea whether that's
related to your problem, but it is a difference.

>    Jul 30 13:54:51 chthon savecore: reboot after panic: kernel diagnostic assertion "uvmexp.swpgonly <= uvmexp.swpages" failed: file "/usr/src/sys/uvm/uvm_pdaemon.c", line 581
>
> If it is the page daemon having VM problems, I wonder why?  My real memory
> usage is <50% total, and swap is <10% total, so I don't know what's messing up.

I believe most pipe() implementations use shared memory, which might
or might not involve the paging daemon, and there are more probably
quite a few more possibilities than simply running out of page file.



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About