[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