Starting embedded Orber

Niclas Eklund <>
Tue Sep 28 14:56:56 CEST 2004


Hello!

Mnesia should always be started before invoking orber:install/1/2;
especially if you intend to use a single-node installation (ram_copies).

See also chapter 5.1 and 5.2 in Orber's User's Guide.

/Nick


> It does seem as if orber were intended to be started from the
> app file, but you must make sure that it's installed first.
> 
> Orber will hang waiting for tables, and since you didn't run
> orber:install() first, it will wait forever (mnesia doesn't
> volunteer the information that the tables have not been 
> created.)
> 
> The orber:install/2 function will automatically start mnesia
> as well, if it isn't already started. This means that you should
> make sure that mnesia is installed before installing orber.
> 
> /Uffe
> 
> > -----Original Message-----
> > From: 
> > [mailto:]On Behalf Of Jimmy Olgeni
> > Sent: den 28 september 2004 11:49
> > To: 
> > Subject: Starting embedded Orber
> > 
> > 
> > 
> > Hi,
> > 
> > I made an application that requires both Orber and Mnesia. The OTP 
> > documentation always uses mnesia:start() and orber:start() in the 
> > examples, but I was wondering if I could start the services 
> > by listing 
> > them in the ".app" file. Mnesia seems to work fine, but Orber just 
> > hangs waiting for something. Also, it would not start if it wasn't
> > install()ed before.
> > 
> > Calling "i()" gives the following report:
> > 
> > Pid                   Initial Call                          
> > Heap     Reds Msgs
> > Registered            Current Function                     Stack
> > 
> > <0.71.0>              application_controller:init_start      
> > 987       23    0
> >                        proc_lib:sync_wait/2                    12 
> > <0.72.0>              application_master:init/4              
> > 377       13    0
> >                        application_master:init_loop/4          16 
> > <0.73.0>              application_master:start_it/4          
> > 377       45    0
> >                        proc_lib:sync_wait/2                    10 
> > <0.74.0>              supervisor:orber/1                     
> > 233       38    0
> > orber_sup             mnesia_controller:do_wait_for_tab       22 
> > <0.75.0>              mnesia_controller:wait_for_tables      
> > 233       16    0
> >                        mnesia_controller:rec_tabs/4             9 
> > Total                                                      
> > 48478   286800    0
> >                                                               698
> > 
> > ... but I couldn't find out what is mnesia_controller:do_wait_for_tab
> > waiting for.
> > 
> > Is Orber supposed to start from application files or should I 
> > simply add
> > orber:start () to my application's start/0? :-)
> > 
> > -- 
> > jimmy





More information about the erlang-questions mailing list