CloudI 1.4.0 failed to start on Ubuntu 14.04

30 views
Skip to first unread message

Игорь Проць

unread,
Apr 4, 2015, 10:15:43 AM4/4/15
to cloudi-q...@googlegroups.com
Hi, guys, I have some strange error when start CloudI instance version 1.4.0. 

=INFO REPORT==== 2-Apr-2015::19:44:48 UTC ===

 

    application
: cloudi_core

    exited
: {{service_external_file_path_invalid,[]}, {cloudi_core_i_app,start,[normal,[]]}}

    type
: permanent

{"Kernel pid terminated",application_controller,"{application_start_failure,cloudi_core,{{service_external_file_path_invalid,[]},{cloudi_core_i_app,start,[normal,[]]}}}"}

 

Crash dump was written to: erl_crash.dump Kernel pid terminated (application_controller) ({application_start_failure,cloudi_core,{{service_external_file_path_invalid,[]},{cloudi_core_i_app,start,[normal

,[]]}}})
=====

I didn't do any changes in config files, just install and try to start and it fails.

My app.config:

[{kernel, [

 

   
% epmd needs port 4369

   
{inet_dist_listen_min, 4374},

   
{inet_dist_listen_max, 4474},

   
%{inet_dist_use_interface,"127.0.0.1"},

   
%{net_setuptime, 7000}, % milliseconds

   
{net_ticktime, 60}

 
]},

 
{sasl, [

   
{sasl_error_logger, {file, "logs/sasl.log"}},

   
{error_logger_mf_dir, "logs"},

   
{error_logger_mf_maxbytes, 536870912}, % 512 MB

   
{error_logger_mf_maxfiles, 128},

   
{utc_log, true}

 
]},

 
{cloudi_x_erlcloud, [

   
{http_client, httpc}

 
]},

 
{cloudi_x_cpg, [

   
{scope, []}

 
]},

 
{cloudi_core, [

   
{monkey_latency, false},

   
{monkey_chaos, false},

   
{configuration, "/home/ubuntu/cloudi/instance/etc/cloudi/cloudi.conf"}

 

 
]}].



When I delete tuple with "configuration" path "/home/ubuntu/cloudi/instance/etc/cloudi/cloudi.conf" the App is starting ok!

Could you please help with that issue, thanks!

Michael Truog

unread,
Apr 4, 2015, 1:52:43 PM4/4/15
to cloudi-q...@googlegroups.com
Hi,

This was a known bug in version 1.4.0's build system (https://github.com/CloudI/CloudI/issues/154) which appears when you don't have either node.js, php, or perl installed and you use the default configure script options (which enable all programming languages and the integration tests).  If you don't have node.js installed, use --disable-javascript-support with the configure script.  If you don't have php installed, --disable-php-support, and if you don't have perl installed, --disable-perl-support.  However, if you use a --disable-LANGUAGE-support configure script command line option, it will automatically disable the integration tests, so you won't test the installation with the CloudI integration tests when it starts with the default configuration file.

If you want the integration tests to run, you should install the missing programming language (which is probably node.js, and those instructions are at https://github.com/joyent/node/wiki/installing-node.js-via-package-manager ).  This bug has been fixed in the develop branch of the git repository (https://github.com/CloudI/CloudI) but you would need to do the same things as with the 1.4.0 release (i.e., either install or disable a programming language).  The configure command line options are summarized at http://cloudi.org/faq.html#3_Options .  Just reply if you have further problems.

Best Regards,
Michael
--
You received this message because you are subscribed to the Google Groups "CloudI Questions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudi-questio...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Игорь Проць

unread,
Apr 5, 2015, 2:22:41 AM4/5/15
to cloudi-q...@googlegroups.com
Thanks, I will try and reply if I have any further problems.

суббота, 4 апреля 2015 г., 17:15:43 UTC+3 пользователь Игорь Проць написал:

Игорь Проць

unread,
Apr 5, 2015, 3:25:45 AM4/5/15
to cloudi-q...@googlegroups.com

Really my system didn't has php and nodejs pakages installed, now it has next:

Erlang R16B03

gcc version 4.8.2

java version "1.7.0_75" OpenJDK 64-Bit Server VM

nodejs v0.10.25

perl v5.18.2

php PHP 5.5.9-1ubuntu4.7 

Python 2.7.6

ruby 1.9.3p484

GNU MP and boost also installed using apt-get.

Cloudi doesn't start, it fails with previous errors. So I try to reinstall it.

When I try to configure only with option --prefix="/path/to/install/" after that it doesn't start because error "service_external_file_path_invalid".

When I try to configure with options --prefix="/path/to/install/" --disable-perl-support --disable-php-support,  it say that "CloudI integration tests should be ran... configure: error: --with-integration-tests-ran=yes", so only with options "--without-integration-tests" it configure and start normally. 

But I really want to start with integration tests, what you suggest to solving this problem? 


Michael Truog

unread,
Apr 5, 2015, 5:21:28 AM4/5/15
to cloudi-q...@googlegroups.com
All your installed versions look good.  Do a "make clean", then configure with only the configure option --prefix="/path/to/install/" again.  Capture the output of the "make" command when building.  If you see any errors, the build should not complete, but if it somehow did, that would explain the "service_external_file_path_invalid" error.  If any of the installed programming languages were inaccessible to the user running the configure script, that could also cause the "service_external_file_path_invalid" error (so, make sure you can execute php and node before running the configure script).

I did run into a problem with Ubuntu 14.04 on ARM due to boost being installed in a non-standard location on the system, which required the configure argument --with-boost-libdir=/usr/lib/arm-linux-gnueabihf/ but that is hopefully an ARM specific problem.  If you have the same problem, make sure the path is valid before using that command line argument.  Using that command line argument would only be necessary if you had a build problem (it would be during the linking step with the boost library, probably with the hexpi integration test).

If you still get the "service_external_file_path_invalid" error just send an email reply with: 1) the output of the "make" command when building, 2) the config.log file, 3) the cloudi.log file (in PREFIX/var/log/cloudi/).
> -- You received this message because you are subscribed to the Google
> Groups "CloudI Questions" group. To unsubscribe from this group and
> stop receiving emails from it, send an email to
> cloudi-questio...@googlegroups.com

bruce kissinger

unread,
Apr 6, 2015, 8:30:03 PM4/6/15
to cloudi-q...@googlegroups.com
I have several servers running Ubuntu 14.04 successfully.  Typically, I can get the Cloudi source code to compile correctly, but there seems to be some odd problem in the cloudi.conf file that prevents CloudI from starting correctly.  I have attached a cloudi.conf file that works correctly for a fairly minimal installation in case that helps you.

Bruce
cloudi.conf

Michael Truog

unread,
Apr 6, 2015, 8:55:53 PM4/6/15
to cloudi-q...@googlegroups.com
If one of the services listed in the configuration file is unable to initialize within the initialization timeout period, CloudI will shutdown automatically, since it is pursuing fail-fast fault-tolerance.  That is much safer than having a half-started state which leads to undefined system behavior.  If you use the CloudI Service API services_add function, it will only attempt to start services, so it doesn't make any assumptions about what the runtime state of the system should be, since it is changing the runtime state by starting new services.

The 1.4.0 detection of perl, php, and node.js has a bug which will make the configuration entry for those implementations of integration tests have an empty string for the external service file path, which then causes the problem mentioned earlier.  This is fixed in the develop branch though, so the next release will not have this problem.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudi-questio...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages