Error: cannot handle extended pids and ports

Luke Gorrie luke@REDACTED
Fri Apr 1 20:51:36 CEST 2005


"Joel Reymont" <joelr1@REDACTED> writes:

> My archive search is still going (takes a few minutes for some reason)
> but I have stumbled twice now across this error:
> 
> =ERROR REPORT==== 1-Apr-2005::19:01:41 ===
> ** enode1@REDACTED: Connection attempt to node
> py_interface_test@REDACTED aborted since it cannot handle extended pids
> and ports. **
>
> Same error applies to Distel 3.3. 

Some feature-negotiation takes place during the distributed Erlang
handshake and R10B demands more support than previous versions.

The version of Distel in the Jungerl (sourceforge project 'jungerl')
should work. Exerpt from Distel changelog:

        * elisp/derl.el (derl-send-name): Lie to Erlang by saying that we
        support extended PIDs. This way we can establish distribution with
        R10B-0, which doesn't seem to actually send extended pids
        initially. (This is a lame workaround but I'm in a hurry and the
        extended-pid format is not documented.)

You could try this totally untested patch to py_interface to do the
same thing:

--- erl_opts.py.orig    2005-04-01 20:42:02.000000000 +0200
+++ erl_opts.py 2005-04-01 20:43:02.000000000 +0200
@@ -32,6 +32,7 @@
 DISTR_FLAG_DISTMONITORNAME = 32;
 DISTR_FLAG_HIDDENATOMCACHE = 64;
 DISTR_FLAG_NEWFUNTAGS = 128;
+DISTR_FLAG_EXTENDEDPIDSPORTS = 256;

 class ErlNodeOpts:
     def __init__(self,
@@ -39,7 +40,7 @@
                  shortNodeNames=1,
                  cookie="",
                  distrVersion=5,
-                 distrFlags=DISTR_FLAG_EXTENDEDREFERENCES
+                 distrFlags=DISTR_FLAG_EXTENDEDREFERENCES|DISTR_FLAG_EXTENDEDP\
IDSPORTS
                  ):
         self._netTickTime = netTickTime
         self._shortNodeNames = shortNodeNames




More information about the erlang-questions mailing list