Grokbase
x

Jerry D. Hedden (jdh...@cpan.org)

Profile | Posts (57)

User Information

Display Name:Jerry D. Hedden
Partial Email Address:jdh...@cpan.org
Posts:
57 total
56 in Perl 5 Porters
1 in qpsmtpd

5 Most Recent

All Posts
1) Jerry D. Hedden Re: [perl.git] branch blead, updated. v5.11.4-89-gd931b1b
| +1 vote
Seems I am mistaken about this. Sorry for the noise. I need to investigate further.
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
Jerry D. Hedden wrote:
> This set of changes causes DBD::SQLite to fail (see below).

Eric Brine wrote:
> I have no problem at (v5.11.4-103-gca12771*) built for x86_64-linux. I'll
> try on 32-bit linux tomorrow. What system are you on?

Seems I am mistaken about this.  Sorry for the noise.  I need to
investigate further.
2) Jerry D. Hedden Re: [perl #72808] perl hangs if CLONE_SKIP dies
| +1 vote
With bleadperl under Cygwin on Windows, the above produces: Died at -e line 1. panic: MUTEX_LOCK...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
> $ perl -Mthreads -le 'sub CLONE_SKIP{die} create threads sub{ }=>->join'
> Died at -e line 1.
> <hangs>
>
> If CLONE_SKIP dies, threads.pm does not have a chance to unlock the
> appropriate mutexes. So perl hangs on exit (or the next attempt to
> start a thread), ignoring all signals.

With bleadperl under Cygwin on Windows, the above produces:

> perl -Mthreads -le 'sub CLONE_SKIP{die} create threads sub{ }=>->join'
Died at -e line 1.
panic: MUTEX_LOCK (45) [threads.xs:319] at -e line 1.

The offending line is in S_exit_warning() in threads.xs
where it tries to lock the mutex:

    MUTEX_LOCK(&MY_POOL.create_destruct_mutex);

The path of execution looks to be that first
ithread_create() in threads.xs is called where the above
mutex is locked, then S_ithread_create() is called followed
by a call to perl_clone() during which CLONE_SKIP() and the
subsequent die() are executed.  Since CLONE_SKIP() is called
in the main thread's context, the die() triggers the exiting
of the app which eventually leads to a call to
S_exit_warning() in threads.xs with the mutex still locked,
hence causing the panic.

I not knowledgable enough to effect a solution.

One possible kludge for this would be to disallow die()
inside CLONE_SKIP(), and to document as such in perlmod.pod.
To handle the die() call, CLONE_SKIP should be called in a
G_EVAL, and a warning should be output if ERRSV is set.

If the above is acceptable, I think I can generate a patch to
accomplish it.
3) Jerry D. Hedden Re: Dual-Core CPAN module install destination?
| +1 vote
With 5.11, the order of @INC has been changed to put 'site_perl' in the 'front' of the array. This...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
With 5.11, the order of @INC has been changed to put 'site_perl' in
the 'front' of the array.  This means that for dual-lived modules, the
'core' version is in 'perl', and if it is update from CPAN, the CPAN
version will 'mask it' when it gets installed in 'site_perl'.  In this
way, the 'core' stays unperturbed even if modules are updated.

Hence, Makefile.PL (or whatever) needs to have the following construct
for dual-lived modules:

INSTALLDIRS =3D> ((($] >=3D 5.???) || ($] < 5.011)) ? 'perl' : 'site'),

Where the lower version number is when the module was first introduced
into 'core' (as per Corelist.pm).


On Fri, Feb 12, 2010 at 14:12, Curtis Jewell
<lists.perl.perl5-porters@csjewell.fastmail.us> wrote:
> On Fri, 12 Feb 2010 12:16 -0600, "Todd Rinaldo" <toddr@cpanel.net>
> wrote:
>> A recent discussion has come up in the RT queue for Locale::Codes
>> concerning what the install destination for dual core modules should be.
>> If the module is not deprecated, is there any documentation on where CPA=
N
>> installed dual core modules are supposed to install to?
>
> My understanding (no particular documentation that I know of - maybe
> there should be) is that they install to 'core', not to 'site', unless
> deprecated , or they aren't in core yet. (in which case, it's the other
> way around.)
>
>> If not, has there been any consistent policy and/or does cpan/cpanplus d=
o
>> any magic to make sure there is only one copy of dual core modules in th=
e
>> perl lib trees?
>>
>> Thanks,
>> Todd
>>
>> https://rt.cpan.org/Public/Bug/Display.html?id=3D54526
>
> --Curtis
> --
> Curtis Jewell
> [email protected: csj...@cpan.org] =A0 =A0 =A0 =A0 =A0 http://csjewell.dreamwidth.org/
> [email protected: p...@csjewell.fastmail.us] =A0 http://csjewell.comyr.org/perl/
>
> "Your random numbers are not that random" -- perl-5.10.1.tar.gz/util.c
>
> Strawberry Perl for Windows betas: http://strawberryperl.com/beta/
>
>
4) Jerry D. Hedden Re: [perl.git] branch blead, updated. v5.11.4-78-g2630fd9
| +1 vote
6dc85d230a3eb3?hp=3D78c4a74a09b8f7ed410a879bd78dfb83cbf7861c> f tion. This is causing the following...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On Thu, Feb 11, 2010 at 05:32, Rafael Garcia-Suarez
<rgarciasuarez@gmail.com> wrote:
> In perl.git, the branch blead has been updated
>
> <http://perl5.git.perl.org/perl.git/commitdiff/2630fd9e8e31d2fd409e2e8ec1=
6dc85d230a3eb3?hp=3D78c4a74a09b8f7ed410a879bd78dfb83cbf7861c>
>
> - Log -----------------------------------------------------------------
> commit 2630fd9e8e31d2fd409e2e8ec16dc85d230a3eb3
> Author: Tim Bunce <Tim.Bunce@pobox.com>
> Date: =A0 Thu Feb 11 11:29:17 2010 +0100
>
> =A0 =A0Bug in Safe 2.21 re propagating exceptions
>
> =A0 =A0An exception thrown from a closure gets lost.
> =A0 =A0I've boiled it down to this:
>
> =A0 =A0 =A0 perl -MSafe -e 'Safe->new->reval(q{sub { die @_ }})->(qq{ok\n=
})'
>
> =A0 =A0That should die with "ok".
>
> =A0 =A0The problem is that the closure that wraps any returned code ref i=
f
> =A0 =A0threads are enabled is acting as an eval block so hiding the excep=
tion.
> -----------------------------------------------------------------------

This is causing the following anomoly in 'make test':

dist/Safe/t/safesort........................................... (in
cleanup) died
ok
5) Jerry D. Hedden Re: [perl #41138] [RESOLVED] $_ leaks under threads
| +1 vote
sage. er" -- if you respond to this message it will reopen the ticket. If you mus= t, please send...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On Mon, Jan 11, 2010 at 07:54, Dave Mitchell via RT
<perlbug-followup@perl.org> wrote:
> According to our records, your request regarding
> =A0"$_ leaks under threads"
> has been resolved.
>
> If you have any further questions or concerns, please respond to this mes=
sage.
>
> For other topics, please create a new ticket.
>
> Please don't feel obligated to say "Thanks" or "Kudos" or "I owe you a be=
er" -- if you respond to this message it will reopen the ticket. If you mus=
t, please send email directly to the person who handled your ticket, and no=
t to the tracking system.
>
> <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=3D41138 >
>

This fix also fixes #34342.

spacer
Profile | Posts (57)
Home > People > Jerry D. Hedden