[trunk] Check failed: base::i18n::InitializeICU()

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

[trunk] Check failed: base::i18n::InitializeICU()

Postby Czarek » Sun Feb 09, 2014 9:23 am

Hi Marshall,

I'm using branch 1820 revision 1594 from trunk. I get this error when calling cef_initialize():

Code: Select all
[0209/150402:FATAL:content_main_runner.cc(735)] Check failed: base::i18n::InitializeICU().


I have set both "resources_dir_path" and "locales_dir_path" in cef_settings_t. The "icudtl.dat" file is present. I have triple checked it, the paths are valid. I don't know what else to check.

The cefclient example works fine. When I copy "cefclient" executable to the directory where my binaries reside (libcef.so, icudtl.dat, ..) and run it, all works fine too. So no files are missing. Though, my app executable is run from a diffferent directory, but I have rpath set. I've tried changing current working directory to be the same directory in which icudtl.dat resides, but without luck.

Running on Ubuntu 12.04.3 64-bit. The cef binaries were downloaded from cefbuilds.com.

Thanks for help,
Czarek
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: [trunk] Check failed: base::i18n::InitializeICU()

Postby Czarek » Sun Feb 09, 2014 10:44 am

It turns out that Chromium looks for the icudtl.dat file in the same directory that executable resides. It does not look for it in the current working directtory. Also the "resources_dir_path" setting is ignored when it comes to icudtl file.

EDIT. I'm having some problems with setting strings in cef_settings_t. So maybe that's the cause, as resources_dir_path wasn't used.

I'm using the same function that sets the string on Win/Linux, so not sure why it doesn't work correctly on Linux. Although, on Windows I'm using branch 1750. On Linux 1820.

Strings are by default UTF-16 on both Linux and Windows? All calls to cef_string_utf8_to_utf16 return "1", so all should be okay, right?

///
// These functions convert between UTF-8, -16, and -32 strings. They are
// potentially slow so unnecessary conversions should be avoided. The best
// possible result will always be written to |output| with the boolean return
// value indicating whether the conversion is 100% valid.
///


When setting "cace_path" string I get segmentation violation. When setting "log_file" there is no segmentation, but the log file is never created.

Is it possible that there are some issues caused by CEF making a global tcmalloc hook?
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: [trunk] Check failed: base::i18n::InitializeICU()

Postby Czarek » Sun Feb 09, 2014 6:08 pm

Marshall,

There is something bad going on with trunk branch 1820. I've build branch 1750 and everything is working fine now. Setting cache_path works okay, the same for log_file. In branch 1820 I get segmentation faults when setting cache_path, and setting log_file doesn't work. Also the resources_dir_path setting doesn't work for icudtl.dat.
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: [trunk] Check failed: base::i18n::InitializeICU()

Postby magreenblatt » Sun Feb 09, 2014 6:33 pm

Czarek wrote:Marshall,

There is something bad going on with trunk branch 1820. I've build branch 1750 and everything is working fine now. Setting cache_path works okay, the same for log_file. In branch 1820 I get segmentation faults when setting cache_path, and setting log_file doesn't work. Also the resources_dir_path setting doesn't work for icudtl.dat.

Please file a bug. icudtl.dat should use the module directory (same directory that libffmpegsumo.so is loaded from).
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: [trunk] Check failed: base::i18n::InitializeICU()

Postby Czarek » Mon Feb 10, 2014 6:24 pm

magreenblatt wrote:Please file a bug. icudtl.dat should use the module directory (same directory that libffmpegsumo.so is loaded from).


Created Issue 1198:
https://code.google.com/p/chromiumembed ... il?id=1198
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 39 guests