Bug 168835 - devel/boost-all: inkscape 0.48.2 will crash throwing exception "std::runtime_error: locale::facet::_S_create_c_locale name not valid"
Summary: devel/boost-all: inkscape 0.48.2 will crash throwing exception "std::runtime_...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: FreeBSD Office Team (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-08 06:40 UTC by Anderson Guzman
Modified: 2013-02-06 21:04 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anderson Guzman 2012-06-08 06:40:11 UTC
Program will crash throwing exception "std::runtime_error: locale::facet::_S_create_c_locale name not valid" on  systems when current locale (LANG,LC_ALL) is not "C"

Fix: 

set LANG and LC_ALL variables to a locale "C" :


$ export LANG=C
$ export LC_ALL=C


The problem is related with boost library (1.48.0) from ports, see related issue in: 

https://svn.boost.org/trac/boost/ticket/4688

There is a FreeBSD patch specifically to be used in Boost library ver. 1.47...
How-To-Repeat: set LANG and LC_ALL variables to a locale distinct to C , for example :


$ export LANG=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8

Run Inkscape
Comment 1 Edwin Groothuis freebsd_committer 2012-06-11 07:17:37 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gnome

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Jeremy Messenger freebsd_committer 2012-12-29 17:40:06 UTC
Responsible Changed
From-To: gnome->churanov.port.maintainer@gmail.com

It's boost issue rather than inkscape issue. Forward this PR to the boost 
maintainer.
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2013-01-19 20:11:48 UTC
Responsible Changed
From-To: churanov.port.maintainer@gmail.com->freebsd-ports-bugs

In general we only use committers as GNATS Responsible values.
Comment 4 Baptiste Daroussin freebsd_committer 2013-02-02 17:41:44 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-office

Over to new maintainer, is it still happening with new boost?
Comment 5 Raphael Kubo da Costa freebsd_committer 2013-02-03 19:40:37 UTC
Yes, this bug should be more frequent than before, in fact. r311308
actually removed a few patches added in r267504 which prevented this
issue from happening. I'm not 100% sure they were the right fix, though.

The problem hasn't been completely solved upstream either ([1] is still
open).

As [2] explains, the problem is that we build gcc (both in base and
ports) without passing --clocale=gnu to it, so when boost calls
std::locale("") it will fail if LC_ALL is set to anything but "POSIX" or
"C".

[1] https://svn.boost.org/trac/boost/ticket/5928
[2] https://svn.boost.org/trac/boost/ticket/4688#comment:17
Comment 6 Raphael Kubo da Costa freebsd_committer 2013-02-06 21:04:36 UTC
State Changed
From-To: open->closed

Fixed in r311771.