long names not working on Windows 2000

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

long names not working on Windows 2000

Vance Shipley-2

I installed R7B on my Windows 2000 workstation recently.
I used the R7B-0 binaries on the erlang.org site.
Today I tried to start it up using long names "-name foo"
and it crashes (see log below).

I see a message a while back saying that there had been a
problem with long names on Win32 when using DHCP but it was
fixed in R7B.  I am not using DHCP it's just a fixed IP address
on a LAN.

Does this work for others?

        -Vance

{error_logger,{{2001,1,9},{15,13,44}},'Can\'t set long node name!\nPlease
check
your configuration\n',[]}
{error_logger,{{2001,1,9},{15,13,44}},crash_report,[[{pid,<0.16.0>},{registe
red
name,net_kernel},{error_info,{error,badarg}},{initial_call,{gen,init_it,[gen
_se
ver,<0.13.0>,<0.13.0>,{local,net_kernel},net_kernel,{vances,longnames,15000}
,[]
}},{ancestors,[net_sup,kernel_sup,<0.8.0>]},{messages,[]},{links,[<0.13.0>]}
,{d
ctionary,[{longnames,true}]},{trap_exit,true},{status,running},{heap_size,61
0},
stack_size,23},{reductions,169}],[]]}
{error_logger,{{2001,1,9},{15,13,44}},supervisor_report,[{supervisor,{local,
net
sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,
[{p
d,undefined},{name,net_kernel},{mfa,{net_kernel,start_link,[[vances,longname
s]]
},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2001,1,9},{15,13,44}},supervisor_report,[{supervisor,{local,
ker
el_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefi
ned
,{name,net_sup},{mfa,{erl_distribution,start_link,[]}},{restart_type,permane
nt}
{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2001,1,9},{15,13,44}},crash_report,[[{pid,<0.7.0>},{register
ed_
ame,[]},{error_info,{shutdown,{kernel,start,[normal,[]]}}},{initial_call,{ap
pli
ation_master,init,[<0.5.0>,<0.6.0>,{appl_data,kernel,[application_controller
,er
_reply,auth,boot_server,code_server,disk_log_server,disk_log_sup,erl_prim_lo
ade
,error_logger,file_server,fixtable_server,global_group,global_name_server,he
art
init,kernel_config,kernel_sup,net_kernel,net_sup,rex,user,os_server,ddll_ser
ver
erl_epmd,inet_db,pg2],undefined,{kernel,[]},[application,application_control
ler
application_master,application_starter,auth,code,code_aux,code_server,code_s
erv
r_int,dist_util,erl_boot_server,erl_distribution,erl_open_port,erl_prim_load
er,
rl_reply,erlang,error_handler,error_logger,file,global,global_group,global_s
ear
h,group,heart,inet6_tcp,inet6_tcp_dist,inet6_udp,inet_config,inet_hosts,inet
_ge
host_native,inet_tcp_dist,otp_pre_init,init,kernel,kernel_config,net,net_adm
,ne
_kernel,os,ram_file,rpc,user,user_drv,user_sup,disk_log,disk_log_1,disk_log_
ser
er,disk_log_sup,dist_ac,erl_atom_cache,erl_ddll,erl_epmd,erl_external,erts_d
ebu
,fixtable_server,gen_tcp,gen_udp,prim_inet,inet,inet_db,inet_dns,inet_parse,
ine
_res,inet_tcp,inet_udp,pg2,seq_trace,socks5,socks5_auth,socks5_tcp,socks5_ud
p,w
ap_log_reader,otp_ring0],[],infinity,infinity},normal]}},{ancestors,[<0.6.0>
]},
messages,[{'EXIT',<0.8.0>,normal}]},{links,[<0.6.0>,<0.5.0>]},{dictionary,[]
},{
rap_exit,true},{status,running},{heap_size,377},{stack_size,23},{reductions,
95}
,[]]}
{error_logger,{{2001,1,9},{15,13,45}},std_info,[{application,kernel},{exited
,{s
utdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{'Kernel pid terminated',application_controller,shutdown}


Abnormal termination



Reply | Threaded
Open this post in threaded view
|

long names not working on Windows 2000

Daniel Néri-2
"Vance Shipley" <vances> writes:

> Does this work for others?

FWIW, it works for me on Win98. Try inet_db:gethostname() and
inet_db:res_option(domain) in a shell (this is what net_kernel uses to
construct the host part of a long node name).


Regards,
   --Daniel

--
Daniel Neri                                      mailto:dn
Sigicom AB, Sweden                              http://www.sigicom.com



Reply | Threaded
Open this post in threaded view
|

long names not working on Windows 2000

Vance Shipley-2
> Try inet_db:gethostname() and inet_db:res_option(domain) in a shell
> (this is what net_kernel uses to construct the host part of a long node
name).

Eshell V5.0.1  (abort with ^G)

(vances)1> inet_db:gethostname().
"desk"

(vances)2> inet_db:res_option(domain).
[]


Yet in a DOS shell I can do something like:


C:\> ping mail
 Pinging mail.motivity.ca [192.197.189.1] with 32 bytes of data:

Reply from 192.197.189.1: bytes=32 time<10ms TTL=64
Reply from 192.197.189.1: bytes=32 time<10ms TTL=64

Ping statistics for 192.197.189.1:
    Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum =  0ms, Average =  0ms



Reply | Threaded
Open this post in threaded view
|

long names not working on Windows 2000

David Gould
On Wed, Jan 10, 2001 at 09:04:00PM -0500, Vance Shipley wrote:
> > Try inet_db:gethostname() and inet_db:res_option(domain) in a shell
> > (this is what net_kernel uses to construct the host part of a long node
> name).
>
> Eshell V5.0.1  (abort with ^G)
>
> (vances)1> inet_db:gethostname().
> "desk"

This means that the current host has the name "desk".

 
> (vances)2> inet_db:res_option(domain).
> []

This means that the current host does not have a domain.

 
> C:\> ping mail
>  Pinging mail.motivity.ca [192.197.189.1] with 32 bytes of data:

This means that "mail" is a host named mail in the domain "motivity.ca".
ping can find it because your DNS or hosts file has an alias for
mail to mail.motivity.ca, or that your resolver is configured to search
domain "motivity.ca" when queried with just a host name.

However host "mail" has nothing to do with host "desk".


What host "mail" needs is to be configured to be part of some domain.

-dg

--
David Gould                                                 dg
SuSE, Inc.,  580 2cd St. #210,  Oakland, CA 94607          510.628.3380
why would you want to own /dev/null? "ooo! ooo! look! i stole nothing!
i'm the thief of nihilism! i'm the new god of zen monks."


Reply | Threaded
Open this post in threaded view
|

long names not working on Windows 2000

Raimo Niskanen-3
Unfortunately, I am not familiar to Windows 2000, but i can give you
some info about how it is supposed to work on Windows NT. Since Windows
2000 is not explicitly handled by Erlang, it regards the OS to be NT or
other Windows. You can try "os:type()" to see which.

Erlang reads the domain from the registry, where the TCP/IP protocol
stack should have put the information. You can try regedit (on NT) and
find the key:

\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Domain
which should contain the domain name. On other Windows it is supposed to
be:
        \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vxd\Mstcp\Domain

For this key to be present, the TCP/IP protocol stack must be correctly
configured. Find the icon "Network Neighbourhood", right click ->
"Properties" -> "Protocols" -> "TCP/IP" -> "Properties" -> "DNS" check
the box "Domain". Also check the level in parallel to "DNS" called "IP
Address" to be fixed address.

I hope this can put you on the track of the problem.

/ Raimo Niskanen, Ericsson UAB, Erlang/OTP


David Gould wrote:

>
> On Wed, Jan 10, 2001 at 09:04:00PM -0500, Vance Shipley wrote:
> > > Try inet_db:gethostname() and inet_db:res_option(domain) in a shell
> > > (this is what net_kernel uses to construct the host part of a long node
> > name).
> >
> > Eshell V5.0.1  (abort with ^G)
> >
> > (vances)1> inet_db:gethostname().
> > "desk"
>
> This means that the current host has the name "desk".
>
>
> > (vances)2> inet_db:res_option(domain).
> > []
>
> This means that the current host does not have a domain.
>
>
> > C:\> ping mail
> >  Pinging mail.motivity.ca [192.197.189.1] with 32 bytes of data:
>
> This means that "mail" is a host named mail in the domain "motivity.ca".
> ping can find it because your DNS or hosts file has an alias for
> mail to mail.motivity.ca, or that your resolver is configured to search
> domain "motivity.ca" when queried with just a host name.
>
> However host "mail" has nothing to do with host "desk".
>
> What host "mail" needs is to be configured to be part of some domain.
>
> -dg
>
> --
> David Gould                                                 dg
> SuSE, Inc.,  580 2cd St. #210,  Oakland, CA 94607          510.628.3380
> why would you want to own /dev/null? "ooo! ooo! look! i stole nothing!
> i'm the thief of nihilism! i'm the new god of zen monks."


Reply | Threaded
Open this post in threaded view
|

long names not working on Windows 2000

Vance Shipley-2
Raimo Niskanen wries:
> Since Windows 2000 is not explicitly handled by Erlang, it regards
> the OS to be NT or other Windows. You can try "os:type()" to see which.

Here it's:

        {win32,nt}

> Erlang reads the domain from the registry, where the TCP/IP protocol
> stack should have put the information. You can try regedit (on NT) and
> find the key:
>
>
\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Domai
n
> which should contain the domain name.

This was blank here.  There were a number of other places where it was
defined correctly.  I believe that with Windows 2000 it seperates things
more by "controllers" (i.e. LAN adaptors).

I manually edited with regedit and low and behold it now works.

Thanks,

        -Vance




Reply | Threaded
Open this post in threaded view
|

long names not working on Windows 2000

Daniel Néri-2
In reply to this post by David Gould
David Gould <dg> writes:

> On Wed, Jan 10, 2001 at 09:04:00PM -0500, Vance Shipley wrote:

> > (vances)2> inet_db:res_option(domain).
> > []
>
> This means that the current host does not have a domain.

It also means that net_kernel will be unable to create a valid long
node name, i.e. one whose host part is a fully qualified domain name.


Regards,
   --Daniel

--
Daniel Neri                                      mailto:dn
Sigicom AB, Sweden                              http://www.sigicom.com