[Bug 947444] New: PerlIO dead-locks with threaded fork
bugzilla at redhat.com
bugzilla at redhat.com
Tue Apr 2 12:52:22 UTC 2013
Product: Fedora
https://bugzilla.redhat.com/show_bug.cgi?id=947444
Bug ID: 947444
Summary: PerlIO dead-locks with threaded fork
Product: Fedora
Version: 18
Component: perl
Severity: unspecified
Priority: unspecified
Assignee: mmaslano at redhat.com
Reporter: ppisar at redhat.com
QA Contact: extras-qa at fedoraproject.org
CC: cweyl at alumni.drew.edu, iarnell at gmail.com,
jplesnik at redhat.com, kasal at ucw.cz, lkundrak at v3.sk,
mmaslano at redhat.com,
perl-devel at lists.fedoraproject.org, ppisar at redhat.com,
psabata at redhat.com, rc040203 at freenet.de,
tcallawa at redhat.com
Category: ---
Created attachment 730746
--> https://bugzilla.redhat.com/attachment.cgi?id=730746&action=edit
Test case
As reported to upstream, there is a possible dead lock when using fork from
threads and PerlIO <https://rt.perl.org/rt3/Public/Bug/Display.html?id=106212>.
This has been fixed in commit:
>From 4da80956418bbe1fdc23cad0b1cbb24cd7b87609 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrik=20H=C3=A4gglund?= <patrik.h.hagglund at ericsson.com>
Date: Sat, 2 Feb 2013 20:21:05 +0100
Subject: [PATCH] PATCH [perl #106212] Add PL_perlio_mutex to
atfork_lock/unlock
Using threads + fork() on Linux, and IO operations in the threads, the
PL_perlio_mutex may be left in a locked state at the call of fork(),
potentially leading to deadlock in the child process at subsequent IO
operations. (Threads are pre-empted and not continued in the child
process after the fork.)
Therefore, ensure that the PL_perlio_mutex is unlocked in the child
process, right after fork(), by using atfork_lock/unlock.
(The RT text gives ways to reproduce the problem, but are not easily
added to Perl's test suite)
Probably all Fedoras are affected.
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=9NtTx6GUfV&a=cc_unsubscribe
More information about the perl-devel
mailing list