bugGNU gettext - Bugs: bug #43404, gl_locale_name_default() thread...


You are not allowed to post comments on this tracker with your current authentication level.

bug #43404: gl_locale_name_default() thread issues on OS X

Submitted by:  Peter Eisentraut <petere>
Submitted on:  Sat 11 Oct 2014 12:53:40 PM UTC  
Category:  End-user / runtime Severity:  3 - Normal
Item Group:  None Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Open

Sat 11 Oct 2014 12:53:40 PM UTC, original submission:

Something in libintl calls setlocale(), which calls gl_locale_name_default(), which calls CFLocaleCopyCurrent() on OS X. Our analysis shows that CFLocaleCopyCurrent() spins up an additional thread, which causes all kinds of chaos in signal handlers and forked processes. Here is the full analysis: http://www.postgresql.org/message-id/20140915045114.GA1332666@tornado.leadboat.com

Clearly, this is a somewhat special application, compared to all the single-threaded, single-process programs out there, but if adding gettext support to a server causes it to crash in random ways, that doesn't seem nice.

The original change in gettext/libintl is d4fd77b3f57a386b63083a7246ae5808510ac072.

Later in the above thread, a patch is proposed to move the Core Foundation calls into a subprocess, which you might be interested in.

Peter Eisentraut <petere>


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by haible (Updated the item)
  • -email is unavailable- added by noah
  • -email is unavailable- added by petere (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-11-27 haible CategoryNone => End-user / runtime
    2014-10-11 noah Carbon-Copy- => Added noah

    Back to the top

    Powered by Savane 3.3