[d]ets:lookup misbehaves when called during init:start?

Per Bergqvist per@REDACTED
Mon Apr 1 09:43:40 CEST 2002


Hi Chris,                                                             
                                                                      
the problem is that the inet_db modules has not yet been started      
and hence the inet_db ets table does not exist (yet).                 
It is supposed to be started by the kernel_sup supervisor.            
                                                                      
I haven't managed to recreate the problem with R8B-0 under            
Linux but two possible other workarounds are                          
a) wait for the inet_db process to become registered.                 
b) call inet_db:start from your application (as ftp,httpd and orber   
already does (for the same reason ?)).                                
                                                                      
/Per                                                                  
                                                                      
> I have discovered one workaround for this, although it comes at a   
grave                                                                 
> cost (namely, the use of the shell)                                 
>                                                                     
> Instead of                                                          
>                                                                     
>   erl -run module function                                          
>                                                                     
> use                                                                 
>                                                                     
>   echo 'module:function().' | erl                                   
>                                                                     
> Should have been obvious I suppose :)                               
>                                                                     
> Chris                                                               
>                                                                     
> On Fri, 29 Mar 2002 06:27:22 -0600                                  
> Chris Pressey <cpressey@REDACTED> wrote:                       
>                                                                     
> > I'd really like to get to the bottom of this one...               
> >                                                                   
> > I have a server that opens a socket.  If I start this server from 
the                                                                   
> > Erlang shell, everything works smoothly.  If I try to start it    
with a                                                                
> > -run command line argument to erl, it does *not* work and I get   
the                                                                   
> > following error message upon quitting:                            
> >                                                                   
> > {error_logger,{{2002,3,29},{6,10,40}},'Error in process           
<0.24481.0>                                                           
> > with exit value: {badarg,[{ets,lookup,[inet_db,tcp_module]},      
> > {inet_db,db_get,1},{gen_tcp,listen,2},{ce_socket,start,4}]}\n',[]}
> >                                                                   
> > I get the same error if I try to start it from my .erlang file.   
> >                                                                   
> > The question is... why?                                           
> >                                                                   
> > I've asked this once before a while ago, but got no response so   
far.                                                                  
> >                                                                   
> > It seems someone else is (anonymously) getting a very similar     
error                                                                 
> > trying to start the wiki in the same way:                         
> >                                                                   
> > http://www.bluetail.com/wiki/showPage?node=WikiSetup              
> >                                                                   
> > {badarg,[{ets,lookup_element,[dets_registry,wikie,3]},            
> >                     {dets,lookup,2},                              
> >                     {wikie,fetch_page,1},                         
> >                     {erl_eval,expr,3},                            
> >                     {erl_eval,exprs,4},                           
> >                     {esp,eval,2},                                 
> >                     {esp,expand,3},                               
> >                     {esp,do_expand_file,2},                       
> >                     {esp,handle,1}|                               
> >                     more]}                                        
> >                                                                   
> > Any information on this anomaly (e.g. why it happens and/or how to
work                                                                  
> > around it) would be greatly appreciated (seeing as I *really*     
don't want                                                            
> > to have to start my server from the Erlang shell every time I want
to                                                                    
> > use it :)                                                         
> >                                                                   
> > Thanks in advance,                                                
> > Chris                                                             
>                                                                     
=========================================================             
Per Bergqvist                                                         
Synapse Systems AB                                                    
Phone: +46 709 686 685                                                
Email: per@REDACTED                                                   



More information about the erlang-questions mailing list